robot_pose_ekf包是用来估计机器人的3D位姿。它使用EKF和机器人的6维度模型,结合轮式里程计,IMU,
视觉里程计等。其基本思想是提供不同传感器之间的松耦合。
**如何使用robot_pose_ekf**
配置:
在robot_pose_ekf下有一个launch文件,此文件中包含了一些可配置的参数:
freq :滤波器的更新发布频率
sensor_timeout :当传感器停止向滤波器发送消息,滤波器会等多长时间
odom_used, imu_used, vo_used :是否启用这些输入
**运行**
Build:
$ rosdep install robot_pose_ekf
$ roscd robot_pose_ekf
$ rosmake
Run:
$ roslaunch robot_pose_ekf.launch
**节点**
robot_pose_ekf
**注册的topic**
odom(nav_msgs/Odometry) #2D位姿,实际上是3D位姿,只是忽略了z位置和roll,pitch
imu_data(sensor_msgs/Imu) #3D姿态
vo(nav_msgs/Odometry) #3D位姿
注意,robot_pose_ekf并不需要3种传感器同时具备,每种传感器信息都能够估计出机器人的位姿和对应
的协方差。同时,你也可以加入自己的传感器,例如GPS等
**发布的topic**
robot_pose_ekf/odom_combined(geometry_msgs/PoseWithCovarianceStamped) #滤波器输出
**提供的tf变换**
obom_combined -> base_footprint
- 前言
- 第一章 ROS简介
- 机器人时代的到来
- ROS发展历程
- 什么是ROS
- 安装ROS
- 安装ROS-Academy-for-Beginners教学包
- 二进制与源码包
- 安装RoboWare Studio
- 单元测试一
- 第二章 ROS文件系统
- Catkin编译系统
- Catkin工作空间
- Package软件包
- CMakeLists.txt
- package.xml
- Metapacakge软件元包
- 其他常见文件类型
- 单元测试二
- 第三章 ROS通信架构(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常见msg类型
- 单元测试三
- 第四章 ROS通信架构(二)
- Service
- Srv
- Parameter server
- Action
- 常见srv类型
- 常见action类型
- 单元测试四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 单元测试五
- 第六章 roscpp
- Client Library与roscpp
- 节点初始、关闭与NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 时钟
- 日志与异常
- 第七章 rospy
- Rospy与主要接口
- Topic in rospy
- Service in rospy
- Param与Time
- 第八章 TF与URDF
- 认识TF
- TF消息
- tf in c++
- tf in python
- 统一机器人描述格式
- 附录:TF数学基础
- 三维空间刚体运动---旋转矩阵
- 三维空间刚体运动---欧拉角
- 三维空间刚体运动---四元数
- 第九章 SLAM
- 地图
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附录:Navigation工具包说明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery