This is the C++ version of hansfree_ros_imu, a ROS driver package for the IMU sensor of Handsfree, which broadcasts the data sent by the IMU sensor through serial port via ROS topic. Due to the extremely low efficiency of the ROS driver package provided by the manufacturer hansfree_ros_imu, it has been optimized and modified to the C++ version, greatly reducing unnecessary CPU usage.
这是hansfree_ros_imu的C++版本,是handsfree的IMU传感器ROS驱动包,负责将IMU传感器通过串口发送的数据通过ROS Topic广播。由于厂家提供的ROS驱动包hansfree_ros_imu的运行效率极为低下,因此对其进行了优化并修改为了C++版本,极大幅度地降低了不必要的CPU占用率。
sudo apt-get update
sudo apt-get install ros-$(echo $ROS_DISTRO)-ros-base
sudo apt-get install ros-$(echo $ROS_DISTRO)-roscpp
sudo apt-get install ros-$(echo $ROS_DISTRO)-rospy
sudo apt-get install ros-$(echo $ROS_DISTRO)-std-msgs
sudo apt-get install ros-$(echo $ROS_DISTRO)-serial
- 创建catkin工作空间
cd ~/
mkdir handsfree_ros_workspace
cd handsfree_ros_workspace
mkdir src
cd src
git clone https://gitee.com/kanhao100/handsfree_ros_imu_cpp.git
cd ..
- 编译和配置环境变量
catkin_make
source ./devel/setup.sh
- 只运行单节点
roslaunch handsfree_ros_imu_cpp handsfree_imu.launch imu_type:=b6
或者
rosrun handsfree_ros_imu_cpp hfi_b6
单节点驱动启动后,可以通过如下命令简单查看和验证:
rostopic list
rostopic hz /imu
rostopic echo /imu
- 只运行RVIZ可视化
roslaunch handsfree_ros_imu_cpp view_rviz.launch imu_type:=b6
- 同时运行驱动和RVIZ可视化
roslaunch handsfree_ros_imu_cpp rviz_and_imu.launch imu_type:=b6
- 添加A9传感器的支持,但我手上并没有相关传感器,欢迎Pull Request!