littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于ROS和ChibiOS的移动机器人实时控制系统

项目简介

本项目实现了一个用于移动机器人的实时控制系统。该系统由两部分构成,一是基于ChibiOS/RT的底层控制固件,运行于STM32 Nucleo144 - F767ZI开发板;二是基于ROS Melodic的高层控制软件,可在Raspberry PI和桌面电脑上运行,主要运用move_base和不同的SLAM包(如slam_kartogmappinghector_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

主要功能

  1. 底层控制:利用ChibiOS/RT实现低级别的电机控制和传感器数据处理。
  2. 高层控制:借助ROS实现路径规划、SLAM(同步定位与地图构建)和机器人导航。
  3. 仿真支持:支持在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_MASTERROS_IP环境变量。

5. 运行SLAM或定位

在RPI上运行real_slam.launchreal_localization.launch启动SLAM或定位,在桌面电脑上运行rviz.launch以监控机器人位置并设置目标。

6. 仿真环境中的使用

在Gazebo仿真环境中运行gz_server.launchgz_slam.launchgz_localization.launch以启动机器人并进行SLAM或定位。

7. 故障排除

其他资源

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】