ヴイストン株式会社より発売されている全方向移動台車「4WDSローバーX40A」等をROS 2で制御するためのパッケージです。別途Linux搭載のPC及びロボット実機が必要になります。
4WDSローバーは、前後・左右・回転を組み合わせた自由度の高い移動ができることが大きな特徴で、細かい位置制御が求められる搬送・自律移動などの研究開発プロジェクトに好適です。このパッケージでは、4WDSローバーの制御を実現するためのROS2関連の機能を提供します。
- 4WDSローバーX40A:
- 4WDSローバーX120A:
- Ubuntu Linux - Jammy Jellyfish (22.04)
- ROS 2 Humble Hawksbill
fwdsrover_xna
: 4WDSローバーX40A/X120Aのメタパッケージ。fwdsrover_xna_bringup
: 4WDSローバーの起動に関連するノードやlaunchファイルを提供します。
このパッケージをインストールするには、以下の手順に従ってください。
-
こちらの手順に従って、ROS 2 Humbleをインストールしてください。
-
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
-
このリポジトリをワークスペースにクローンしてください:
$ mkdir -p ~/ros2_ws/src $ cd ~/ros2_ws/src $ git clone https://github.com/vstoneofficial/fwdsrover_xna_ros2.git $ rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
-
ワークスペースをビルド:
$ cd ~/ros2_ws $ colcon build --symlink-install
-
ワークスペースのオーバレイ作業:
$ source ~/ros2_ws/install/local_setup.bash
-
シェルを起動時にワークスペースがオーバーレイされるように設定します。
$ echo "source ~/uros_ws/install/local_setup.bash" >> ~/.bashrc $ echo "source ~/ros2_ws/install/local_setup.bash" >> ~/.bashrc
このパッケージには、以下の主要な機能が含まれています。(詳細は各ファイルを確認してください)
-
4WDSローバー(実機)との通信: ROS 2とMicro-ROSを統合するためのエージェントノードを起動。
- 有線シリアル接続の場合:
$ ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyUSB0 --baudrate 921600 -v4
- Wi-Fi 接続の場合:
$ ros2 run micro_ros_agent micro_ros_agent udp4 --port 8888
- 有線シリアル接続の場合:
-
odometryをpublish: pub_odomノードとrviz上可視化
$ ros2 launch fwdsrover_xna_bringup robot.launch.py
-
キーボードで操作: キーボードを使用してロボットを操作するためのノードを起動。
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args --remap cmd_vel:=rover_twist
-
マウスで操作: マウスを使用してロボットを操作するためのノードを起動。
$ ros2 launch fwdsrover_xna_bringup mouse_teleop.launch.py
このパッケージはApache 2.0ライセンスの下で提供されています。詳細については、LICENSEファイルを参照してください。
バグの報告や機能の提案など、このパッケージへの貢献は大歓迎です。プルリクエストやイシューを使用して、貢献してください。