Web Analytics

ackermann-vehicle-gzsim-ros2

⭐ 164 stars Simplified Chinese by alitekes1

ROS2 与 Gazebo Sim Harmonic 中的阿克曼转向车辆仿真

本项目展示了一个具备阿克曼转向功能的定制车辆仿真,基于ROS2Gazebo Sim Harmonic 环境开发。该模型集成了多种传感器和导航工具,实现自主运行,是该仿真框架中首批实现阿克曼转向车辆的项目之一。

| 3D 激光雷达点云可视化 | 仓库环境模型 | | ----- | ----- | | 3D Point Cloud | Warehouse Model |

如果你喜欢此项目,欢迎点个⭐支持!

目录

功能

1. 阿克曼转向

2. ROS2 通信

3. 传感器

> 注意: 默认情况下,只有前置摄像头桥接到 ROS 2。如果您想在 ROS 2 中使用所有摄像头(左、右、后),请移除 saye_bringup/config/ros_gz_bridge.yaml 中相关摄像头部分开头的 # 符号以激活它们(例如,/camera/left_raw/camera/right_raw/camera/rear_raw)。

4. 导航

5. 手动控制(外接操纵杆)

6. 可视化

需求

本地安装

sudo apt-get install ros-${ROS_DISTRO}-ros-gz
sudo apt-get install ros-humble-ros-gzharmonic(仅限Humble版本)
有关安装Gazebo和ROS的更多详情:链接 mkdir -p ackermann_sim/src && cd ackermann_sim/src
git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2
cd .. colcon build && source install/setup.bash ``bash # Set environment variables for current session export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ `

永久设置: 要使这些环境变量永久生效,请将它们添加到你的 .bashrc 文件中: `bash # Add environment variables to .bashrc echo 'export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc echo 'export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc # Apply changes source ~/.bashrc `

> 注意:/your/path/ 替换为您的实际安装路径。

Docker 安装

您也可以使用 Docker 运行仿真,这可以确保在不同系统之间具有一致的环境。

前提条件

  • Docker
  • NVIDIA 容器工具包(用于 GPU 支持)

使用 Docker 运行的步骤

  • 克隆仓库:
`bash mkdir -p ackermann_sim/src && cd ackermann_sim/src git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2 cd ackermann-vehicle-gzsim-ros2 `

  • 构建并运行 Docker 容器:
`bash docker run -it \ --name ackermann_sim \ --hostname ackermann_sim \ --env="DISPLAY=$DISPLAY" \ --env="QT_X11_NO_MITSHM=1" \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ --privileged alitekes1/ackermann_sim:latest `
  • 如果您想为同一容器添加额外的终端
`bash docker exec -it ackermann_sim bash `
注意: 在容器内部,您可以像平常一样运行仿真命令。

使用方法

1. 基本仿真和手动控制

  • 启动仿真:
`bash ros2 launch saye_bringup saye_spawn.launch.py `
  • 控制车:
`bash ros2 run teleop_twist_keyboard teleop_twist_keyboard `

2. SLAM(同步定位与地图构建)

  • 要运行 SLAM Toolbox 进行地图构建,请在启动仿真后运行以下命令:
`bash ros2 launch saye_bringup slam.launch.py ` SLAM- Youtube

3. 使用 Nav2 进行导航

  • 要使用 Nav2 堆栈进行自主导航仿真,启动仿真后运行以下命令:
`bash ros2 launch saye_bringup navigation_bringup.launch.py `` 自主导航 - Youtube

注意: 上述YouTube视频以4倍速播放。您可以点击图片观看视频。

未来工作

图库

2024-09-23 00-09-48.png截图

3D激光雷达点云与环境

| 3D激光雷达点云可视化 | 仓库环境模型 | | --------------------------------------------------------------- | -------------------------------------------------------------- | | 3D点云 | 仓库模型 |

车辆与导航

| Gazebo仿真谐波 | RViz2 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | 2024-09-23 00-13-03.png截图 | 2024-09-23 00-09-04.png截图 | | 2024-09-23 00-12-13.png截图 | 2024-09-23 00-15-04.png截图 | | 替代文本 | 替代文本 |

TF树

TF树


星标历史

星历史图表

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-13 ---