5.6.3 小车建图导航
点击观看 进迭时空官方视频
案例简介
该 Demo 展示了进迭时空 K1 芯片驱动小车进行建图和导航的应用案例,涵盖了建图、导航和避障等核心功能。
支持平台
- 平台:基于进迭时空 K1 芯片的开发板均可(Muse Book、Muse Pi、Muse Pi Pro、BPi等)。
- 操作系统:推荐使用 Bianbu OS 2.0 以上版本。
- ROS 系统:ROS2 Humble。
模块清单
为了实现上述功能,系统需要以下各模块的协同工作:
-
激光雷达模块 该模块负责 扫描并获取周围环境的激光数据,为建图模块和导航模块提供实时的环境信息,帮助系统进行准确的定位和地图构建。
-
底盘模块(轮趣科技 ROS 教育小车) 底盘模块发布机器人底盘的实时状态信息,供建图和导航模块使用。同时,接收来自控制模块的运动指令,将其转化为各电机的控制命令,确保机器人按预定轨迹移动。
-
建图模块 建图模块结合激光雷达数据和底盘信息,实时构建并更新机器人所处环境的地图。通过持续积累和优化数据,帮助系统获得更加精确的环境模型。
-
导航模块 导航模块基于已构建的地图以及激光雷达和底盘数据,计算出从当前位置到目标位置的最优路径。它负责路径规划,确保机器人能够顺利导航到指定位置。
-
障碍检测模块 该模块利用激光雷达实时监测周围环境,检测并识别潜在的障碍物。通过障碍物信息的反馈,帮助系统实现避障功能,保证机器人在复杂环境中的安全运行。
-
控制模块(Muse Pi 开发板) 控制模块接收导航模块规划的路径信息,并根据这些指令控制机器人进行精准的运动。它负责将高层指令转化为实际的控制信号,调度底盘模块驱动各个电机实现机器人的运动。
环境搭建
参考 5.1.2节 在 Muse Pi 开发板上搭建 ROS2 环境。
编译驱动和 ROS 包
配置 CH343(CP9102) 驱动
雷达等传感器可通过 USB 转串口设备连接到 Muse Pi 开发板,实现传感器与开发板之间的数据收发。
- 下载源码
git clone https://github.com/WCHSoftGroup/ch343ser_linux.git
- 编译并安装
cd ch343ser_linux/driver
sudo make install
编译雷达驱动
-
下载驱动源码:YDLidar-SDK.tar.gz
-
解压
mkdir -p ~/ros2_humble_space
tar -zxvf YDLidar-SDK.tar.gz -C ~/ros2_humble_space
- 编译
cd ~/ros2_humble_space/YDLidar-SDK
mkdir build && cd build
cmake ..
cmake --build .
cmake --install .
编译建图导航相关包
- 下载 ROS 包源码
首先,下载相关的源码包 k1_origin_src.tar.gz。
- 解压源码
解压下载的源码包,并将其存放在指定的工作空间中:
mkdir -p ~/ros2_humble_space/k1_origin_ws
tar -zxvf k1_origin_src.tar.gz -C ~/ros2_humble_space/k1_origin_ws
编译 serial_ros2 包
serial_ros2 包是一 个用于串口通信的 ROS2 驱动包,主要用于与通过串口连接的外部硬件设备(如传感器、执行器、控制板等)进行数据交换。
进入 serial_ros2 目录,执行编译命令:
cd ~/ros2_humble_space/k1_origin_ws/src/originbot_driver/serial_ros2
make && sudo make install
make clean
编译 qpOASES 包
qpOASES 包是一个用于求解二次规划问题(Quadratic Programming, QP)的库。
首先创建 build 目录,然后执行编译:
cd ~/ros2_humble_space/k1_origin_ws/src/originbot_driver/qpOASES
mkdir build && cd build
cmake ..
make && sudo make install
cd .. && rm -r build/
编译所有包
最后,编译整个工作空间的所有包。首先激活 ROS 环境:
source ~/ros2_humble_space/ros2_humble/setup.zsh
source ~/ros2_humble_space/ros2_humble_extra/local_setup.zsh
然后执行 colcon 命令,编译工作空间中的所有包:
cd ~/ros2_humble_space/k1_origin_ws/
colcon build

