URDF 포맷의 정보를 이용하면 관절관의 거리 등이 있어서
ROS2 나 moveit2 에서 충돌 검사를 통해서 자기 파괴하지 않도록 할 수 있다고 한다.
moveit은 ros 1용
moveit2는 ros 2 용인듯. 그런데 단독 사용은 안되려나?
[링크 : https://github.com/moveit/moveit2]
<?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter" >
<xacro:property name="width" value=".2" />
<link name="g_base"> <visual> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/G_base.dae"/> </geometry> <origin xyz = "0.0 0 -0.03" rpy = "0 0 1.5708"/> </visual> <collision> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/G_base.dae"/> </geometry> <origin xyz = "0.0 0 -0.03" rpy = "0 0 1.5708"/> </collision> </link>
<link name="joint1"> <visual> <geometry> <!--- 0.0 0 -0.04 1.5708 3.14159--> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint1_pi.dae"/> </geometry> <origin xyz = "0.0 0 0 " rpy = " 0 0 0"/> </visual> <collision> <geometry> <!--- 0.0 0 -0.04 1.5708 3.14159--> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint1_pi.dae"/> </geometry> <origin xyz = "0.0 0 0 " rpy = " 0 0 0"/> </collision> </link>
<link name="joint2"> <visual> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint2.dae"/> </geometry> <origin xyz = "0.0 0 -0.06096 " rpy = " 0 0 -1.5708"/> </visual> <collision> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint2.dae"/> </geometry> <origin xyz = "0.0 0 -0.06096 " rpy = " 0 0 -1.5708"/> </collision> </link>
<link name="joint3"> <visual> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint3.dae"/> </geometry> <origin xyz = "0.0 0 0.03256 " rpy = " 0 -1.5708 0"/> </visual> <collision> <geometry> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint3.dae"/> </geometry> <origin xyz = "0.0 0 0.03256 " rpy = " 0 -1.5708 0"/> </collision> </link>
<link name="joint4"> <visual> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint4.dae"/> </geometry> <origin xyz = "0.0 0 0.03056 " rpy = " 0 -1.5708 0"/> </visual> <collision> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint4.dae"/> </geometry> <origin xyz = "0.0 0 0.03056 " rpy = " 0 -1.5708 0"/> </collision> </link>
<link name="joint5"> <visual> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint5.dae"/> </geometry> <origin xyz = "0.0 -0.001 -0.0345 " rpy = " 0 -1.5708 1.5708"/> </visual> <collision> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint5.dae"/> </geometry> <origin xyz = "0.0 -0.001 -0.0345 " rpy = " 0 -1.5708 1.5708"/> </collision> </link>
<link name="joint6"> <visual> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint6.dae"/> </geometry> <origin xyz = "0 0.00 -0.038 " rpy = " 0 0 0"/> </visual> <collision> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint6.dae"/> </geometry> <origin xyz = "0 0.00 -0.038 " rpy = " 0 0 0"/> </collision> </link>
<link name="joint6_flange"> <visual> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint7.dae"/> </geometry> <origin xyz = "0.0 0 -0.012 " rpy = " 0 0 0"/> </visual> <collision> <geometry> <!--- 0.0 0 -0.04 --> <mesh filename="package://mycobot_description/urdf/mycobot_280_pi/joint7.dae"/> </geometry> <origin xyz = "0.0 0 -0.012 " rpy = " 0 0 0"/> </collision> </link>
<joint name="g_base_to_joint1" type="fixed"> <axis xyz="0 0 0"/> <limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "0"/> <parent link="g_base"/> <child link="joint1"/> <origin xyz= "0 0 0" rpy = "0 0 0"/> </joint>
<joint name="joint2_to_joint1" type="revolute"> <axis xyz="0 0 1"/> <limit effort = "1000.0" lower = "-2.9321" upper = "2.9321" velocity = "0"/> <parent link="joint1"/> <child link="joint2"/> <origin xyz= "0 0 0.13956" rpy = "0 0 0"/> </joint>
<joint name="joint3_to_joint2" type="revolute"> <axis xyz="0 0 1"/> <limit effort = "1000.0" lower = "-2.4434" upper = "2.4434" velocity = "0"/> <parent link="joint2"/> <child link="joint3"/> <origin xyz= "0 0 -0.001" rpy = "0 1.5708 -1.5708"/> </joint>
<joint name="joint4_to_joint3" type="revolute"> <axis xyz=" 0 0 1"/> <limit effort = "1000.0" lower = "-2.6179" upper = "2.6179" velocity = "0"/> <parent link="joint3"/> <child link="joint4"/> <origin xyz= " -0.1104 0 0 " rpy = "0 0 0"/> </joint>
<joint name="joint5_to_joint4" type="revolute"> <axis xyz=" 0 0 1"/> <limit effort = "1000.0" lower = "-2.6179" upper = "2.6179" velocity = "0"/> <parent link="joint4"/> <child link="joint5"/> <origin xyz= "-0.096 0 0.06462" rpy = "0 0 -1.5708"/> </joint>
<joint name="joint6_to_joint5" type="revolute"> <axis xyz="0 0 1"/> <limit effort = "1000.0" lower = "-2.7052" upper = "2.7925" velocity = "0"/> <parent link="joint5"/> <child link="joint6"/> <origin xyz= "0 -0.07318 -0.001" rpy = "1.5708 -1.5708 0"/> </joint>
<joint name="joint6output_to_joint6" type="revolute"> <axis xyz="0 0 1"/> <limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "0"/> <parent link="joint6"/> <child link="joint6_flange"/> <origin xyz= "0 0.0456 0" rpy = "-1.5708 0 0"/> </joint>
</robot> |
[링크 : https://github.com/elephantrobotics/mycobot_ros/blob/noetic/mycobot_description/urdf/mycobot_280_pi/mycobot_280_pi.urdf]
엥 ur5e 니가 왜 여기서 나와 -ㅁ-
[링크 : https://github.com/jdj2261/pykin]
[링크 : https://ropiens.tistory.com/177] << 볼 것 링크