scout_mini 实战部署与多传感器融合调试全攻略

张开发
2026/4/11 14:26:58 15 分钟阅读

分享文章

scout_mini 实战部署与多传感器融合调试全攻略
1. 从零搭建scout_mini开发环境第一次接触scout_mini移动底盘时我花了整整三天才把开发环境搭好。现在回想起来其实只要掌握几个关键步骤半小时就能搞定。下面把我踩过的坑和验证过的方案都分享给你。开发环境准备分为硬件和软件两部分。硬件方面需要准备一台安装Ubuntu 18.04/20.04的工控机推荐Intel NUC一个CAN-To-USB适配器我用的是Pcan-USB以及配套的电源和线材。软件方面主要是ROS系统和相关驱动。注意建议使用与ROS版本匹配的Ubuntu系统比如ROS Noetic对应Ubuntu 20.04这样能避免很多依赖问题。首先安装基础依赖sudo apt update sudo apt install -y libasio-dev ros-$ROS_DISTRO-teleop-twist-keyboard接下来创建工作空间并下载驱动包。我建议单独建两个工作空间一个放底盘驱动catkin_ws一个放传感器驱动sensor_ws。这样模块更清晰调试时也不容易冲突。下载的驱动包通常包含scout_mini的ROS驱动Velodyne雷达的驱动包阿路比IMU的openzen驱动编译时常见的问题是缺少依赖。有个小技巧先不着急安装提示的依赖尝试用rosdep install自动解决cd ~/catkin_ws rosdep install --from-paths src --ignore-src -r -y2. CAN总线配置与底盘通信CAN总线是scout_mini的核心通信方式但也是最容易出问题的环节。我第一次调试时就因为终端电阻没接好导致通信时断时续。2.1 内核模块加载首先确保系统识别到了CAN适配器。插入设备后执行lsusb | grep CAN如果看到类似PEAK System USB-CAN interface的输出说明硬件连接正常。加载gs_usb内核模块sudo modprobe gs_usb这个步骤很多人会漏掉导致后续命令报错。如果遇到cant find device错误八成就是这里的问题。2.2 初始化CAN接口首次使用时需要运行初始化脚本rosrun scout_bringup setup_can2usb.bash这个脚本会设置CAN接口的波特率为500kbps这是scout_mini的默认通信速率。之后每次上电只需要执行rosrun scout_bringup bringup_can2usb.bash测试CAN通信是否正常candump can0正常应该能看到持续输出的CAN帧数据。如果没数据检查底盘电源是否开启CAN线连接是否正确注意终端电阻波特率设置是否匹配3. 多传感器硬件集成3.1 阿路比IMU配置IMU的坑主要在于权限和端口冲突。首先给设备赋权sudo chmod 666 /dev/ttyUSB*这个命令要谨慎使用生产环境建议用udev规则固定设备号。启动IMU节点roslaunch openzen_sensor my_lpms_ig1.launch验证数据rostopic echo /imu/data重点关注orientation和angular_velocity字段。如果数据跳动很大可能是设备没放平附近有强磁场干扰没进行校准多数IMU需要先静止放置30秒自动校准3.2 Velodyne雷达网络配置雷达配置最麻烦的是网络设置。Velodyne默认使用192.168.1.0网段需要手动设置工控机的IP连接雷达网线进入Ubuntu网络设置选择有线连接→IPv4→手动设置IP192.168.1.77子网掩码255.255.255.0应用后重启网络服务启动雷达节点roslaunch velodyne_pointcloud VLP16_points.launch检查点云数据rostopic echo /velodyne_points常见问题排查如果没数据先用ifconfig确认网卡是否获取到IP尝试ping雷达IP默认192.168.1.201检查网线是否支持千兆Cat5e以上4. 系统联调与数据融合当所有硬件都单独调试通过后就可以进行系统联调了。这里分享几个实用技巧4.1 时间同步多传感器融合最关键的是时间同步。建议使用PTP协议同步所有设备sudo apt install ptpd sudo ptpd -M -i enp0s31f6 -C其中enp0s31f6是网卡名称用ifconfig查看你的实际网卡名。4.2 TF树配置正确的TF树是传感器融合的基础。检查各坐标系关系rosrun tf view_frames evince frames.pdf确保所有传感器到base_link的转换都正确发布。常见的坐标系有base_link机器人基坐标系imu_linkIMU坐标系velodyne雷达坐标系4.3 数据对齐验证用rviz可视化所有传感器数据rosrun rviz rviz添加PointCloud2显示雷达数据添加Imu显示姿态数据。移动机器人时观察雷达点云是否与周围环境匹配IMU姿态变化是否与机器人运动一致底盘odom数据是否连续5. 常见问题排查指南在实际项目中我遇到过各种稀奇古怪的问题。这里整理几个典型案例CAN通信不稳定现象candump数据时有时无 解决方法检查CAN线终端电阻120Ω降低波特率测试有些适配器不支持500kbps更换CAN线屏蔽线效果更好IMU数据漂移现象静止时姿态角持续缓慢变化 解决方法进行磁场校准具体方法参考IMU手册远离电脑、电源等干扰源在算法中增加滤波如Madgwick滤波器雷达点云缺失现象部分区域点云缺失 解决方法检查雷达安装角度避免盲区调整雷达强度阈值有些材质反射弱确认网络带宽足够千兆网卡六类线系统延迟大现象控制指令响应慢 解决方法使用top查看CPU占用关闭不必要的节点考虑使用RT内核Ubuntu RT版最后提醒一点每次修改配置后建议先小范围测试确认没问题再正式使用。我在一个户外项目中就因为没有充分测试导致现场调试花了整整一天时间。现在我的做法是出发前至少做三次完整的功能测试实验室一次、楼道一次、户外空地一次。虽然前期费点时间但能避免后期更大的麻烦。

更多文章