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

【源码】基于ROS的HyphaROS MiniCar自动驾驶系统

项目简介

HyphaROS MiniCar自动驾驶系统是一款低成本、高性能的1/20比例赛车,专为控制算法评估设计。项目完全开源,硬件和软件成本低于300美元,支持纯追踪(Pure - Pursuit)和非线性模型预测控制(MPC),集成了多种SLAM算法和动态障碍物避让功能。

项目的主要特性和功能

  • 非线性模型预测控制(MPC):基于非线性自行车模型,通过Ipopt求解器实现。
  • 纯追踪控制器:用于路径跟踪。
  • 车载地图构建:支持Gmapping、Hector - SLAM、Karto - SLAM和MRPT - ICP等多种SLAM算法。
  • STM32电机速度闭环控制:通过STM32微控制器实现电机速度的闭环控制。
  • AMCL定位:基于编码器里程计的定位。
  • 动态障碍物避让:实现动态障碍物的避让功能。
  • Stage仿真:支持MPC和纯追踪控制器的仿真。

安装使用步骤

1. 安装ROS Kinetic

确保已安装ROS Kinetic桌面完整版,可按照ROS Kinetic安装指南进行安装。

2. 安装依赖项

bash sudo apt-get install remmina synaptic gimp git ros-kinetic-navigation* ros-kinetic-gmapping ros-kinetic-hector-slam ros-kinetic-mrpt-icp-slam-2d ros-kinetic-slam-karto ros-kinetic-ackermann-msgs -y

3. 安装Ipopt

参考项目文档中的ipopt_install教程进行安装。

4. 创建并配置你的catkin工作空间

bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src cd ~/catkin_ws catkin_make

5. 运行仿真

bash roslaunch hypharos_minicar HyphaROS_Simulation_Stage.launch 默认使用MPC控制器,可通过参数controller切换到纯追踪控制器或其他控制器。

6. 连接到Odroid

默认情况下,Odroid的以太网IP地址为10.0.0.1。通过以太网连接时,将主机IP设置为10.0.0.X。首次启动时,需通过HDMI显示器更新Odroid的MAC地址。

7. 进行地图构建

  • 在MiniCar(Odroid)端: bash roslaunch hypharos_minicar HyphaROS_MiniCar_Mapping.launch 默认使用Gmapping算法,可通过参数slam_type切换到其他SLAM方法。
  • 在主机(桌面)端: bash roslaunch hypharos_minicar HyphaROS_Desktop_Mapping.launch 使用键盘控制MiniCar。

8. 进行赛车

  • 在MiniCar(Odroid)端: bash roslaunch hypharos_minicar HyphaROS_MiniCar_Racing.launch 默认使用MPC控制器,可通过参数controller切换到其他控制器。
  • 在主机(桌面)端: bash roslaunch hypharos_minicar HyphaROS_Desktop_Racing.launch 使用键盘中断控制器的行为。

通过以上步骤,可成功安装并运行HyphaROS MiniCar自动驾驶系统,进行仿真、地图构建和赛车等操作。

下载地址

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