概要
ROSのGazeboシミュレーション上でメカナムホイールを使用した全方向移動ロボットをどうさせたい場合、簡易的な方法でros_planner_move
を使用する方法を今まで使っていたが、路面の影響や4軸モータの制御を確認したかったので、メカナムホイールを再現してみた
動作環境
- Ubuntu 18.04 LTS
- ROS (melodic)
やり方
メカナムホイールについている各ローラをそれぞれ回転ジョイントで接続し、フリー回転するようにする。それだけでなんとなく動いた
使い方
リポジトリをクローンする
$ git clone https://github.com/DaiGuard/fuji_mecanum
メカナムホイールを使用するロボットモデルにmecanum_wheel_macro.xacro
をインクルードして、xacro:mecanum_wheel
マクロを使用してロボットに追加する
<?xml version="1.0" ?>
<robot name="mecanum_wheel_robot" xmlns:xacro="http://ros.org/wiki/xacro">
....
<!-- include mecanum_wheel macro -->
<xacro:include filename="$(find fuji_mecanum)/urdf/mecanum_wheel_macro.xacro" />
<!-- load macro -->
<!-- name: link name -> ${name}_wheel_link -->
<!-- side: mecanum wheel direct 1: right, -1: left -->
<xacro:mecanum_wheel name="right" side="1" />
<xacro:mecanum_wheel name="left" side="1" />
<joint name="right_joint_name" type="fixed">
<parent link="parent" />
<child link="right_wheel_link" />
</joint>
<joint name="left_joint_name" type="fixed">
<parent link="parent" />
<child link="left_wheel_link" />
</joint>
....
</robot>