/megarover3_ros2

メガローバーVer.3.0 ROS 2 パッケージ

Primary LanguagePythonApache License 2.0Apache-2.0

メガローバーVer.3.0 ROS2パッケージ

ヴイストン株式会社より発売されている全方向移動台車「メガローバーVer.3.0」をROS 2で制御するためのパッケージです。別途Linux搭載のPC及びロボット実機が必要になります。

目次

概要

このパッケージは、メガローバーVer.3.0台車ロボット用のROS 2パッケージを提供します。このパッケージには、ロボットの制御、センサーの読み取り、およびロボットのアプリケーションの開発に必要なノードが含まれています。

必要機器 & 開発環境

パッケージ構成

  • megarover3: メガローバーVer.3.0のメタパッケージ。
  • megarover3_bringup: メガローバーVer.3.0の起動に関連するノードやlaunchファイルを提供します。
  • megarover3_navigation: メガローバーVer.3.0のSLAMやnavigationに関連するノードやlaunchファイルを含んでいるパッケージです。
  • megarover_description: メガローバーVer.3.0の物理モデルやURDFモデルを含んでいるパッケージです。

インストール方法

このパッケージをインストールするには、以下の手順に従ってください。

  1. こちらの手順に従って、ROS 2 Humbleをインストールしてください。

  2. micro-ROS Agent のセットアップ: (実機を動かす場合のみ必要)

    $ mkdir -p ~/uros_ws/src
    $ cd ~/uros_ws/src
    $ git clone -b $ROS_DISTRO https://github.com/micro-ROS/micro_ros_setup.git
    $ cd ~/uros_ws
    $ rosdep update && rosdep install --from-paths src --ignore-src -y
    $ colcon build
    $ source install/local_setup.bash
    
    $ ros2 run micro_ros_setup create_agent_ws.sh
    $ ros2 run micro_ros_setup build_agent.sh
    $ source install/local_setup.bash
  3. 必要なリポジトリをワークスペースにクローンしてください:

    $ mkdir -p ~/ros2_ws/src
    $ cd ~/ros2_ws/src
    $ git clone https://github.com/vstoneofficial/megarover3_ros2.git --recurse-submodules
    $ git clone -b $ROS_DISTRO https://github.com/vstoneofficial/vs_rover_options_description.git  # オプションを表示するため
    $ rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
  4. ワークスペースをビルド:

    $ cd ~/ros2_ws
    $ colcon build --symlink-install
  5. ワークスペースのオーバレイ作業:

    source ~/ros2_ws/install/local_setup.bash
  6. シェルを起動時にワークスペースがオーバーレイされるように設定します。

    $ echo "source ~/uros_ws/install/local_setup.bash" >> ~/.bashrc 
    $ echo "source ~/ros2_ws/install/local_setup.bash" >> ~/.bashrc

使用方法

このパッケージには、以下の主要な機能が含まれています。(詳細は各ファイルを確認してください)

URDFモデルの表示

以下のコマンドを実行して、メガローバーのURDFモデルを表示します。

ros2 launch megarover_description mega3_view.launch.py

メガローバー(実機)との通信

ROS 2とMicro-ROSを統合するためのエージェントノードを起動。

有線シリアル接続の場合

ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0 -v4

Wi-Fi 接続の場合

ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888

odometryをpublish

pub_odomノードとrviz上可視化

ros2 launch megarover3_bringup robot.launch.py

台車ロボットをROS 2経由で遠隔操作

キーボードで操作

キーボードを使用してロボットを操作するためのノードを起動。

ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=rover_twist

マウスで操作

マウスを使用してロボットを操作するためのノードを起動。

ros2 launch megarover3_bringup mouse_teleop.launch.py

LRF TG30の利用

  1. LRFオプションTG30

    • ydlidar_ros2_driversrcフォルダにクローンして、buildしてください。
      git clone https://github.com/YDLIDAR/ydlidar_ros2_driver.git
      
    • LRFに関するパラメータはTG30.yamlにあります。

    Warning ydlidar_ros2_driverの中のydlidar_ros2_driver_node.cppを修正が必要。詳細

ライセンス

このパッケージはApache 2.0ライセンスの下で提供されています。詳細については、LICENSEファイルを参照してください。

貢献

バグの報告や機能の提案など、このパッケージへの貢献は大歓迎です。プルリクエストやイシューを使用して、貢献してください。