Web Analytics

ackermann-vehicle-gzsim-ros2

⭐ 164 stars Japanese by alitekes1

ROS2 と Gazebo Sim Harmonic によるアッカーマンステアリング車両シミュレーション

本プロジェクトは、アッカーマンステアリング機能を備えたカスタム車両のシミュレーションを、ROS2Gazebo Sim Harmonic 環境を用いて開発したものです。モデルは自律運転のための各種センサーやナビゲーションツールを統合しており、このシミュレーションフレームワークでのアッカーマンステアリング車両の初期実装の一つとなっています。

| 3D LiDAR ポイントクラウドの可視化 | 倉庫環境モデル | | ----- | ----- | | 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倍速で再生されています。画像をクリックすると動画にアクセスできます。

今後の課題

ギャラリー

Screenshot from 2024-09-23 00-09-48.png

3D LiDARポイントクラウド & 環境

| 3D LiDARポイントクラウドの可視化 | 倉庫環境モデル | | ----------------------------------------------------------------- | ----------------------------------------------------------------- | | 3D Point Cloud | Warehouse Model |

車両 & ナビゲーション

| Gazeboシミュレーション ハーモニック | RViz2 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | Screenshot from 2024-09-23 00-13-03.png | Screenshot from 2024-09-23 00-09-04.png | | Screenshot from 2024-09-23 00-12-13.png | Screenshot from 2024-09-23 00-15-04.png | | alt text | alt text |

TFツリー

TF Tree


スター履歴

スター履歴チャート

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