robot_localization Package 参考
参考资料如下
1.see more by click thisROS wiki
2 简书-数据融合定位-机器人定位
3 代码库
5 sensor in tegration tutorial
6 ROS 101: INtrosuction to the Robot Operating System
7 ROS 入门
9 paper
所有状态估计的相似特性:
不限制传感器的数量,可以进行任意数量传感器的数据融合,比如多个IMU和里程计
单个传感器输入定制。可以单独对某个传感器的数据处理
持续估计,即使传感器一个周期内没有数据。
支持的消息类型以及状态估计节点
- nav_msgs/Odometry
- geometry_msgs/PoseWithCovarianceStamped
- geometry_msgs/TwistWithCovarianceStamped
- sensor_msgs/Imu
两种典型的应用场景:
- 时间连续的融合自传感器的数据(odometry and IMU sensor) 来产生局部精确的状态估计
- 时间连续的融合自全局的姿态估计(ex. SLAM)来提供完整准确的全局状态估计
robot_localization安装(Ubuntu 16.04)
1 ubuntu软件源安装
sudo apt-get install ros-kinetic-robot-localization
2 git 安装
source /opt/ros/indigo/setup.bash
cd catkin_ws/src
git clone https://github.com/cra-ros-pkg/robot_localization --branch kinetic-devel
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release
source catkin_ws/devel/setup.bash
状态估计节点
robot_localization 本身是就是一个状态估计节点集合, 每个节点都能实现机器人在3D场景中的运动状态估计。其节点可以分为两类:ekf_localization_node and ukf_localization_node. 此外, robot_localization 还提供 navsat_transform_node, 能够实现系统与GPS信息的融合。
1 ekf_localization_node
2 ukf_localization_node
3 robot_localization
4 参数
参考实例:sample ekf_template.launch和 ukf_template.launch文件