赞
踩
环境配置包括IMU的启动环境以及标定工具包的工作环境。
IMU启动环境。该IMU是激光雷达Livox_avia内置,型号为BMI088,启动环境与激光雷达一同配置的,启动时与激光雷达一同启动,打开rviz,点击add添加IMU话题信息就能够看到一个晃动的箭头,表明IMU在运转。Livox_avia启动环境配置见官网教程:livox驱动安装及启动教程。
标定工具包下载安装。
先安装依赖项
<code class="language-plaintext hljs">sudo apt-get install libdw-dev</code>
以及ceres,安装过程见官网教程:ceres安装,建议下载这个:
安装工具包,先下载安装code_utils:
找个位置先建一个工作文件夹,比如命名为imu_calib,
<code class="language-plaintext hljs">cd ~/imu_calib/src
git clone https://github.com/gaowenliang/code_utils
cd imu_calib
catkin_make</code>
不出意外会报错,找到第一个报错的地方,看看哪里报错,大部分是因为版本更新而导致的问题,如果有提示怎么纠正的就按照提示来,没提示的就把错误复制到网上搜一下,由于当时没把错误截图,可以参考该回答利用 imu_utils 标定 imu_imu_utils标定_匍匐的狗仔的博客-CSDN博客,下面安装 imu_utils报错也是一样
<code class="language-plaintext hljs">cd ~/imu_calib/src
git clone https://github.com/gaowenliang/imu_utils
cd imu_calib
catkin_make</code>
启动IMU,根据自己设备而定。livox_avia自带imu启动和雷达启动是一样的。
启动ros,新开终端,输入:
<code class="language-plaintext hljs">source devel/setup.bash
roslaunch livox_ros_driver livox_lidar_rviz.launch</code>
看到rviz打开,激光雷达扫描在运行,说明成功启动,点击add,添加imu信息后会出现箭头:
如果没有则需要自行配置imu话题信息,查看自己运行的imu话题信息方式如下:
<code class="language-plaintext hljs">rostopic list</code>
录制数据包,这里注意不要照抄,imu_calib_data文件夹需要自己创建,包的名字也要自己设置,后面的话题根据自己imu话题修改,录制两个小时,ctrl+c结束:
<code class="language-plaintext hljs">rosbag record -o imu_calib_data/imu_data.bag your_imu_topic</code>
检查播放录制的包
<code class="language-plaintext hljs">rosbag play -r 100 imu_calib_data/imu_data.bag</code>
1.编写launch文件,在 imu_utils 下的 launch 文件夹中创建 imu_test.launch,其实复制一个launch改个名字,把里面需要填的数据填一下即可,不用自己动手一个个输入:
<code class="language-plaintext hljs"><launch>
<node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
<param name="imu_topic" type="string" value= "/mobile_base/sensors/imu_data"/>//这里的value是你的imu的topic
<param name="imu_name" type="string" value= "wheeltec"/>//这里的value是你的imu名字自定义
<param name="data_save_path" type="string" value= "$(find imu_utils)/"/>//数据保存的包的地址
<param name="max_time_min" type="int" value= "120"/>//这里的value值是你录制的imu的数据包的时间长度,这个value值一定要小于你录制的imu数据包
<param name="max_cluster" type="int" value= "100"/>
</node>
</launch></code>
2.运行 imu_test.launch 文件
<code class="language-plaintext hljs">cd ~/imu_utils_ws
source devel/setup.sh
roslaunch imu_utils imu_test.launch</code>
3.播放录制的包
<code class="language-plaintext hljs">rosbag play -r 100 imu_calib_data/imu_data.bag</code>
现在程序开始标定了,结束后到保存的位置,找到相对应自己imu名字的yaml文件,标定数据在里面,如下:
由于当时标定忘记截图,所以有些地方只有文字说明,主要是为了加强自己记忆,当作笔记方便日后继续操作,如果能帮助到你那就更好了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。