目的:通过FPGA发送脉冲触发IMU采集数据。FPGA发送脉冲时,IMU才有数据产生。
FPGA与IMU的硬件接线就不讲了,这里主要说明的是IMU的设置以及ROS驱动的config文件更改。
1. WIN上位机设置
通过IMU在WINDOWS的上位机SensorConnect对IMU的GPIO、波特率等基本功能进行设值,具体设置如图所示。
1.1 Devices->Configure
主要设置如图:
1.2 Devices->Sampling
只在图中GPS Tamestamp前打勾
1.3 在Data中观察设置设否正确
启动硬件触发后,观察以下内容。
- Event1 后面有绿色的圆点,对应的数据后面也有
- 3DM-CV7-AHRS 152552下面的数据是没有绿色的圆点
- 启动触发脉冲,Event1 才会产生数据
达到视频中的效果就OK了,至此在WIN下的设置完成。
2. ROS下的驱动配置
Ros驱动研究了很久才最终实现想要的效果。说简单也很简单,说难也很难。
简单是因为找对合适版本的驱动并简单配置yml文件就能实现最终的效果,难是因为你不知道哪个是合适的版本。幸好我踩过坑了,不论是ROS1还是ROS2 2.7.1版本才能达到WIN一样的效果。(FPGA发送脉冲时,IMU才有数据产生)
直接放yml Config文件
microstrain_inertial_driver:
ros__parameters:
baudrate: 921600
port: /dev/ttyUSB0
filter_declination_source: 1
use_enu_frame: True
device_setup : False
save_settings : False
use_ros_time : True
# (GQ7/CV7 only) Aiding measurem