项目简介
本项目实现了一个用于移动机器人的实时控制系统。该系统由两部分构成,一是基于ChibiOS/RT的底层控制固件,运行于STM32 Nucleo144 - F767ZI开发板;二是基于ROS Melodic的高层控制软件,可在Raspberry PI和桌面电脑上运行,主要运用move_base
和不同的SLAM包(如slam_karto
、gmapping
和hector_mapping
)。
项目的主要特性和功能
硬件要求
- Raspberry PI 2B (RPI)
- STM32 Nucleo144 - F767ZI
- 带编码器的电机GM25 - 370
- YDLIDAR X4激光雷达
软件要求
- Ubuntu 18.04 并安装了ROS Melodic
- Raspberry PI 使用Ubuntu Mate 18.04
- Python 2.7
主要功能
- 底层控制:利用ChibiOS/RT实现低级别的电机控制和传感器数据处理。
- 高层控制:借助ROS实现路径规划、SLAM(同步定位与地图构建)和机器人导航。
- 仿真支持:支持在Gazebo仿真环境中运行机器人,并开展SLAM和定位测试。
安装使用步骤
1. 环境准备
在桌面电脑上安装Ubuntu 18.04和ROS Melodic,在Raspberry PI上安装Ubuntu Mate 18.04。
2. 安装和构建
使用提供的build_image.sh
脚本构建Docker镜像,或手动按照Dockerfile中的说明进行安装和构建。
3. 初始化硬件
运行init_stm32_and_ydlidar.sh
脚本创建STM32和YDLIDAR的符号链接。
4. 设置ROS环境变量
在RPI和PC上设置ROS_MASTER
和ROS_IP
环境变量。
5. 运行SLAM或定位
在RPI上运行real_slam.launch
或real_localization.launch
启动SLAM或定位,在桌面电脑上运行rviz.launch
以监控机器人位置并设置目标。
6. 仿真环境中的使用
在Gazebo仿真环境中运行gz_server.launch
和gz_slam.launch
或gz_localization.launch
以启动机器人并进行SLAM或定位。
7. 故障排除
其他资源
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】