自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 卡尔曼滤波算法实例剖析--机器人足球赛场中的定位算法

卡尔曼滤波(Kalman filtering)最早在阿波罗飞船的导航电脑中使用,它对阿波罗计划的轨道预测很有用。 卡尔曼滤波是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用。 ...

2015-09-22 20:43:01 7190 6

原创 ROS 学习系列 -- 使用Rviz观察智能车的运动轨迹 无陀螺仪计算角度转动

视频录像 根据两边轮子转动的速率不同,推算出转动的角度。包括原地旋转。 计算的原理和代码可以查看文章 ROS 教程之 navigation : 用 move_base 控制自己的机器人(2)

2015-04-07 16:13:50 5068 0

原创 手势控制四轮智能车移动

视频请看这里 1. 输入设备 这里使用的是Andriod手机,根据加速计的来推测手势:停止,前进,后退,左右转向 2. 手机与智能车通讯 智能车上的树莓派运行一个tornado web service, 当检测到一个动作后通过http访问url即可。该web service可以驱动轮子转动

2015-04-07 14:09:39 2757 3

原创 使用补偿算法对陀螺仪和电子罗盘进行数据融合,计算方位角

电子罗盘如  HMC5883L或者 MPU9250的AK8963测方位角时,经常会发现测量角度抖动很厉害。即使不动,角度也在不停的小范围内变化。这时候就需要使用陀螺仪对方位角进行补偿融合,得出稳定的数据。本文只讨论2D空间的方位角,就是电子罗盘X, Y两轴数据融合陀螺仪Z轴数据。 1. 电子...

2015-03-29 21:57:51 5638 1

原创 ROS 学习系列 -- 使用Rviz 可视化调试9轴机器人姿态融合

机器人平面行走时只需要知道行进方向角度即可,也就是yaw. 但当行走在有坡度的地方时则需要识别出其它两个倾角:pitch 和 raw. 借助9轴传感器的姿态融合就可以识别。下面就是在Rviz中的识别效果测试(IE可能无法观看): 1. 九轴姿态融合,欧拉角和四元数 机器人三维空间的姿态的...

2015-03-19 20:06:50 10525 4

原创 ROS 学习系列-- 四轮机器人线性速率、角速度和电机PWM线性关系的定量分析

ROS中的机器人导航需要底层轮子驱动十分精确的对行进的速率和角速度进行控制。本文根据大量的实验数据进行图形化分析,找出线性速率、角速度和电机PWM线性关系,并得出计算公式。 1. ROS导航机器人驱动功能分析 ROS的navigation包内容十分丰富,并封装完整。开发机器人其实就是开发轮子驱...

2015-03-15 18:32:14 13484 6

原创 ROS 学习系列 -- RViz中移动机器人来学习 URDF,TF,base_link, map,odom和odom 主题的关系

前面已经介绍了如何使用URDF建造机器人小车并显示在Rviz的仿真环境里面,但是小车是静止的。下面介绍如何让它在Rviz里面动起来,并理清URDF,TF 和 odom 主题的关系。 1. ROS中base_link, odom, fixed_frame, target_frame和虚拟大地图ma...

2015-01-31 21:56:10 26503 6

原创 ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之二 joint 使用

在ROS 的 机器人仿真环境下建立四轮小车进行导航模拟。RViz是一个三维的仿真环境,可以避障,导航,控制。

2015-01-21 20:21:39 11150 2

原创 ROS 学习系列 -- 使用urdf创建机器人模型在Rviz中3D观察 之一 link使用

使用ROS强大的机器人功能,建立ROS可以识别的机器人模型是第一步,也是无法绕过去的环节。Unified Robot Description Format (URDF) 就是描述机器人硬件尺寸布局的模型语言。它是同ROS沟通的渠道,有了机器人的物理尺寸,ROS就可以有效的进行Navagation和...

2015-01-18 20:35:57 20102 2

原创 ROS 学习系列 -- RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)

ROS提供了非常强大的图形化模拟环境 RViz,这个 RViz 能做的事情非常多。今天我们学习一下如何使用 RViz 对机器人在路径探索过程中对地图动态观测。 一 基本概念 ROS 对机器人导航提供了非常强大的支持,这可以让我们在不了解细节和海量复杂无比的科学计算的情况下就可以对机器人的导航,定位...

2015-01-11 11:48:27 16084 2

原创 ROS中单独开辟线程接受message

ros::AsyncSpinner 已经可以开辟许多线程来接收message,但是有时候我们需要指定某个线程来单独对摸个topic的message进行接收处理。#include <ros/ros.h> #include "ros/callback_queue....

2018-04-13 16:44:27 1404 0

原创 gdb调试ros node崩溃地址

编译Debug版本catkin_make -DCMAKE_BUILD_TYPE=Debuggdb启动ros noderosrun --prefix 'gdb -ex run --args' package node [Thread debugging using lib...

2018-03-22 18:20:46 2201 0

原创 Caffe SGD solver代码阅读分析

代码文件:sgd_solver.cppsgd更新公式推导:这里以 L2 的regularization为例W( t+ 1) = W ( t )  − lr ∗ wd ∗ W ( t )   − lr ∗ delta(W)  −  momentum ∗( W ( t-1 ) - W (...

2018-02-13 18:22:15 544 0

原创 IntelliJ IDEA License Server本地搭建教程

使用PyCharm总是需要注册,网上所有的注册都被封了。只能自己创建注册服务器。1. 下载 https://mega.nz/#!f4A2WQRB!fMNbcuSt0YxrjXclW81_GZol-g6dURrO1htqXPMYa8Q打开压缩包,选择对应操作系统,我选择的是Linux AMD64版本...

2018-01-21 21:26:33 2228 0

原创 安卓编译caffe错误 ‘undefined reference to `stderr'’

NDK:android-ndk-r15c caffe:https://github.com/sh1r0 编译错误: [ 76%] Building CXX object src/caffe/CMakeFiles/caffe.dir/util/insert_splits.cpp.o [ 77%...

2018-01-11 15:42:27 4864 0

原创 Velodyne tracking相关代码

yolo v2 之车牌检测

2018-01-07 22:03:14 831 0

原创 YOLO2从darknet到caffe转换的开源项目

gklz1982/caffe-yolov2 这个好像有完整的实现,包括reorg层的实现,提供了把darknet模型转换成caffe模型的脚本hustzxd/z1 这个也有完整的实现,并且提供了工具转换marvis/pytorch-caffe-darknet-convert 这个看起来很牛,三个平...

2018-01-05 21:06:04 6212 1

原创 使用PCA 计算点云平面法向量,并旋转至二维XoY坐标系

PCA对点云平面处理后,返回三个特征向量,分别是平面自身坐标系的X轴,Y轴和Z轴在点云全局坐标系中的向量。其中Z轴信息最少,就是平面的法向量。要想把点云从全局坐标系下转化到XoY的二维平面,只需把点按照旋转矩阵R变换后,PCA返回的三个向量就组成了3X3的旋转矩阵R。 换句话说,PCA对平面点...

2017-12-24 19:33:33 3905 0

原创 ROS 学习系列 -- 程序发送点云PointCloud2到Rviz显示

方法1  直接加载PCD文件: #include // PCL specific includes #include #include #include #include // Create a ROS publisher for the output point cloud pub ...

2016-03-11 09:48:53 13175 2

原创 ROS 学习系列 -- 动态程序控制Rviz眼睛位置和目的焦点

在ROS开发中,我们经常需要使用Rviz去观察机器人运行的状态,但是手工控制往往观察位置和焦点是不够灵活的,我们需要程序自动控制改变Rviz的行为。这个的具体实现插件就是 rviz_animated_view_controller 首先安装: sudo apt-get install ros-...

2016-01-10 20:29:36 2081 0

原创 C 角度计算经验代码集合

double angle_diff(double a, double b) { double d1, d2; d1 = a-b; d2 = 2*PI - fabs(d1); if(d1 > 0) d2 *= -1.0; if(fabs(d1) < fabs(d2)) ...

2015-12-27 21:39:00 1291 0

原创 ROS 学习系列 -- image_transport 发布jpg图片文件流在image_view中看视频效果

目标:        目录/home/camera 中保存了2000张照相机连续拍照的JPG文件,名字按数字排序 1.jpg  2.jpg  3.jpg  ......... 现在需要在ROS中建立一个node按频率发布所有照片,并可以在image_view中看视频效果。        详细见...

2015-12-16 11:37:02 12261 0

原创 ROS 学习系列 -- 执行turtlebot navigation的方法

我们讲一下如何使用现有的turtlebot launch文件来启动navigation,并在PC上使用rviz指挥。 1. 网络环境布置 turtlebot单片机我们使用的是firefly,rviz运行在PC上,它们使用wifi通讯。master ros运行在firefly上,PC需要指向fi...

2015-11-19 10:19:36 9712 2

原创 ROS 主动蒙特卡罗粒子滤波定位算法 AMCL 解析-- map与odom坐标转换的方法

ROS AMCL 算法根据订阅到的地图数据配合激光扫描特征,使用粒子滤波获取最佳定位点,该点称为Mp (point on map), 它是相对于地图map上的坐标,也就是base_link相对map上的坐标。 odom 的原点是机器人启动时刻的位置,它在map上的位置或转换矩阵是未知的。但是...

2015-10-16 09:37:05 22708 9

原创 ROS代码经验系列-- tf进行位置查询变换

include文件: // For transform support #include "tf/transform_broadcaster.h" #include "tf/transform_listener.h" #include "tf/me...

2015-10-14 14:13:14 14526 2

原创 Grass Gis 峡谷堰塞湖预测模型r.lake剖析--湖心灌水洪泛算法

Grass Gis 是20世纪80年代初,美国军方建筑工程研究实验室(USA/CERL)的Bill Gorgan负责遴选一款具有土地管理、环境规划、环境评估的GIS软件。它有400多个地质分析模块,今天我们剖析一下r.lake算法。 1. 堰塞湖预测建模r.lake能做什么 如下图1左为一张...

2015-08-27 23:49:56 1911 0

原创 ROS 学习系列 -- Roomba, Xtion Pro机器人制作地图在Android手机无法实时观测地图

turtlebot 配合Android应用 Make a Map可以允许用户通过手机操纵机器人扫描室内地图并在手机上显示出来,效果图如下: ROS机器人与安卓设备的通讯协作是通过rocon实现的,细节这里不作描述。本文适合已经对该技术非常熟悉的人阅读。1. 问题描述下载安卓rocon rem...

2015-07-30 21:23:59 5238 0

原创 ROS 学习系列 -- Roomba, Xtion Pro live 实现360度全景照片panorama 无法启动的解决方案

turtlebot 有个实现iPhone360全景照相功能的应用 panorama.  官方使用Create底座和Kinnect,  在使用Roomba底座和Xtion Pro Live配套时发现,按照教程的方式启动不了。 1.  启动 roslaunch turtlebot_bringup...

2015-07-24 23:16:20 2481 0

原创 ROS 学习系列 -- iRobot 第二代机座 Roomba 作为Turtlebot使用时无法开关机

iRobot 推出了第二代机座 Roomba来取代Create.  这是一个绿脸的机座。 如果使用在turtlebot上,几乎是完全兼容的,不用该什么代码,但是波特率提高了一倍,所以需要更改环境变量。但是在停止所以turtlebot的进程后,发现Roomba不再有任何反应,灯灭了,按任何按钮都...

2015-07-05 17:30:06 2605 4

原创 ROS学习 —— qt_gui_main() found no plugin matching ‘xxx' 解决方法

在使用 rocon_app_manager 控制 ROS进程时,打开某个QT的控制程序,出现以下错误: qt_gui_main() found no plugin matching "rocon_qt_teleop" rocon_qt_teleop  已经安装完成,问题出...

2015-06-28 23:52:19 2708 1

原创 ROS 学习系列 -- rocon_app_manager 中 'unegister service [/Cybernetic Pirate/XXX]' 错误处理方法

1. 错误描述 今天在PC和开发板上下载了 rocon_app_manager_tutorials,并尝试在安卓系统上遥控远程ROS进程,执行下面命令启动 rocon app 和 interaction集合: roslaunch rocon_app_manager_tutorials pairi...

2015-06-28 22:14:52 2272 0

转载 ROS学习 ——使用rosinstall下载源文件

ROS的stack库分作两部分,一部分为核心部分,即main部分,简而言之就是使用下面命令,安装ROS系统时就已经安装到我们用户电脑上的那部分。 $ sudo apt-get install ros-diamondback-desktop-full 另一部分为选用部分,即universe部分,...

2015-06-14 11:06:39 8047 1

原创 HMC5883L 电子指南针用树莓派进行磁场干扰过滤 校准

本文适合所有的电子指南针校准,不仅限于 HMC5883L.  硬件的连接和树莓派的搭建以后再写。 本文仅限于固定强度和方向磁场干扰的过滤,例如机器人自身其它设备产生的磁场。但对于环境如扩音器喇叭等磁场干扰无效 磁场干扰类型

2015-03-07 22:55:31 4942 2

原创 HMC5883L 电子罗盘芯片中 Declination 的作用和取值方法

网上有好多文章介绍如何从HMC5883L电子罗盘中获取旋转的角度。但是其中有个重要的参数Declination并没有太多介绍,而且该参数是必要的。 本文结合美国国家地理的彩图介绍了Declination

2015-02-03 22:56:26 3834 0

原创 ROS 学习系列 -- 树莓派编译安装完整版本ROS

介绍如果在树莓派中安装完整的ROS

2015-02-02 20:01:30 27666 24

原创 树莓派控制SG90舵机

9G舵机接线与驱动" title="辉盛SG90 9G舵机接线与驱动" height="293" width="569" align="middle"> SG90一共三根线,红线接5V电源,棕线GN...

2015-01-12 21:32:31 27292 3

原创 树莓派搭建 ROS 系统下四论驱动车,并用 IPad, 手机控制

使用树莓派在安装了ROS后,按照ROS的架构可以开发一个简单的四轮驱动Wifi小车:如图。 配件说明 双向电机马达 X4树莓派B+ X1双路转向控制芯片 X1万向轮 X4五号电池盒 充电宝 各一个面包板一个底盘支架1套 重点说明          这里需要4节电池对马达进行直接供电,马达...

2015-01-06 20:45:58 16311 4

提示
确定要删除当前文章?
取消 删除