ย
1. ๊ด๋ จ ํจํค์ง ์ค์น2. ํจํค์ง ๋ฐ ์์
ํด๋ ์์ฑ3. urdf ํ์ผ ์์ฑํ๊ธฐ4. launch ํ์ผ ์์ฑ ๋ฐ ์คํ5. RVIZ ์์ฑ ๋ณ๊ฒฝ6. ์ฐธ๊ณ
ย
1. ๊ด๋ จ ํจํค์ง ์ค์น
sudo apt install liburdfdom-tools ros-melodic-joint-state-publisher-gui
ย
2. ํจํค์ง ๋ฐ ์์ ํด๋ ์์ฑ
cd ~/${workspack_name}/src # cd ~/ros_ws/src catkin_create_pkg ${package_name} roscpp tf geometry_msgs urdf rviz xacro # catkin_create_pkg urdf_example roscpp tf geometry_msgs urdf rviz xacro cd ../ && catkin_make rospack find ${package_name} # rospack find urdf_example cd src/${package_name} # cd src/urdf_example mkdir urdf mkdir launch
ย
3. urdf ํ์ผ ์์ฑํ๊ธฐ
cd urdf
๋ก ๊ฒฝ๋ก๋ฅผ ์ด๋ํ๋ค
vi my_robot.urdf
๋ก ํ์ผ์ ์คํํ ๋ค, ์๋์ ๋ด์ฉ์ ์์ฑํ๋ค
<robot name="test_robot"> <link name="link1" /> <link name="link2" /> <link name="link3" /> <link name="link4" /> <joint name="joint1" type="continuous"> <parent link="link1"/> <child link="link2"/> <origin xyz="5 3 0" rpy="0 0 0" /> <axis xyz="-0.9 0.15 0" /> </joint> <joint name="joint2" type="continuous"> <parent link="link1"/> <child link="link3"/> <origin xyz="-2 5 0" rpy="0 0 1.57" /> <axis xyz="-0.707 0.707 0" /> </joint> <joint name="joint3" type="continuous"> <parent link="link3"/> <child link="link4"/> <origin xyz="5 0 0" rpy="0 0 -1.57" /> <axis xyz="0.707 -0.707 0" /> </joint> </robot>
check_urdf my_robot.urdf
๋ก ํ์ผ ๋ด์ฉ์ ๊ฒ์ฆํ๋ค
urdf_to_graphiz my_robot.urdf
๋ก pdf ํ์ผ์ ์์ฑํด์ ๋ด์ฉ์ ํ์ธํด๋ณธ๋ค
ย
ย
4. launch ํ์ผ ์์ฑ ๋ฐ ์คํ
cd ../launch
๊ฒฝ๋ก๋ก ์ด๋ํ๋ค
vi view_my_robot.launch
๋ก ํ์ผ์ ์์ฑํ ๋ค, ์๋์ ๋ด์ฉ์ ์์ฑํ๋ค
<launch> <arg name="model" /> <param name="robot_description" textfile="$(find urdf_example)/urdf/my_robot.urdf" /> <param name="use_gui" value="true"/> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /> <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_example)/urdf.rviz" required="True" /> </launch>
roslaunch urdf_example view_my_robot.launch
๋ก ์คํํด๋ณธ๋ค
ย
ย
5. RVIZ ์์ฑ ๋ณ๊ฒฝ
- Displays > Fixed Frame์ map์์ link4๋ก ๋ณ๊ฒฝํ๋ค
- RobotModel๊ณผ TF๋ฅผ ์ถ๊ฐํด์ค๋ค
- ์์ ์ด ์๋ฃ๋๋ฉด, link1, link2, link3, link4๊ฐ ํ๋ฉด์ ํ์ถ๋๋ค
- joint_state_publisher์ joint2์ joint3์ ๊ฐ์ ๋ณ๊ฒฝํ๋ฉด์ ์๋ฎฌ๋ ์ดํฐ๊ฐ ์์ง์ด๋์ง ํ์ธํ๋ค
ย
ย