URDFで差動二輪ロボットを作る
目的
ボールキャスターが前に2個ついた差動二輪ロボットを作成する
urdf
今回はxacroを使わず,直接urdfを書く
<robot name = "my_robot"> <material name = "black"> <color rgba = "0.1 0.1 0.1 1"/> </material> <material name = "Yellow"> <color rgba = "0.8 0.8 0.0 1"/> </material> <link name = "base_link"/> <link name = "body_link"> <visual> <geometry> <box size = "0.18 0.15 0.05"/> </geometry> <origin rpy = "0 0 0" xyz = "0 0 0.05"/> <material name = "Yellow"/> </visual> </link> <link name = "right_wheel"> <visual> <geometry> <cylinder length = "0.015" radius = "0.03"/> </geometry> <origin rpy = "0 0 0" xyz = "0 0 0"/> <material name = "black"/> </visual> </link> <link name = "left_wheel"> <visual> <geometry> <cylinder length = "0.015" radius = "0.03"/> </geometry> <origin rpy = "0 0 0" xyz = "0 0 0"/> <material name = "black"/> </visual> </link> <link name = "right_ball_link"> <visual> <origin xyz = "0 0 0" rpy = "0 0 0"/> <geometry> <sphere radius = "0.03"/> </geometry> <material name = "brack"/> </visual> </link> <link name = "left_ball_link"> <visual> <origin xyz = "0 0 0" rpy = "0 0 0"/> <geometry> <sphere radius = "0.03"/> </geometry> <material name = "brack"/> </visual> </link> <joint name = "right_wheel_joint" type = "continuous"> <parent link = "base_link"/> <child link = "right_wheel"/> <origin rpy = "-1.570796 0 0" xyz = "0.0 -0.0825 0.03"/> <axis xyz = "0 0 1"/> </joint> <joint name = "left_wheel_joint" type = "continuous"> <parent link = "base_link"/> <child link = "left_wheel"/> <origin rpy = "-1.570796 0 0" xyz = "0.0 0.0825 0.03"/> <axis xyz = "0 0 1"/> </joint> <joint name = "body_joint" type = "fixed"> <parent link = "base_link"/> <child link = "body_link"/> <origin rpy = "0 0 0" xyz = "0.04 0.0 0.0"/> </joint> <joint name = "right_ball_joint" type = "fixed"> <parent link = "base_link"/> <child link = "right_ball_link"/> <origin xyz = "0.1 0.045 0.03" rpy = "0 0 0"/> </joint> <joint name = "left_ball_joint" type = "fixed"> <parent link = "base_link"/> <child link = "left_ball_link"/> <origin xyz = "0.1 -0.045 0.03" rpy = "0 0 0"/> </joint> </robot>
base_linkにすべてつなげるようにした
roslaunch urdf_tutorial display.launch model:=my_robot.urdf
で表示の確認ができる
sudo apt install ros-kinetic-joint-state-publisher-gui
ros-kinetic-joint-state-publisher-guiを入れないとエラーが出た
参考
ros入門その1
自分のアウトプット用として
環境
PC
Ubuntu16.04
ROS kinetic
Raspberry Pi 3B
Ubuntu MATE16.04
ROS kinetic
インストール
Raspberry Pi 3B+(Ubuntu Mate 16.04LTS)にROS kinetic をインストールしてturtlesimを動かす
Ubuntu MATE16.04のイメージはこちらで取得した