robot_pose_ekf 使用说明
2016-05-14 12:02
761 查看
协方差参数的设置
主要确定mpu6050和odom编码器协方差参数的设置参考:turtlebot_node协方差的设置
mpu605参数的设置
参考:https://github.com/Arkapravo/turtlebot/blob/master/turtlebot_node/src/turtlebot_node/gyro.pyself.imu_data.orientation_covariance = [1e6, 0, 0, 0, 1e6, 0, 0, 0, 1e-6] self.imu_data.angular_velocity_covariance = [1e6, 0, 0, 0, 1e6, 0, 0, 0, 1e-6] self.imu_data.linear_acceleration_covariance = [-1,0,0,0,0,0,0,0,0]
odom参数的设置
参考:https://github.com/Arkapravo/turtlebot/blob/master/turtlebot_node/src/turtlebot_node/covariances.py
https://github.com/Arkapravo/turtlebot/blob/master/turtlebot_node/nodes/turtlebot_node.py
有两组协方差,在底盘运动时,取第一组数据;在底盘静止时,取第二组数据。
ODOM_POSE_COVARIANCE = [1e-3, 0, 0, 0, 0, 0, 0, 1e-3, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e3] ODOM_POSE_COVARIANCE2 = [1e-9, 0, 0, 0, 0, 0, 0, 1e-3, 1e-9, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e-9] ODOM_TWIST_COVARIANCE = [1e-3, 0, 0, 0, 0, 0, 0, 1e-3, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e3] ODOM_TWIST_COVARIANCE2 = [1e-9, 0, 0, 0, 0, 0, 0, 1e-3, 1e-9, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e6, 0, 0, 0, 0, 0, 0, 1e-9]
if sensor_state.requested_right_velocity == 0 and \ sensor_state.requested_left_velocity == 0 and \ sensor_state.distance == 0: odom.pose.covariance = ODOM_POSE_COVARIANCE2 odom.twist.covariance = ODOM_TWIST_COVARIANCE2 else: odom.pose.covariance = ODOM_POSE_COVARIANCE odom.twist.covariance = ODOM_TWIST_COVARIANCE
配置robot_pose_ekf
robot_pose_ekf.launch内容如下<launch> <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf"> <param name="output_frame" value="odom_combined"/> <param name="base_footprint_frame" value="base_footprint"/> <param name="freq" value="30.0"/> <param name="sensor_timeout" value="1.0"/> <param name="odom_used" value="true"/> <param name="imu_used" value="true"/> <param name="vo_used" value="false"/> <remap from="imu_data" to="imu" /> </node> </launch>
默认监听topic:
imu_data、
odom和
vo
发布
robot_pose_ekf/odom_combined和坐标系转换
运行
roslaunch mpu6050_serial_to_imu demo.launch roslaunch dashgo_bringup robot_pose_ekf.launch rostopic echo /robot_pose_ekf/odom_combined
问题
imu不生效https://chidambaramsethu.wordpress.com/2013/07/15/a-beginners-guide-to-the-the-ros-robot_pose_ekf-package/
robot_localization
另外一个: http://wiki.ros.org/robot_localizationROSCon 2015 Hamburg: Day 2 - Tom Moore: Working with the robot localization Package
相关文章推荐
- 匹配注释的正则表达式
- Linux makefile 教程
- Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
- PHP之:PHP编程效率的20个要点
- Mysql存储过程优化——使用临时表代替游标
- select option ng-repeat多空白项
- Spark入门实战系列--7.Spark Streaming(下)--实时流计算Spark Streaming实战
- 【LeetCode】330. Patching Array
- 有感
- iOS开发——静态库的导入和头文件路径的设置
- Android开发艺术探索 第十章 学习
- CS231n笔记3--Gradient Descent与Backward Propagation
- <<web>>3d 相册
- Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
- [leetcode] 65. Valid Number 解题报告
- 百度浏览器使用率统计
- Compose YAML 模板文件
- 删去小于阈值的连通区域
- Spark入门实战系列--6.SparkSQL(下)--Spark实战应用