mirror of
https://github.com/elephantrobotics/mycobot_ros.git
synced 2026-07-05 19:47:04 +00:00
Merge pull request #141 from elephantrobotics/myhand_force_gripper
Myhand force gripper
This commit is contained in:
commit
26400b5c74
93 changed files with 2010 additions and 692 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 272 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 284 KiB |
|
|
@ -143,12 +143,12 @@
|
||||||
|
|
||||||
<joint name="joint3_to_joint2" type="revolute">
|
<joint name="joint3_to_joint2" type="revolute">
|
||||||
<axis xyz="0 0 -1"/>
|
<axis xyz="0 0 -1"/>
|
||||||
<limit effort = "1000.0" lower = "-4.71" upper = "1.5708" velocity = "0"/>
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5708" velocity = "0"/> -->
|
||||||
<!-- <limit effort = "1000.0" lower = "-3.14" upper = "3.14" velocity = "0"/> -->
|
<limit effort = "1000.0" lower = "-3.14159" upper = "3.14159" velocity = "0"/>
|
||||||
<parent link="link1"/>
|
<parent link="link1"/>
|
||||||
<child link="link2"/>
|
<child link="link2"/>
|
||||||
<!-- <origin xyz= "0 0 0" rpy = "1.5708 -1.5708 0"/> -->
|
<origin xyz= "0 0 0" rpy = "1.5708 -1.5708 0"/>
|
||||||
<origin xyz= "0 0 0" rpy = "1.5708 0 0"/>
|
<!-- <origin xyz= "0 0 0" rpy = "1.5708 0 0"/> -->
|
||||||
</joint>
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -162,12 +162,12 @@
|
||||||
|
|
||||||
<joint name="joint5_to_joint4" type="revolute">
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
<axis xyz=" 0 0 -1"/>
|
<axis xyz=" 0 0 -1"/>
|
||||||
<limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/>
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
<!-- <limit effort = "1000.0" lower = "-2.96" upper = "2.97" velocity = "0"/> -->
|
<limit effort = "1000.0" lower = "-2.9670" upper = "2.9670" velocity = "0"/>
|
||||||
<parent link="link3"/>
|
<parent link="link3"/>
|
||||||
<child link="link4"/>
|
<child link="link4"/>
|
||||||
<!-- <origin xyz= "0.25 0 -0.1091" rpy = "0 0 1.5708"/> -->
|
<origin xyz= "0.25 0 -0.1091" rpy = "0 0 1.5708"/>
|
||||||
<origin xyz= "0.25 0 -0.1091" rpy = "0 0 0"/>
|
<!-- <origin xyz= "0.25 0 -0.1091" rpy = "0 0 0"/> -->
|
||||||
</joint>
|
</joint>
|
||||||
|
|
||||||
<joint name="joint6_to_joint5" type="revolute">
|
<joint name="joint6_to_joint5" type="revolute">
|
||||||
|
|
|
||||||
183
mycobot_description/urdf/mycobot_pro_600/mycobot_pro_600_moveit.urdf
Executable file
183
mycobot_description/urdf/mycobot_pro_600/mycobot_pro_600_moveit.urdf
Executable file
|
|
@ -0,0 +1,183 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter" >
|
||||||
|
|
||||||
|
<xacro:property name="width" value=".2" />
|
||||||
|
|
||||||
|
|
||||||
|
<link name="base">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 1.5708 3.14159-->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/base.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0 " rpy = " 0 0 0"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0 0 0.04 " rpy = " 0 0 1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.06" radius="0.038"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="link1">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link1.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0 " rpy = "0 0 3.1415926"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 0.0 -0.02 " rpy = " 0 0 1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.03"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link2">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link2.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 -0.080 " rpy = " 3.1415926 0 3.1415926"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.128 0 -0.125 " rpy = " 0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.024"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link3">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link3.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 -0.0855 " rpy = " 3.1415926 0 3.1415926"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.128 0.0 -0.003 " rpy = "0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.24" radius="0.024"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link4">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link4.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0 " rpy = " 0 3.1415926 0"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 -0.01 0.007" rpy = " 1.5708 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.024"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link5">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link5.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0 " rpy = " 0 0 1.5707"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 0.0 -0.015 " rpy = " 0 0 -1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.028"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="link6">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link6.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<material name = "grey">
|
||||||
|
<color rgba = "0.5 0.5 0.5 1"/>
|
||||||
|
</material>
|
||||||
|
<origin xyz = "0.03 0 0" rpy = " 0 -1.5707 0"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.006 0.0 -0.0 " rpy = " 0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.006" radius="0.026"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint2_to_joint1" type="revolute">
|
||||||
|
<axis xyz="0 0 1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "0"/>
|
||||||
|
<parent link="base"/>
|
||||||
|
<child link="link1"/>
|
||||||
|
<origin xyz= "0 0 0.19934" rpy = "0 0 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint3_to_joint2" type="revolute">
|
||||||
|
<axis xyz="0 0 -1"/>
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5708" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-3.14159" upper = "3.14159" velocity = "0"/>
|
||||||
|
<parent link="link1"/>
|
||||||
|
<child link="link2"/>
|
||||||
|
<origin xyz= "0 0 0" rpy = "1.5708 -1.5708 0"/>
|
||||||
|
<!-- <origin xyz= "0 0 0" rpy = "1.5708 0 0"/> -->
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint4_to_joint3" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-2.61" upper = "2.618" velocity = "0"/>
|
||||||
|
<parent link="link2"/>
|
||||||
|
<child link="link3"/>
|
||||||
|
<origin xyz= "0.25 0 0 " rpy = "0 0 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1"/>
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-2.9670" upper = "2.9670" velocity = "0"/>
|
||||||
|
<parent link="link3"/>
|
||||||
|
<child link="link4"/>
|
||||||
|
<origin xyz= "0.25 0 -0.1091" rpy = "0 0 1.5708"/>
|
||||||
|
<!-- <origin xyz= "0.25 0 -0.1091" rpy = "0 0 0"/> -->
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint6_to_joint5" type="revolute">
|
||||||
|
<axis xyz="0 0 1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-2.93" upper = "2.9321" velocity = "0"/>
|
||||||
|
<parent link="link4"/>
|
||||||
|
<child link="link5"/>
|
||||||
|
<origin xyz= "0 -0.108 0" rpy = "1.57080 -1.57080 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint6output_to_joint6" type="revolute">
|
||||||
|
<axis xyz="-1 0 0"/>
|
||||||
|
<limit effort = "1000.0" lower = "-3.03" upper = "3.0368" velocity = "0"/>
|
||||||
|
<parent link="link5"/>
|
||||||
|
<child link="link6"/>
|
||||||
|
<origin xyz= "-0.07586 0 0" rpy = "-1.57080 0 0 "/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</robot>
|
||||||
|
|
||||||
|
|
@ -131,10 +131,11 @@
|
||||||
|
|
||||||
<joint name="joint2_to_joint1" type="revolute">
|
<joint name="joint2_to_joint1" type="revolute">
|
||||||
<axis xyz="0 0 -1"/>
|
<axis xyz="0 0 -1"/>
|
||||||
<limit effort = "1000.0" lower = "-4.71" upper = "1.5707" velocity = "0"/>
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5707" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-3.14159" upper = "3.14159" velocity = "0"/>
|
||||||
<parent link="link1"/>
|
<parent link="link1"/>
|
||||||
<child link="link2"/>
|
<child link="link2"/>
|
||||||
<origin xyz= "0 0 0" rpy = "1.5707 0 0"/>
|
<origin xyz= "0 0 0" rpy = "1.5707 -1.5708 0"/>
|
||||||
</joint>
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -148,10 +149,11 @@
|
||||||
|
|
||||||
<joint name="joint4_to_joint3" type="revolute">
|
<joint name="joint4_to_joint3" type="revolute">
|
||||||
<axis xyz=" 0 0 -1"/>
|
<axis xyz=" 0 0 -1"/>
|
||||||
<limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/>
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-2.9670" upper = "2.9670" velocity = "0"/>
|
||||||
<parent link="link3"/>
|
<parent link="link3"/>
|
||||||
<child link="link4"/>
|
<child link="link4"/>
|
||||||
<origin xyz= "0.267 0 -0.0745" rpy = "0 0 0"/>
|
<origin xyz= "0.267 0 -0.0745" rpy = "0 0 1.5708"/>
|
||||||
</joint>
|
</joint>
|
||||||
|
|
||||||
<joint name="joint5_to_joint4" type="revolute">
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
|
|
|
||||||
175
mycobot_description/urdf/mycobot_pro_630/mycobot_pro_630_moveit.urdf
Executable file
175
mycobot_description/urdf/mycobot_pro_630/mycobot_pro_630_moveit.urdf
Executable file
|
|
@ -0,0 +1,175 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter" >
|
||||||
|
|
||||||
|
<xacro:property name="width" value=".2" />
|
||||||
|
|
||||||
|
|
||||||
|
<link name="base">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/base.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0 " rpy = " 1.5707 0 0"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0 0 0.04 " rpy = " 0 0 1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.08" radius="0.06"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="link1">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link1.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 -0.06 " rpy = "0 0 3.1415926"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 0.0 -0.02 " rpy = " 0 0 1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.06" radius="0.03"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link2">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link2.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 -0.0446 " rpy = " 0 -1.5707 -1.5707"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.14 0 -0.08 " rpy = " 0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.028"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link3">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link3.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 -0.0444 " rpy = " 0 1.5707 -1.5707"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.13 0.0 0.02 " rpy = "0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.024"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link4">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link4.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "0 0 0.041 " rpy = " -1.5707 0 1.5707"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 -0.01 0.007" rpy = " 1.5708 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.024"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<link name="link5">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link5.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<origin xyz = "-0.043 0 0 " rpy = " 0 -1.5707 3.1415926"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.0 0.0 -0.015 " rpy = " 0 0 -1.5708"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.028"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
<link name="link6">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link6.dae"/>
|
||||||
|
</geometry>
|
||||||
|
<!-- <material name = "grey">
|
||||||
|
<color rgba = "0.5 0.5 0.5 1"/>
|
||||||
|
</material> -->
|
||||||
|
<origin xyz = "0.01 0 0" rpy = " 0 1.5707 0"/>
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz = "0.006 0.0 -0.0 " rpy = " 0 1.5708 0"/>
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.006" radius="0.026"/>
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
</link>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint1_to_base" type="revolute">
|
||||||
|
<axis xyz="0 0 1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-3.14" upper = "3.14159" velocity = "0"/>
|
||||||
|
<parent link="base"/>
|
||||||
|
<child link="link1"/>
|
||||||
|
<origin xyz= "0 0 0.22934" rpy = "0 0 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint2_to_joint1" type="revolute">
|
||||||
|
<axis xyz="0 0 -1"/>
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5707" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-3.14159" upper = "3.14159" velocity = "0"/>
|
||||||
|
<parent link="link1"/>
|
||||||
|
<child link="link2"/>
|
||||||
|
<origin xyz= "0 0 0" rpy = "1.5707 -1.5708 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
<joint name="joint3_to_joint2" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-2.61" upper = "2.618" velocity = "0"/>
|
||||||
|
<parent link="link2"/>
|
||||||
|
<child link="link3"/>
|
||||||
|
<origin xyz= "0.27 0 0 " rpy = "0 0 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint4_to_joint3" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1"/>
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
|
<limit effort = "1000.0" lower = "-2.9670" upper = "2.9670" velocity = "0"/>
|
||||||
|
<parent link="link3"/>
|
||||||
|
<child link="link4"/>
|
||||||
|
<origin xyz= "0.267 0 -0.0745" rpy = "0 0 1.5708"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
|
<axis xyz="0 0 1"/>
|
||||||
|
<limit effort = "1000.0" lower = "-2.93" upper = "2.9321" velocity = "0"/>
|
||||||
|
<parent link="link4"/>
|
||||||
|
<child link="link5"/>
|
||||||
|
<origin xyz= "0 -0.095 0.002" rpy = "1.5707 -1.5707 0"/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
<joint name="joint6_to_joint5" type="revolute">
|
||||||
|
<axis xyz="-1 0 0"/>
|
||||||
|
<limit effort = "1000.0" lower = "-3.03" upper = "3.0368" velocity = "0"/>
|
||||||
|
<parent link="link5"/>
|
||||||
|
<child link="link6"/>
|
||||||
|
<origin xyz= "-0.054 0 0" rpy = "-1.5707 0 0 "/>
|
||||||
|
</joint>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</robot>
|
||||||
|
|
||||||
|
|
@ -9,7 +9,7 @@ Panels:
|
||||||
- /RobotModel1
|
- /RobotModel1
|
||||||
- /TF1
|
- /TF1
|
||||||
Splitter Ratio: 0.5
|
Splitter Ratio: 0.5
|
||||||
Tree Height: 775
|
Tree Height: 609
|
||||||
- Class: rviz/Selection
|
- Class: rviz/Selection
|
||||||
Name: Selection
|
Name: Selection
|
||||||
- Class: rviz/Tool Properties
|
- Class: rviz/Tool Properties
|
||||||
|
|
@ -18,17 +18,18 @@ Panels:
|
||||||
- /2D Nav Goal1
|
- /2D Nav Goal1
|
||||||
- /Publish Point1
|
- /Publish Point1
|
||||||
Name: Tool Properties
|
Name: Tool Properties
|
||||||
Splitter Ratio: 0.588679016
|
Splitter Ratio: 0.5886790156364441
|
||||||
- Class: rviz/Views
|
- Class: rviz/Views
|
||||||
Expanded:
|
Expanded:
|
||||||
- /Current View1
|
- /Current View1
|
||||||
Name: Views
|
Name: Views
|
||||||
Splitter Ratio: 0.5
|
Splitter Ratio: 0.5
|
||||||
- Class: rviz/Time
|
- Class: rviz/Time
|
||||||
Experimental: false
|
|
||||||
Name: Time
|
Name: Time
|
||||||
SyncMode: 0
|
SyncMode: 0
|
||||||
SyncSource: ""
|
SyncSource: ""
|
||||||
|
Preferences:
|
||||||
|
PromptSaveOnExit: true
|
||||||
Toolbars:
|
Toolbars:
|
||||||
toolButtonStyle: 2
|
toolButtonStyle: 2
|
||||||
Visualization Manager:
|
Visualization Manager:
|
||||||
|
|
@ -40,7 +41,7 @@ Visualization Manager:
|
||||||
Color: 160; 160; 164
|
Color: 160; 160; 164
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Line Style:
|
Line Style:
|
||||||
Line Width: 0.0299999993
|
Line Width: 0.029999999329447746
|
||||||
Value: Lines
|
Value: Lines
|
||||||
Name: Grid
|
Name: Grid
|
||||||
Normal Cell Count: 0
|
Normal Cell Count: 0
|
||||||
|
|
@ -105,6 +106,8 @@ Visualization Manager:
|
||||||
Visual Enabled: true
|
Visual Enabled: true
|
||||||
- Class: rviz/TF
|
- Class: rviz/TF
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
Filter (blacklist): ""
|
||||||
|
Filter (whitelist): ""
|
||||||
Frame Timeout: 15
|
Frame Timeout: 15
|
||||||
Frames:
|
Frames:
|
||||||
All Enabled: true
|
All Enabled: true
|
||||||
|
|
@ -122,7 +125,8 @@ Visualization Manager:
|
||||||
Value: true
|
Value: true
|
||||||
link6:
|
link6:
|
||||||
Value: true
|
Value: true
|
||||||
Marker Scale: 0.300000012
|
Marker Alpha: 1
|
||||||
|
Marker Scale: 0.20000000298023224
|
||||||
Name: TF
|
Name: TF
|
||||||
Show Arrows: true
|
Show Arrows: true
|
||||||
Show Axes: true
|
Show Axes: true
|
||||||
|
|
@ -153,7 +157,10 @@ Visualization Manager:
|
||||||
- Class: rviz/FocusCamera
|
- Class: rviz/FocusCamera
|
||||||
- Class: rviz/Measure
|
- Class: rviz/Measure
|
||||||
- Class: rviz/SetInitialPose
|
- Class: rviz/SetInitialPose
|
||||||
|
Theta std deviation: 0.2617993950843811
|
||||||
Topic: /initialpose
|
Topic: /initialpose
|
||||||
|
X std deviation: 0.5
|
||||||
|
Y std deviation: 0.5
|
||||||
- Class: rviz/SetGoal
|
- Class: rviz/SetGoal
|
||||||
Topic: /move_base_simple/goal
|
Topic: /move_base_simple/goal
|
||||||
- Class: rviz/PublishPoint
|
- Class: rviz/PublishPoint
|
||||||
|
|
@ -163,33 +170,33 @@ Visualization Manager:
|
||||||
Views:
|
Views:
|
||||||
Current:
|
Current:
|
||||||
Class: rviz/Orbit
|
Class: rviz/Orbit
|
||||||
Distance: 2.0593462
|
Distance: 2.0004639625549316
|
||||||
Enable Stereo Rendering:
|
Enable Stereo Rendering:
|
||||||
Stereo Eye Separation: 0.0599999987
|
Stereo Eye Separation: 0.05999999865889549
|
||||||
Stereo Focal Distance: 1
|
Stereo Focal Distance: 1
|
||||||
Swap Stereo Eyes: false
|
Swap Stereo Eyes: false
|
||||||
Value: false
|
Value: false
|
||||||
|
Field of View: 0.7853981852531433
|
||||||
Focal Point:
|
Focal Point:
|
||||||
X: -0.0706475973
|
X: -0.07064759731292725
|
||||||
Y: -0.0814988762
|
Y: -0.0814988762140274
|
||||||
Z: 0.107583851
|
Z: 0.10758385062217712
|
||||||
Focal Shape Fixed Size: true
|
Focal Shape Fixed Size: true
|
||||||
Focal Shape Size: 0.0500000007
|
Focal Shape Size: 0.05000000074505806
|
||||||
Invert Z Axis: false
|
Invert Z Axis: false
|
||||||
Name: Current View
|
Name: Current View
|
||||||
Near Clip Distance: 0.00999999978
|
Near Clip Distance: 0.009999999776482582
|
||||||
Pitch: 0.660398126
|
Pitch: 0.45539799332618713
|
||||||
Target Frame: <Fixed Frame>
|
Target Frame: <Fixed Frame>
|
||||||
Value: Orbit (rviz)
|
Yaw: 2.6153931617736816
|
||||||
Yaw: 3.10539246
|
|
||||||
Saved: ~
|
Saved: ~
|
||||||
Window Geometry:
|
Window Geometry:
|
||||||
Displays:
|
Displays:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Height: 1056
|
Height: 906
|
||||||
Hide Left Dock: false
|
Hide Left Dock: false
|
||||||
Hide Right Dock: false
|
Hide Right Dock: false
|
||||||
QMainWindow State: 000000ff00000000fd00000004000000000000016a00000396fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000002800000396000000d700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000022f00000396fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000002800000396000000ad00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073f0000003efc0100000002fb0000000800540069006d006501000000000000073f0000030000fffffffb0000000800540069006d006501000000000000045000000000000000000000039a0000039600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
QMainWindow State: 000000ff00000000fd00000004000000000000016a000002ecfc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000002ec000000c900fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000022f000002ecfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003d000002ec000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007380000003efc0100000002fb0000000800540069006d0065010000000000000738000003bc00fffffffb0000000800540069006d0065010000000000000450000000000000000000000393000002ec00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||||
Selection:
|
Selection:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Time:
|
Time:
|
||||||
|
|
@ -198,6 +205,6 @@ Window Geometry:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Views:
|
Views:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Width: 1855
|
Width: 1848
|
||||||
X: 65
|
X: 72
|
||||||
Y: 24
|
Y: 27
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ def callback(data):
|
||||||
radians_to_angles = round(math.degrees(value), 2)
|
radians_to_angles = round(math.degrees(value), 2)
|
||||||
data_list.append(radians_to_angles)
|
data_list.append(radians_to_angles)
|
||||||
|
|
||||||
|
data_list[1] = data_list[1] - 90
|
||||||
|
data_list[3] = data_list[3] - 90
|
||||||
|
|
||||||
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||||
mc.write_angles(data_list, 1000)
|
mc.write_angles(data_list, 1000)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
moveit_setup_assistant_config:
|
moveit_setup_assistant_config:
|
||||||
URDF:
|
URDF:
|
||||||
package: mycobot_description
|
package: mycobot_description
|
||||||
relative_path: urdf/mycobot_pro_600/mycobot_pro_600.urdf
|
relative_path: urdf/mycobot_pro_600/mycobot_pro_600_moveit.urdf
|
||||||
xacro_args: "--inorder "
|
xacro_args: "--inorder "
|
||||||
SRDF:
|
SRDF:
|
||||||
relative_path: config/firefighter.srdf
|
relative_path: config/firefighter.srdf
|
||||||
CONFIG:
|
CONFIG:
|
||||||
author_name: wangweijian
|
author_name: wangweijian
|
||||||
author_email: weijian.wang@elephantrobotics.com
|
author_email: weijian.wang@elephantrobotics.com
|
||||||
generated_timestamp: 1652406964
|
generated_timestamp: 1736245598
|
||||||
|
|
@ -1,21 +1,10 @@
|
||||||
cmake_minimum_required(VERSION 2.8.3)
|
cmake_minimum_required(VERSION 3.1.3)
|
||||||
project(mycobot_600_moveit)
|
project(mycobot_600_moveit)
|
||||||
|
|
||||||
find_package(catkin REQUIRED
|
find_package(catkin REQUIRED)
|
||||||
rospy
|
|
||||||
std_msgs
|
|
||||||
moveit_msgs
|
|
||||||
)
|
|
||||||
|
|
||||||
catkin_package()
|
catkin_package()
|
||||||
|
|
||||||
## Mark executable scripts (Python etc.) for installation
|
|
||||||
## in contrast to setup.py, you can choose the destination
|
|
||||||
catkin_install_python(PROGRAMS
|
|
||||||
scripts/sync_plan.py
|
|
||||||
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
|
||||||
)
|
|
||||||
|
|
||||||
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||||
PATTERN "setup_assistant.launch" EXCLUDE)
|
PATTERN "setup_assistant.launch" EXCLUDE)
|
||||||
install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
|
install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
cartesian_limits:
|
||||||
|
max_trans_vel: 1
|
||||||
|
max_trans_acc: 2.25
|
||||||
|
max_trans_dec: -5
|
||||||
|
max_rot_vel: 1.57
|
||||||
|
|
@ -7,12 +7,12 @@ learning_rate: 0.01
|
||||||
smoothness_cost_velocity: 0.0
|
smoothness_cost_velocity: 0.0
|
||||||
smoothness_cost_acceleration: 1.0
|
smoothness_cost_acceleration: 1.0
|
||||||
smoothness_cost_jerk: 0.0
|
smoothness_cost_jerk: 0.0
|
||||||
ridge_factor: 0.01
|
ridge_factor: 0.0
|
||||||
use_pseudo_inverse: false
|
use_pseudo_inverse: false
|
||||||
pseudo_inverse_ridge_factor: 1e-4
|
pseudo_inverse_ridge_factor: 1e-4
|
||||||
joint_update_limit: 0.1
|
joint_update_limit: 0.1
|
||||||
collision_clearence: 0.2
|
collision_clearance: 0.2
|
||||||
collision_threshold: 0.07
|
collision_threshold: 0.07
|
||||||
use_stochastic_descent: true
|
use_stochastic_descent: true
|
||||||
enable_failure_recovery: true
|
enable_failure_recovery: false
|
||||||
max_recovery_attempts: 5
|
max_recovery_attempts: 5
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
controller_list:
|
controller_list:
|
||||||
- name: fake_arm_group_controller
|
- name: fake_arm_group_controller
|
||||||
|
type: $(arg fake_execution_type)
|
||||||
joints:
|
joints:
|
||||||
- joint2_to_joint1
|
- joint2_to_joint1
|
||||||
- joint3_to_joint2
|
- joint3_to_joint2
|
||||||
|
|
@ -7,3 +8,6 @@ controller_list:
|
||||||
- joint5_to_joint4
|
- joint5_to_joint4
|
||||||
- joint6_to_joint5
|
- joint6_to_joint5
|
||||||
- joint6output_to_joint6
|
- joint6output_to_joint6
|
||||||
|
initial: # Define initial robot poses per group
|
||||||
|
- group: arm_group
|
||||||
|
pose: init_pose
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--This does not replace URDF, and is not an extension of URDF.
|
<!--This does not replace URDF, and is not an extension of URDF.
|
||||||
This is a format for representing semantic information about the robot structure.
|
This is a format for representing semantic information about the robot structure.
|
||||||
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
||||||
|
|
@ -20,24 +20,19 @@
|
||||||
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
||||||
<group_state name="init_pose" group="arm_group">
|
<group_state name="init_pose" group="arm_group">
|
||||||
<joint name="joint2_to_joint1" value="0"/>
|
<joint name="joint2_to_joint1" value="0"/>
|
||||||
<joint name="joint3_to_joint2" value="-1.5708" />
|
<joint name="joint3_to_joint2" value="0"/>
|
||||||
<joint name="joint4_to_joint3" value="0"/>
|
<joint name="joint4_to_joint3" value="0"/>
|
||||||
<joint name="joint5_to_joint4" value="-1.5708" />
|
<joint name="joint5_to_joint4" value="0"/>
|
||||||
<joint name="joint6_to_joint5" value="0"/>
|
<joint name="joint6_to_joint5" value="0"/>
|
||||||
<joint name="joint6output_to_joint6" value="0"/>
|
<joint name="joint6output_to_joint6" value="0"/>
|
||||||
</group_state>
|
</group_state>
|
||||||
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
||||||
|
|
||||||
<!-- <virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="joint1" /> -->
|
|
||||||
<virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="base"/>
|
<virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="base"/>
|
||||||
|
|
||||||
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
||||||
<disable_collisions link1="base" link2="link1" reason="Adjacent"/>
|
<disable_collisions link1="base" link2="link1" reason="Adjacent"/>
|
||||||
<disable_collisions link1="base" link2="link2" reason="Never"/>
|
<disable_collisions link1="base" link2="link2" reason="Never"/>
|
||||||
<disable_collisions link1="base" link2="link3" reason="Never" />
|
|
||||||
<disable_collisions link1="base" link2="link4" reason="Never"/>
|
<disable_collisions link1="base" link2="link4" reason="Never"/>
|
||||||
<disable_collisions link1="base" link2="link5" reason="Never"/>
|
<disable_collisions link1="base" link2="link5" reason="Never"/>
|
||||||
<disable_collisions link1="base" link2="link6" reason="Never" />
|
|
||||||
<disable_collisions link1="link1" link2="link2" reason="Adjacent"/>
|
<disable_collisions link1="link1" link2="link2" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link1" link2="link3" reason="Never"/>
|
<disable_collisions link1="link1" link2="link3" reason="Never"/>
|
||||||
<disable_collisions link1="link1" link2="link4" reason="Never"/>
|
<disable_collisions link1="link1" link2="link4" reason="Never"/>
|
||||||
|
|
@ -45,8 +40,6 @@
|
||||||
<disable_collisions link1="link1" link2="link6" reason="Never"/>
|
<disable_collisions link1="link1" link2="link6" reason="Never"/>
|
||||||
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
|
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link2" link2="link4" reason="Never"/>
|
<disable_collisions link1="link2" link2="link4" reason="Never"/>
|
||||||
<disable_collisions link1="link2" link2="link5" reason="Never" />
|
|
||||||
<disable_collisions link1="link2" link2="link6" reason="Never" />
|
|
||||||
<disable_collisions link1="link3" link2="link4" reason="Adjacent"/>
|
<disable_collisions link1="link3" link2="link4" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link3" link2="link5" reason="Never"/>
|
<disable_collisions link1="link3" link2="link5" reason="Never"/>
|
||||||
<disable_collisions link1="link3" link2="link6" reason="Never"/>
|
<disable_collisions link1="link3" link2="link6" reason="Never"/>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Publish joint_states
|
||||||
|
joint_state_controller:
|
||||||
|
type: joint_state_controller/JointStateController
|
||||||
|
publish_rate: 50
|
||||||
257
mycobot_pro/mycobot_600_moveit/config/gazebo_firefighter.urdf
Normal file
257
mycobot_pro/mycobot_600_moveit/config/gazebo_firefighter.urdf
Normal file
|
|
@ -0,0 +1,257 @@
|
||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter">
|
||||||
|
<xacro:property name="width" value=".2" />
|
||||||
|
<link name="base">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 1.5708 3.14159-->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/base.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0 " rpy=" 0 0 0" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0 0 0.04 " rpy=" 0 0 1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.06" radius="0.038" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link1">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link1.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0 " rpy="0 0 3.1415926" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 0.0 -0.02 " rpy=" 0 0 1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.03" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link2">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link2.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 -0.080 " rpy=" 3.1415926 0 3.1415926" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.128 0 -0.125 " rpy=" 0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.024" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link3">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link3.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 -0.0855 " rpy=" 3.1415926 0 3.1415926" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.128 0.0 -0.003 " rpy="0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.24" radius="0.024" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link4">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link4.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0 " rpy=" 0 3.1415926 0" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 -0.01 0.007" rpy=" 1.5708 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.024" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link5">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link5.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0 " rpy=" 0 0 1.5707" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 0.0 -0.015 " rpy=" 0 0 -1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.028" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link6">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<!--- 0.0 0 -0.04 -->
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_600/link6.dae" />
|
||||||
|
</geometry>
|
||||||
|
<material name="grey">
|
||||||
|
<color rgba="0.5 0.5 0.5 1" />
|
||||||
|
</material>
|
||||||
|
<origin xyz="0.03 0 0" rpy=" 0 -1.5707 0" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.006 0.0 -0.0 " rpy=" 0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.006" radius="0.026" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<joint name="joint2_to_joint1" type="revolute">
|
||||||
|
<axis xyz="0 0 1" />
|
||||||
|
<limit effort="1000.0" lower="-3.14" upper="3.14159" velocity="0" />
|
||||||
|
<parent link="base" />
|
||||||
|
<child link="link1" />
|
||||||
|
<origin xyz="0 0 0.19934" rpy="0 0 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint3_to_joint2" type="revolute">
|
||||||
|
<axis xyz="0 0 -1" />
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5708" velocity = "0"/> -->
|
||||||
|
<limit effort="1000.0" lower="-3.14159" upper="3.14159" velocity="0" />
|
||||||
|
<parent link="link1" />
|
||||||
|
<child link="link2" />
|
||||||
|
<origin xyz="0 0 0" rpy="1.5708 -1.5708 0" />
|
||||||
|
<!-- <origin xyz= "0 0 0" rpy = "1.5708 0 0"/> -->
|
||||||
|
</joint>
|
||||||
|
<joint name="joint4_to_joint3" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1" />
|
||||||
|
<limit effort="1000.0" lower="-2.61" upper="2.618" velocity="0" />
|
||||||
|
<parent link="link2" />
|
||||||
|
<child link="link3" />
|
||||||
|
<origin xyz="0.25 0 0 " rpy="0 0 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1" />
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
|
<limit effort="1000.0" lower="-2.9670" upper="2.9670" velocity="0" />
|
||||||
|
<parent link="link3" />
|
||||||
|
<child link="link4" />
|
||||||
|
<origin xyz="0.25 0 -0.1091" rpy="0 0 1.5708" />
|
||||||
|
<!-- <origin xyz= "0.25 0 -0.1091" rpy = "0 0 0"/> -->
|
||||||
|
</joint>
|
||||||
|
<joint name="joint6_to_joint5" type="revolute">
|
||||||
|
<axis xyz="0 0 1" />
|
||||||
|
<limit effort="1000.0" lower="-2.93" upper="2.9321" velocity="0" />
|
||||||
|
<parent link="link4" />
|
||||||
|
<child link="link5" />
|
||||||
|
<origin xyz="0 -0.108 0" rpy="1.57080 -1.57080 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint6output_to_joint6" type="revolute">
|
||||||
|
<axis xyz="-1 0 0" />
|
||||||
|
<limit effort="1000.0" lower="-3.03" upper="3.0368" velocity="0" />
|
||||||
|
<parent link="link5" />
|
||||||
|
<child link="link6" />
|
||||||
|
<origin xyz="-0.07586 0 0" rpy="-1.57080 0 0 " />
|
||||||
|
</joint>
|
||||||
|
<transmission name="trans_joint2_to_joint1">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint2_to_joint1">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint2_to_joint1_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint3_to_joint2">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint3_to_joint2">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint3_to_joint2_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint4_to_joint3">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint4_to_joint3">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint4_to_joint3_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint5_to_joint4">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint5_to_joint4">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint5_to_joint4_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint6_to_joint5">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint6_to_joint5">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint6_to_joint5_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint6output_to_joint6">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint6output_to_joint6">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint6output_to_joint6_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<gazebo>
|
||||||
|
<plugin name="gazebo_ros_control">
|
||||||
|
<robotNamespace>/</robotNamespace>
|
||||||
|
</plugin>
|
||||||
|
</gazebo>
|
||||||
|
</robot>
|
||||||
|
|
||||||
|
|
@ -1,34 +1,40 @@
|
||||||
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
||||||
|
|
||||||
|
# For beginners, we downscale velocity and acceleration limits.
|
||||||
|
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
|
||||||
|
default_velocity_scaling_factor: 0.1
|
||||||
|
default_acceleration_scaling_factor: 0.1
|
||||||
|
|
||||||
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
||||||
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
||||||
joint_limits:
|
joint_limits:
|
||||||
joint2_to_joint1:
|
joint2_to_joint1:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint3_to_joint2:
|
joint3_to_joint2:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint4_to_joint3:
|
joint4_to_joint3:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint5_to_joint4:
|
joint5_to_joint4:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint6_to_joint5:
|
joint6_to_joint5:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint6output_to_joint6:
|
joint6output_to_joint6:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
|
|
@ -2,4 +2,6 @@ arm_group:
|
||||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||||
kinematics_solver_search_resolution: 0.005
|
kinematics_solver_search_resolution: 0.005
|
||||||
kinematics_solver_timeout: 0.005
|
kinematics_solver_timeout: 0.005
|
||||||
kinematics_solver_attempts: 3
|
goal_joint_tolerance: 0.0001
|
||||||
|
goal_position_tolerance: 0.0001
|
||||||
|
goal_orientation_tolerance: 0.001
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
planner_configs:
|
planner_configs:
|
||||||
|
AnytimePathShortening:
|
||||||
|
type: geometric::AnytimePathShortening
|
||||||
|
shortcut: true # Attempt to shortcut all new solution paths
|
||||||
|
hybridize: true # Compute hybrid solution trajectories
|
||||||
|
max_hybrid_paths: 24 # Number of hybrid paths generated per iteration
|
||||||
|
num_planners: 4 # The number of default planners to use for planning
|
||||||
|
planners: "" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]"
|
||||||
SBL:
|
SBL:
|
||||||
type: geometric::SBL
|
type: geometric::SBL
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||||
|
|
@ -44,8 +51,8 @@ planner_configs:
|
||||||
temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0
|
temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0
|
||||||
min_temperature: 10e-10 # lower limit of temp change. default: 10e-10
|
min_temperature: 10e-10 # lower limit of temp change. default: 10e-10
|
||||||
init_temperature: 10e-6 # initial temperature. default: 10e-6
|
init_temperature: 10e-6 # initial temperature. default: 10e-6
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
frontier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
||||||
frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
frontier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
||||||
k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup()
|
k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup()
|
||||||
PRM:
|
PRM:
|
||||||
type: geometric::PRM
|
type: geometric::PRM
|
||||||
|
|
@ -88,8 +95,8 @@ planner_configs:
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||||
temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1
|
temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1
|
||||||
init_temperature: 100 # initial temperature. default: 100
|
init_temperature: 100 # initial temperature. default: 100
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
frontier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
||||||
frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
frontier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
||||||
cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf
|
cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf
|
||||||
LBTRRT:
|
LBTRRT:
|
||||||
type: geometric::LBTRRT
|
type: geometric::LBTRRT
|
||||||
|
|
@ -120,9 +127,47 @@ planner_configs:
|
||||||
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
||||||
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
||||||
max_failures: 5000 # maximum consecutive failure limit. default: 5000
|
max_failures: 5000 # maximum consecutive failure limit. default: 5000
|
||||||
|
AITstar:
|
||||||
|
type: geometric::AITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
|
set_max_num_goals: 1 # maximum number of goals sampled from sampleable goal regions. Valid values: [1:1:1000]. Default: 1
|
||||||
|
ABITstar:
|
||||||
|
type: geometric::ABITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
prune_threshold_as_fractional_cost_change: 0.1 # fractional change in the solution cost AND problem measure necessary for pruning to occur. Default: 0.1
|
||||||
|
delay_rewiring_to_first_solution: 0 # delay (1) or not (0) rewiring until a solution is found. Default: 0
|
||||||
|
use_just_in_time_sampling: 0 # delay the generation of samples until they are * necessary. Only works with r-disc connection and path length minimization. Default: 0
|
||||||
|
drop_unconnected_samples_on_prune: 0 # drop unconnected samples when pruning, regardless of their heuristic value. Default: 0
|
||||||
|
stop_on_each_solution_improvement: 0 # stop the planner each time a solution improvement is found. Useful for debugging. Default: 0
|
||||||
|
use_strict_queue_ordering: 0 # sort edges in the queue at the end of the batch (0) or after each rewiring (1). Default: 0
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
|
initial_inflation_factor: 1000000 # inflation factor for the initial search. Valid values: [1.0:0.01:1000000.0]. Default: 1000000
|
||||||
|
inflation_scaling_parameter: 10 # scaling parameter for the inflation factor update policy. Valid values: [1.0:0.01:1000000.0]. Default: 0
|
||||||
|
truncation_scaling_parameter: 5.0 # scaling parameter for the truncation factor update policy. Valid values: [1.0:0.01:1000000.0]. Default: 0
|
||||||
|
BITstar:
|
||||||
|
type: geometric::BITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
prune_threshold_as_fractional_cost_change: 0.1 # fractional change in the solution cost AND problem measure necessary for pruning to occur. Default: 0.1
|
||||||
|
delay_rewiring_to_first_solution: 0 # delay (1) or not (0) rewiring until a solution is found. Default: 0
|
||||||
|
use_just_in_time_sampling: 0 # delay the generation of samples until they are * necessary. Only works with r-disc connection and path length minimization. Default: 0
|
||||||
|
drop_unconnected_samples_on_prune: 0 # drop unconnected samples when pruning, regardless of their heuristic value. Default: 0
|
||||||
|
stop_on_each_solution_improvement: 0 # stop the planner each time a solution improvement is found. Useful for debugging. Default: 0
|
||||||
|
use_strict_queue_ordering: 0 # sort edges in the queue at the end of the batch (0) or after each rewiring (1). Default: 0
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
arm_group:
|
arm_group:
|
||||||
default_planner_config: RRTConnect
|
default_planner_config: RRTConnect
|
||||||
planner_configs:
|
planner_configs:
|
||||||
|
- AnytimePathShortening
|
||||||
- SBL
|
- SBL
|
||||||
- EST
|
- EST
|
||||||
- LBKPIECE
|
- LBKPIECE
|
||||||
|
|
@ -146,5 +191,8 @@ arm_group:
|
||||||
- LazyPRMstar
|
- LazyPRMstar
|
||||||
- SPARS
|
- SPARS
|
||||||
- SPARStwo
|
- SPARStwo
|
||||||
|
- AITstar
|
||||||
|
- ABITstar
|
||||||
|
- BITstar
|
||||||
projection_evaluator: joints(joint2_to_joint1,joint3_to_joint2)
|
projection_evaluator: joints(joint2_to_joint1,joint3_to_joint2)
|
||||||
longest_valid_segment_fraction: 0.005
|
longest_valid_segment_fraction: 0.005
|
||||||
|
|
@ -1,26 +1,40 @@
|
||||||
# Simulation settings for using moveit_sim_controllers
|
arm_group_controller:
|
||||||
moveit_sim_hw_interface:
|
type: effort_controllers/JointTrajectoryController
|
||||||
joint_model_group: arm_group
|
|
||||||
joint_model_group_pose: init_pose
|
|
||||||
# Settings for ros_control_boilerplate control loop
|
|
||||||
generic_hw_control_loop:
|
|
||||||
loop_hz: 300
|
|
||||||
cycle_time_error_threshold: 0.01
|
|
||||||
# Settings for ros_control hardware interface
|
|
||||||
hardware_interface:
|
|
||||||
joints:
|
joints:
|
||||||
- vitual_joint
|
|
||||||
- joint2_to_joint1
|
- joint2_to_joint1
|
||||||
- joint3_to_joint2
|
- joint3_to_joint2
|
||||||
- joint4_to_joint3
|
- joint4_to_joint3
|
||||||
- joint5_to_joint4
|
- joint5_to_joint4
|
||||||
- joint6_to_joint5
|
- joint6_to_joint5
|
||||||
- joint6output_to_joint6
|
- joint6output_to_joint6
|
||||||
sim_control_mode: 1 # 0: position, 1: velocity
|
gains:
|
||||||
# Publish all joint states
|
joint2_to_joint1:
|
||||||
# Creates the /joint_states topic necessary in ROS
|
p: 100
|
||||||
joint_state_controller:
|
d: 1
|
||||||
type: joint_state_controller/JointStateController
|
i: 1
|
||||||
publish_rate: 50
|
i_clamp: 1
|
||||||
controller_list:
|
joint3_to_joint2:
|
||||||
[]
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint4_to_joint3:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint5_to_joint4:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint6_to_joint5:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint6output_to_joint6:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
# The name of this file shouldn't be changed, or else the Setup Assistant won't detect it
|
|
||||||
sensors:
|
sensors:
|
||||||
- filtered_cloud_topic: filtered_cloud
|
- filtered_cloud_topic: filtered_cloud
|
||||||
max_range: 5.0
|
max_range: 5.0
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
controller_list:
|
||||||
|
- name: arm_group_controller
|
||||||
|
action_ns: follow_joint_trajectory
|
||||||
|
type: FollowJointTrajectory
|
||||||
|
default: True
|
||||||
|
joints:
|
||||||
|
- joint2_to_joint1
|
||||||
|
- joint3_to_joint2
|
||||||
|
- joint4_to_joint3
|
||||||
|
- joint5_to_joint4
|
||||||
|
- joint6_to_joint5
|
||||||
|
- joint6output_to_joint6
|
||||||
39
mycobot_pro/mycobot_600_moveit/config/stomp_planning.yaml
Normal file
39
mycobot_pro/mycobot_600_moveit/config/stomp_planning.yaml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
stomp/arm_group:
|
||||||
|
group_name: arm_group
|
||||||
|
optimization:
|
||||||
|
num_timesteps: 60
|
||||||
|
num_iterations: 40
|
||||||
|
num_iterations_after_valid: 0
|
||||||
|
num_rollouts: 30
|
||||||
|
max_rollouts: 30
|
||||||
|
initialization_method: 1 # [1 : LINEAR_INTERPOLATION, 2 : CUBIC_POLYNOMIAL, 3 : MININUM_CONTROL_COST]
|
||||||
|
control_cost_weight: 0.0
|
||||||
|
task:
|
||||||
|
noise_generator:
|
||||||
|
- class: stomp_moveit/NormalDistributionSampling
|
||||||
|
stddev: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||||
|
cost_functions:
|
||||||
|
- class: stomp_moveit/CollisionCheck
|
||||||
|
collision_penalty: 1.0
|
||||||
|
cost_weight: 1.0
|
||||||
|
kernel_window_percentage: 0.2
|
||||||
|
longest_valid_joint_move: 0.05
|
||||||
|
noisy_filters:
|
||||||
|
- class: stomp_moveit/JointLimits
|
||||||
|
lock_start: True
|
||||||
|
lock_goal: True
|
||||||
|
- class: stomp_moveit/MultiTrajectoryVisualization
|
||||||
|
line_width: 0.02
|
||||||
|
rgb: [255, 255, 0]
|
||||||
|
marker_array_topic: stomp_trajectories
|
||||||
|
marker_namespace: noisy
|
||||||
|
update_filters:
|
||||||
|
- class: stomp_moveit/PolynomialSmoother
|
||||||
|
poly_order: 6
|
||||||
|
- class: stomp_moveit/TrajectoryVisualization
|
||||||
|
line_width: 0.05
|
||||||
|
rgb: [0, 191, 255]
|
||||||
|
error_rgb: [255, 0, 0]
|
||||||
|
publish_intermediate: True
|
||||||
|
marker_topic: stomp_trajectory
|
||||||
|
marker_namespace: optimized
|
||||||
|
|
@ -1,10 +1,21 @@
|
||||||
<launch>
|
<launch>
|
||||||
<!-- CHOMP Plugin for MoveIt! -->
|
<arg name="start_state_max_bounds_error" default="0.1" />
|
||||||
<arg name="planning_plugin" value="chomp_interface/CHOMPPlanner" />
|
<arg name="jiggle_fraction" default="0.05" />
|
||||||
<arg name="start_state_max_bounds_error" value="0.1" />
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/ResolveConstraintFrames
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints"
|
||||||
|
/>
|
||||||
|
|
||||||
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
<param name="planning_plugin" value="chomp_interface/CHOMPPlanner" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/chomp_planning.yaml" />
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/chomp_planning.yaml" />
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<arg name="moveit_warehouse_database_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
<arg name="moveit_warehouse_database_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- Launch the warehouse with the configured database location -->
|
<!-- Launch the warehouse with the configured database location -->
|
||||||
<include file="$(find mycobot_600_moveit)/launch/warehouse.launch">
|
<include file="$(dirname)/warehouse.launch">
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg moveit_warehouse_database_path)" />
|
<arg name="moveit_warehouse_database_path" value="$(arg moveit_warehouse_database_path)" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,65 +1,66 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- specify the planning pipeline -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- By default, we do not start a database (it can be large) -->
|
||||||
<!-- 默认情况下,我们不启动数据库(它可能很大) -->
|
|
||||||
<arg name="db" default="false" />
|
<arg name="db" default="false" />
|
||||||
<!-- Allow user to specify database location -->
|
<!-- Allow user to specify database location -->
|
||||||
<!-- 允许用户指定数据库位置 -->
|
|
||||||
<arg name="db_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
<arg name="db_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode -->
|
<!-- By default, we are not in debug mode -->
|
||||||
<!-- 默认情况下,我们不处于调试模式 -->
|
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
|
|
||||||
<!--
|
<!-- By default, we will load or override the robot_description -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<arg name="load_robot_description" default="true"/>
|
||||||
|
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
<!-- Choose controller manager: fake, simple, or ros_control -->
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
<arg name="moveit_controller_manager" default="fake" />
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
<!-- Set execution mode for fake execution controllers -->
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
-->
|
|
||||||
|
<!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode -->
|
||||||
<arg name="use_gui" default="false" />
|
<arg name="use_gui" default="false" />
|
||||||
|
<arg name="use_rviz" default="true" />
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<!-- 加载参数服务器上的URDF、SRDF等.yaml配置文件-->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="true"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
<!-- If needed, broadcast static tf for robot root -->
|
||||||
|
<node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_0" args="0 0 0 0 0 0 basic base" />
|
||||||
|
|
||||||
|
<group if="$(eval arg('moveit_controller_manager') == 'fake')">
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
<!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher
|
||||||
<!-- 我们没有连接机器人,所以发布假关节状态 -->
|
MoveIt's fake controller's joint states are considered via the 'source_list' parameter -->
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)">
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
|
</node>
|
||||||
|
<!-- If desired, a GUI version is available allowing to move the simulated robot around manually
|
||||||
|
This corresponds to moving around the real robot without the use of MoveIt. -->
|
||||||
|
<node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)">
|
||||||
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
<!-- 给定已发布的关节状态,为机器人链接发布 tf -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
<!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) -->
|
||||||
<!-- 运行主MoveIt! 没有轨迹执行的可执行文件(我们默认没有配置控制器)-->
|
<include file="$(dirname)/move_group.launch">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
<arg name="allow_trajectory_execution" value="true"/>
|
||||||
<arg name="fake_execution" value="true"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)"/>
|
||||||
<arg name="info" value="true"/>
|
<arg name="info" value="true"/>
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)"/>
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
||||||
<!-- 运行 Rviz 并加载默认配置以查看 move_group 节点的状态 -->
|
<include file="$(dirname)/moveit_rviz.launch" if="$(arg use_rviz)">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/moveit_rviz.launch">
|
<arg name="rviz_config" value="$(dirname)/moveit.rviz"/>
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
<!-- If database loading was enabled, start mongodb as well -->
|
||||||
<!-- 如果启用了数据库加载,也启动 mongodb -->
|
<include file="$(dirname)/default_warehouse_db.launch" if="$(arg db)">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,70 +1,21 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
<launch>
|
<launch>
|
||||||
|
<!-- MoveIt options -->
|
||||||
|
<arg name="pipeline" default="ompl" doc="Planning pipeline to use with MoveIt"/>
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- Gazebo options -->
|
||||||
<arg name="db" default="false" />
|
<arg name="gazebo_gui" default="true" doc="Start Gazebo GUI"/>
|
||||||
<!-- Allow user to specify database location -->
|
<arg name="paused" default="false" doc="Start Gazebo paused"/>
|
||||||
<arg name="db_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
<arg name="world_name" default="worlds/empty.world" doc="Gazebo world file"/>
|
||||||
|
<arg name="world_pose" default="-x 0 -y 0 -z 0 -R 0 -P 0 -Y 0" doc="Pose to spawn the robot at"/>
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode -->
|
<!-- Launch Gazebo and spawn the robot -->
|
||||||
<arg name="debug" default="false" />
|
<include file="$(dirname)/gazebo.launch" pass_all_args="true"/>
|
||||||
|
|
||||||
<!--
|
<!-- Launch MoveIt -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<include file="$(dirname)/demo.launch" pass_all_args="true">
|
||||||
|
<!-- robot_description is loaded by gazebo.launch, to enable Gazebo features -->
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
|
||||||
-->
|
|
||||||
<arg name="use_gui" default="false" />
|
|
||||||
|
|
||||||
<!-- Gazebo specific options -->
|
|
||||||
<arg name="gazebo_gui" default="true"/>
|
|
||||||
<arg name="paused" default="false"/>
|
|
||||||
<!-- By default, use the urdf location provided from the package -->
|
|
||||||
<arg name="urdf_path" default="$(find mycobot_description)/urdf/mycobot_pro_600/mycobot_pro_600.urdf"/>
|
|
||||||
|
|
||||||
<!-- launch the gazebo simulator and spawn the robot -->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/gazebo.launch" >
|
|
||||||
<arg name="paused" value="$(arg paused)"/>
|
|
||||||
<arg name="gazebo_gui" value="$(arg gazebo_gui)"/>
|
|
||||||
<arg name="urdf_path" value="$(arg urdf_path)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="false" />
|
<arg name="load_robot_description" value="false" />
|
||||||
|
<arg name="moveit_controller_manager" value="ros_control" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
|
||||||
<rosparam param="source_list">[/joint_states]</rosparam>
|
|
||||||
</node>
|
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
|
||||||
<arg name="fake_execution" value="false"/>
|
|
||||||
<arg name="info" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/moveit_rviz.launch">
|
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- execute the trajectory in 'interpolate' mode or jump to goal position in 'last point' mode -->
|
||||||
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
|
|
||||||
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
|
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
|
||||||
<param name="moveit_controller_manager" value="moveit_fake_controller_manager/MoveItFakeControllerManager"/>
|
<param name="moveit_controller_manager" value="moveit_fake_controller_manager/MoveItFakeControllerManager"/>
|
||||||
|
|
||||||
<!-- The rest of the params are specific to this plugin -->
|
<!-- The rest of the params are specific to this plugin -->
|
||||||
<rosparam file="$(find mycobot_600_moveit)/config/fake_controllers.yaml"/>
|
<rosparam subst_value="true" file="$(find mycobot_600_moveit)/config/fake_controllers.yaml"/>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,34 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<launch>
|
<launch>
|
||||||
<arg name="paused" default="false"/>
|
<!-- Gazebo options -->
|
||||||
<arg name="gazebo_gui" default="true"/>
|
<arg name="gazebo_gui" default="true" doc="Start Gazebo GUI"/>
|
||||||
<arg name="urdf_path" default="$(find mycobot_description)/urdf/mycobot_pro_600/mycobot_pro_600.urdf"/>
|
<arg name="paused" default="false" doc="Start Gazebo paused"/>
|
||||||
|
<arg name="world_name" default="worlds/empty.world" doc="Gazebo world file"/>
|
||||||
|
<arg name="world_pose" default="-x 0 -y 0 -z 0 -R 0 -P 0 -Y 0" doc="Pose to spawn the robot at"/>
|
||||||
|
<arg name="initial_joint_positions" default=" -J joint2_to_joint1 0 -J joint3_to_joint2 -1.5708 -J joint4_to_joint3 0 -J joint5_to_joint4 -1.5708 -J joint6_to_joint5 0 -J joint6output_to_joint6 0" doc="Initial joint configuration of the robot"/>
|
||||||
|
|
||||||
<!-- startup simulated world -->
|
<!-- Start Gazebo paused to allow the controllers to pickup the initial pose -->
|
||||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
<include file="$(find gazebo_ros)/launch/empty_world.launch" pass_all_args="true">
|
||||||
<arg name="world_name" default="worlds/empty.world"/>
|
<arg name="paused" value="true"/>
|
||||||
<arg name="paused" value="$(arg paused)"/>
|
|
||||||
<arg name="gui" value="$(arg gazebo_gui)"/>
|
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- send robot urdf to param server -->
|
<!-- Set the robot urdf on the parameter server -->
|
||||||
<param name="robot_description" textfile="$(arg urdf_path)" />
|
<param name="robot_description" textfile="$(find mycobot_600_moveit)/config/gazebo_firefighter.urdf" />
|
||||||
|
|
||||||
<!-- push robot_description to factory and spawn robot in gazebo at the origin, change x,y,z arguments to spawn in a different position -->
|
<!-- Unpause the simulation after loading the robot model -->
|
||||||
<node name="spawn_gazebo_model" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model robot -x 0 -y 0 -z 0"
|
<arg name="unpause" value="$(eval '' if arg('paused') else '-unpause')" />
|
||||||
|
|
||||||
|
<!-- Spawn the robot in Gazebo -->
|
||||||
|
<node name="spawn_gazebo_model" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model robot $(arg unpause) $(arg world_pose) $(arg initial_joint_positions)"
|
||||||
respawn="false" output="screen" />
|
respawn="false" output="screen" />
|
||||||
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/ros_controllers.launch"/>
|
<!-- Load the controller parameters onto the parameter server -->
|
||||||
|
<rosparam file="$(find mycobot_600_moveit)/config/gazebo_controllers.yaml" />
|
||||||
|
<include file="$(dirname)/ros_controllers.launch"/>
|
||||||
|
|
||||||
|
<!-- Spawn the Gazebo ROS controllers -->
|
||||||
|
<node name="gazebo_controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller" />
|
||||||
|
|
||||||
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/planning_context.launch" />
|
|
||||||
|
|
||||||
<!-- GDB Debug Option -->
|
<!-- GDB Debug Option -->
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
||||||
<arg if="$(arg debug)" name="launch_prefix"
|
<arg if="$(arg debug)" name="launch_prefix"
|
||||||
value="gdb -x $(find mycobot_600_moveit)/launch/gdb_settings.gdb --ex run --args" />
|
value="gdb -x $(dirname)/gdb_settings.gdb --ex run --args" />
|
||||||
|
|
||||||
<!-- Verbose Mode Option -->
|
<!-- Verbose Mode Option -->
|
||||||
<arg name="info" default="$(arg debug)" />
|
<arg name="info" default="$(arg debug)" />
|
||||||
|
|
@ -14,10 +12,11 @@
|
||||||
<arg if="$(arg info)" name="command_args" value="--debug" />
|
<arg if="$(arg info)" name="command_args" value="--debug" />
|
||||||
|
|
||||||
<!-- move_group settings -->
|
<!-- move_group settings -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
<arg name="allow_trajectory_execution" default="true"/>
|
<arg name="allow_trajectory_execution" default="true"/>
|
||||||
<arg name="fake_execution" default="false"/>
|
<arg name="moveit_controller_manager" default="simple" />
|
||||||
|
<arg name="fake_execution_type" default="interpolate"/>
|
||||||
<arg name="max_safe_path_cost" default="1"/>
|
<arg name="max_safe_path_cost" default="1"/>
|
||||||
<arg name="jiggle_fraction" default="0.05" />
|
|
||||||
<arg name="publish_monitored_planning_scene" default="true"/>
|
<arg name="publish_monitored_planning_scene" default="true"/>
|
||||||
|
|
||||||
<arg name="capabilities" default=""/>
|
<arg name="capabilities" default=""/>
|
||||||
|
|
@ -38,20 +37,46 @@
|
||||||
" />
|
" />
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Planning Functionality -->
|
<arg name="load_robot_description" default="false" />
|
||||||
<include ns="move_group" file="$(find mycobot_600_moveit)/launch/planning_pipeline.launch.xml">
|
<!-- load URDF, SRDF and joint_limits configuration -->
|
||||||
|
<include file="$(dirname)/planning_context.launch">
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Planning Pipelines -->
|
||||||
|
<group ns="move_group/planning_pipelines">
|
||||||
|
|
||||||
|
<!-- OMPL -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
<arg name="pipeline" value="ompl" />
|
<arg name="pipeline" value="ompl" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
<!-- CHOMP -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="chomp" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Pilz Industrial Motion -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="pilz_industrial_motion_planner" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Support custom planning pipeline -->
|
||||||
|
<include if="$(eval arg('pipeline') not in ['ompl', 'chomp', 'pilz_industrial_motion_planner'])"
|
||||||
|
file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)" />
|
||||||
|
</include>
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Trajectory Execution Functionality -->
|
<!-- Trajectory Execution Functionality -->
|
||||||
<include ns="move_group" file="$(find mycobot_600_moveit)/launch/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
|
<include ns="move_group" file="$(dirname)/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
|
||||||
<arg name="moveit_manage_controllers" value="true" />
|
<arg name="moveit_manage_controllers" value="true" />
|
||||||
<arg name="moveit_controller_manager" value="firefighter" unless="$(arg fake_execution)"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
<arg name="moveit_controller_manager" value="fake" if="$(arg fake_execution)"/>
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Sensors Functionality -->
|
<!-- Sensors Functionality -->
|
||||||
<include ns="move_group" file="$(find mycobot_600_moveit)/launch/sensor_manager.launch.xml" if="$(arg allow_trajectory_execution)">
|
<include ns="move_group" file="$(dirname)/sensor_manager.launch.xml" if="$(arg allow_trajectory_execution)">
|
||||||
<arg name="moveit_sensor_manager" value="firefighter" />
|
<arg name="moveit_sensor_manager" value="firefighter" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
@ -61,11 +86,14 @@
|
||||||
<env name="DISPLAY" value="$(optenv DISPLAY :0)" />
|
<env name="DISPLAY" value="$(optenv DISPLAY :0)" />
|
||||||
|
|
||||||
<param name="allow_trajectory_execution" value="$(arg allow_trajectory_execution)"/>
|
<param name="allow_trajectory_execution" value="$(arg allow_trajectory_execution)"/>
|
||||||
<param name="max_safe_path_cost" value="$(arg max_safe_path_cost)"/>
|
<param name="sense_for_plan/max_safe_path_cost" value="$(arg max_safe_path_cost)"/>
|
||||||
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
<param name="default_planning_pipeline" value="$(arg pipeline)" />
|
||||||
<param name="capabilities" value="$(arg capabilities)" />
|
<param name="capabilities" value="$(arg capabilities)" />
|
||||||
<param name="disable_capabilities" value="$(arg disable_capabilities)" />
|
<param name="disable_capabilities" value="$(arg disable_capabilities)" />
|
||||||
|
|
||||||
|
<!-- do not copy dynamics information from /joint_states to internal robot monitoring
|
||||||
|
default to false, because almost nothing in move_group relies on this information -->
|
||||||
|
<param name="monitor_dynamics" value="false" />
|
||||||
|
|
||||||
<!-- Publish the planning scene of the physical robot so that rviz plugin can know actual robot -->
|
<!-- Publish the planning scene of the physical robot so that rviz plugin can know actual robot -->
|
||||||
<param name="planning_scene_monitor/publish_planning_scene" value="$(arg publish_monitored_planning_scene)" />
|
<param name="planning_scene_monitor/publish_planning_scene" value="$(arg publish_monitored_planning_scene)" />
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ Panels:
|
||||||
- /MotionPlanning1/Scene Robot1
|
- /MotionPlanning1/Scene Robot1
|
||||||
- /MotionPlanning1/Planning Request1
|
- /MotionPlanning1/Planning Request1
|
||||||
- /MotionPlanning1/Planned Path1
|
- /MotionPlanning1/Planned Path1
|
||||||
Splitter Ratio: 0.742560029
|
Splitter Ratio: 0.7425600290298462
|
||||||
Tree Height: 195
|
Tree Height: 197
|
||||||
- Class: rviz/Help
|
- Class: rviz/Help
|
||||||
Name: Help
|
Name: Help
|
||||||
- Class: rviz/Views
|
- Class: rviz/Views
|
||||||
|
|
@ -18,6 +18,8 @@ Panels:
|
||||||
- /Current View1
|
- /Current View1
|
||||||
Name: Views
|
Name: Views
|
||||||
Splitter Ratio: 0.5
|
Splitter Ratio: 0.5
|
||||||
|
Preferences:
|
||||||
|
PromptSaveOnExit: true
|
||||||
Toolbars:
|
Toolbars:
|
||||||
toolButtonStyle: 2
|
toolButtonStyle: 2
|
||||||
Visualization Manager:
|
Visualization Manager:
|
||||||
|
|
@ -29,7 +31,7 @@ Visualization Manager:
|
||||||
Color: 160; 160; 164
|
Color: 160; 160; 164
|
||||||
Enabled: true
|
Enabled: true
|
||||||
Line Style:
|
Line Style:
|
||||||
Line Width: 0.0299999993
|
Line Width: 0.029999999329447746
|
||||||
Value: Lines
|
Value: Lines
|
||||||
Name: Grid
|
Name: Grid
|
||||||
Normal Cell Count: 0
|
Normal Cell Count: 0
|
||||||
|
|
@ -49,12 +51,10 @@ Visualization Manager:
|
||||||
MoveIt_Allow_External_Program: false
|
MoveIt_Allow_External_Program: false
|
||||||
MoveIt_Allow_Replanning: false
|
MoveIt_Allow_Replanning: false
|
||||||
MoveIt_Allow_Sensor_Positioning: false
|
MoveIt_Allow_Sensor_Positioning: false
|
||||||
MoveIt_Goal_Tolerance: 0
|
|
||||||
MoveIt_Planning_Attempts: 10
|
MoveIt_Planning_Attempts: 10
|
||||||
MoveIt_Planning_Time: 5
|
MoveIt_Planning_Time: 5
|
||||||
|
MoveIt_Use_Cartesian_Path: false
|
||||||
MoveIt_Use_Constraint_Aware_IK: true
|
MoveIt_Use_Constraint_Aware_IK: true
|
||||||
MoveIt_Warehouse_Host: 127.0.0.1
|
|
||||||
MoveIt_Warehouse_Port: 33829
|
|
||||||
MoveIt_Workspace:
|
MoveIt_Workspace:
|
||||||
Center:
|
Center:
|
||||||
X: 0
|
X: 0
|
||||||
|
|
@ -118,18 +118,19 @@ Visualization Manager:
|
||||||
State Display Time: 0.05 s
|
State Display Time: 0.05 s
|
||||||
Trail Step Size: 1
|
Trail Step Size: 1
|
||||||
Trajectory Topic: move_group/display_planned_path
|
Trajectory Topic: move_group/display_planned_path
|
||||||
|
Use Sim Time: false
|
||||||
Planning Metrics:
|
Planning Metrics:
|
||||||
Payload: 1
|
Payload: 1
|
||||||
Show Joint Torques: false
|
Show Joint Torques: false
|
||||||
Show Manipulability: false
|
Show Manipulability: false
|
||||||
Show Manipulability Index: false
|
Show Manipulability Index: false
|
||||||
Show Weight Limit: false
|
Show Weight Limit: false
|
||||||
TextHeight: 0.0799999982
|
TextHeight: 0.07999999821186066
|
||||||
Planning Request:
|
Planning Request:
|
||||||
Colliding Link Color: 255; 0; 0
|
Colliding Link Color: 255; 0; 0
|
||||||
Goal State Alpha: 1
|
Goal State Alpha: 1
|
||||||
Goal State Color: 250; 128; 0
|
Goal State Color: 250; 128; 0
|
||||||
Interactive Marker Size: 0.109999999
|
Interactive Marker Size: 0.10999999940395355
|
||||||
Joint Violation Color: 255; 0; 255
|
Joint Violation Color: 255; 0; 255
|
||||||
Planning Group: arm_group
|
Planning Group: arm_group
|
||||||
Query Goal State: true
|
Query Goal State: true
|
||||||
|
|
@ -142,7 +143,7 @@ Visualization Manager:
|
||||||
Scene Geometry:
|
Scene Geometry:
|
||||||
Scene Alpha: 1
|
Scene Alpha: 1
|
||||||
Scene Color: 50; 230; 50
|
Scene Color: 50; 230; 50
|
||||||
Scene Display Time: 0.200000003
|
Scene Display Time: 0.20000000298023224
|
||||||
Show Scene Geometry: true
|
Show Scene Geometry: true
|
||||||
Voxel Coloring: Z-Axis
|
Voxel Coloring: Z-Axis
|
||||||
Voxel Rendering: Occupied Voxels
|
Voxel Rendering: Occupied Voxels
|
||||||
|
|
@ -210,30 +211,30 @@ Visualization Manager:
|
||||||
Views:
|
Views:
|
||||||
Current:
|
Current:
|
||||||
Class: rviz/XYOrbit
|
Class: rviz/XYOrbit
|
||||||
Distance: 1.39158678
|
Distance: 1.8773764371871948
|
||||||
Enable Stereo Rendering:
|
Enable Stereo Rendering:
|
||||||
Stereo Eye Separation: 0.0599999987
|
Stereo Eye Separation: 0.05999999865889549
|
||||||
Stereo Focal Distance: 1
|
Stereo Focal Distance: 1
|
||||||
Swap Stereo Eyes: false
|
Swap Stereo Eyes: false
|
||||||
Value: false
|
Value: false
|
||||||
|
Field of View: 0.7853981852531433
|
||||||
Focal Point:
|
Focal Point:
|
||||||
X: 0.113567002
|
X: 0.11356700211763382
|
||||||
Y: 0.105920002
|
Y: 0.10592000186443329
|
||||||
Z: 2.23518001e-07
|
Z: 2.2351800055275817e-07
|
||||||
Focal Shape Fixed Size: true
|
Focal Shape Fixed Size: true
|
||||||
Focal Shape Size: 0.0500000007
|
Focal Shape Size: 0.05000000074505806
|
||||||
Invert Z Axis: false
|
Invert Z Axis: false
|
||||||
Name: Current View
|
Name: Current View
|
||||||
Near Clip Distance: 0.00999999978
|
Near Clip Distance: 0.009999999776482582
|
||||||
Pitch: 0.354796648
|
Pitch: 0.3547966778278351
|
||||||
Target Frame: base
|
Target Frame: base
|
||||||
Value: XYOrbit (rviz)
|
Yaw: 2.836765766143799
|
||||||
Yaw: 2.02676558
|
|
||||||
Saved: ~
|
Saved: ~
|
||||||
Window Geometry:
|
Window Geometry:
|
||||||
Displays:
|
Displays:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Height: 898
|
Height: 906
|
||||||
Help:
|
Help:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Hide Left Dock: false
|
Hide Left Dock: false
|
||||||
|
|
@ -242,9 +243,9 @@ Window Geometry:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
MotionPlanning - Trajectory Slider:
|
MotionPlanning - Trajectory Slider:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
QMainWindow State: 000000ff00000000fd0000000100000000000002ad0000033cfc0200000007fb000000100044006900730070006c006100790073010000002800000158000000d700fffffffb0000000800480065006c00700000000342000000bb0000007300fffffffb0000000a0056006900650077007300000003b0000000b0000000ad00fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c006900640065007201000001860000004a0000004a00fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001d60000018e0000018300ffffff000004710000033c00000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
QMainWindow State: 000000ff00000000fd0000000100000000000001f300000330fc0200000007fb000000100044006900730070006c006100790073010000003d00000156000000c900fffffffb0000000800480065006c00700000000342000000bb0000006e00fffffffb0000000a0056006900650077007300000003b0000000b0000000a400fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720100000199000000420000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001e10000018c0000017d00ffffff0000053f0000033000000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||||
Views:
|
Views:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Width: 1828
|
Width: 1848
|
||||||
X: 60
|
X: 72
|
||||||
Y: 15
|
Y: 27
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,12 @@
|
||||||
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
||||||
<arg if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />
|
<arg if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />
|
||||||
|
|
||||||
<arg name="config" default="false" />
|
<arg name="rviz_config" default="" />
|
||||||
<arg unless="$(arg config)" name="command_args" value="" />
|
<arg if="$(eval rviz_config=='')" name="command_args" value="" />
|
||||||
<arg if="$(arg config)" name="command_args" value="-d $(find mycobot_600_moveit)/launch/moveit.rviz" />
|
<arg unless="$(eval rviz_config=='')" name="command_args" value="-d $(arg rviz_config)" />
|
||||||
|
|
||||||
<node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
|
<node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
|
||||||
args="$(arg command_args)" output="screen">
|
args="$(arg command_args)" output="screen">
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/kinematics.yaml"/>
|
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,64 +1,66 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- specify the planning pipeline -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- By default, we do not start a database (it can be large) -->
|
||||||
<!-- 默认情况下,我们不启动数据库(它可能很大) -->
|
|
||||||
<arg name="db" default="false" />
|
<arg name="db" default="false" />
|
||||||
<!-- Allow user to specify database location -->
|
<!-- Allow user to specify database location -->
|
||||||
<!-- 允许用户指定数据库位置 -->
|
|
||||||
<arg name="db_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
<arg name="db_path" default="$(find mycobot_600_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode --> <!-- 默认情况下,我们不处于调试模式 -->
|
<!-- By default, we are not in debug mode -->
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
|
|
||||||
<!--
|
<!-- By default, we will load or override the robot_description -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<arg name="load_robot_description" default="true"/>
|
||||||
|
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
<!-- Choose controller manager: fake, simple, or ros_control -->
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
<arg name="moveit_controller_manager" default="fake" />
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
<!-- Set execution mode for fake execution controllers -->
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
-->
|
|
||||||
|
<!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode -->
|
||||||
<arg name="use_gui" default="false" />
|
<arg name="use_gui" default="false" />
|
||||||
|
<arg name="use_rviz" default="true" />
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<!-- 加载参数服务器上的URDF、SRDF等.yaml配置文件-->
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="true"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
<!-- If needed, broadcast static tf for robot root -->
|
||||||
|
<node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_0" args="0 0 0 0 0 0 basic base" />
|
||||||
|
|
||||||
|
<group if="$(eval arg('moveit_controller_manager') == 'fake')">
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
<!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher
|
||||||
<!-- 我们没有连接机器人,所以发布假关节状态 -->
|
MoveIt's fake controller's joint states are considered via the 'source_list' parameter -->
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)">
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
|
</node>
|
||||||
|
<!-- If desired, a GUI version is available allowing to move the simulated robot around manually
|
||||||
|
This corresponds to moving around the real robot without the use of MoveIt. -->
|
||||||
|
<node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)">
|
||||||
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
<!-- 给定已发布的关节状态,为机器人链接发布 tf -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
<!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) -->
|
||||||
<!-- 运行主MoveIt! 没有轨迹执行的可执行文件(我们默认没有配置控制器)-->
|
<include file="$(dirname)/move_group.launch">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
<arg name="allow_trajectory_execution" value="true"/>
|
||||||
<arg name="fake_execution" value="true"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)"/>
|
||||||
<arg name="info" value="true"/>
|
<arg name="info" value="true"/>
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)"/>
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
||||||
<!-- 运行 Rviz 并加载默认配置以查看 move_group 节点的状态 -->
|
<include file="$(dirname)/moveit_rviz.launch" if="$(arg use_rviz)">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/moveit_rviz.launch">
|
<arg name="rviz_config" value="$(dirname)/moveit.rviz"/>
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
<!-- If database loading was enabled, start mongodb as well -->
|
||||||
<!-- 如果启用了数据库加载,也启动 mongodb -->
|
<include file="$(dirname)/default_warehouse_db.launch" if="$(arg db)">
|
||||||
<include file="$(find mycobot_600_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
<launch>
|
||||||
|
<!-- load OMPL planning pipeline, but add the CHOMP planning adapter. -->
|
||||||
|
<include file="$(find mycobot_600_moveit)/launch/ompl_planning_pipeline.launch.xml">
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints
|
||||||
|
chomp/OptimizerAdapter"
|
||||||
|
/>
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- load chomp config -->
|
||||||
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/chomp_planning.yaml" />
|
||||||
|
|
||||||
|
<!-- override trajectory_initialization_method: Use OMPL-generated trajectory -->
|
||||||
|
<param name="trajectory_initialization_method" value="fillTrajectory"/>
|
||||||
|
</launch>
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<!-- OMPL Plugin for MoveIt! -->
|
<!-- The request adapters (plugins) used when planning with OMPL. ORDER MATTERS! -->
|
||||||
<arg name="planning_plugin" value="ompl_interface/OMPLPlanner" />
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
<!-- The request adapters (plugins) used when planning with OMPL.
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
ORDER MATTERS -->
|
default_planner_request_adapters/ResolveConstraintFrames
|
||||||
<arg name="planning_adapters" value="default_planner_request_adapters/AddTimeParameterization
|
|
||||||
default_planner_request_adapters/FixWorkspaceBounds
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
default_planner_request_adapters/FixStartStateBounds
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
default_planner_request_adapters/FixStartStateCollision
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
default_planner_request_adapters/FixStartStatePathConstraints" />
|
default_planner_request_adapters/FixStartStatePathConstraints"
|
||||||
|
/>
|
||||||
|
|
||||||
<arg name="start_state_max_bounds_error" value="0.1" />
|
<arg name="start_state_max_bounds_error" default="0.1" />
|
||||||
|
<arg name="jiggle_fraction" default="0.05" />
|
||||||
|
|
||||||
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
<param name="planning_plugin" value="ompl_interface/OMPLPlanner" />
|
||||||
<param name="request_adapters" value="$(arg planning_adapters)" />
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/ompl_planning.yaml"/>
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/ompl_planning.yaml"/>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<launch>
|
||||||
|
|
||||||
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters" default="" />
|
||||||
|
|
||||||
|
<param name="planning_plugin" value="pilz_industrial_motion_planner::CommandPlanner" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
|
|
||||||
|
<!-- Define default planner (for all groups) -->
|
||||||
|
<param name="default_planner_config" value="PTP" />
|
||||||
|
|
||||||
|
<!-- MoveGroup capabilities to load for this pipeline, append sequence capability -->
|
||||||
|
<param name="capabilities" value="pilz_industrial_motion_planner/MoveGroupSequenceAction
|
||||||
|
pilz_industrial_motion_planner/MoveGroupSequenceService" />
|
||||||
|
</launch>
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<arg name="robot_description" default="robot_description"/>
|
<arg name="robot_description" default="robot_description"/>
|
||||||
|
|
||||||
<!-- Load universal robot description format (URDF) -->
|
<!-- Load universal robot description format (URDF) -->
|
||||||
<param if="$(arg load_robot_description)" name="$(arg robot_description)" textfile="$(find mycobot_description)/urdf/mycobot_pro_600/mycobot_pro_600.urdf"/>
|
<param if="$(arg load_robot_description)" name="$(arg robot_description)" textfile="$(find mycobot_description)/urdf/mycobot_pro_600/mycobot_pro_600_moveit.urdf"/>
|
||||||
|
|
||||||
<!-- The semantic description that corresponds to the URDF -->
|
<!-- The semantic description that corresponds to the URDF -->
|
||||||
<param name="$(arg robot_description)_semantic" textfile="$(find mycobot_600_moveit)/config/firefighter.srdf" />
|
<param name="$(arg robot_description)_semantic" textfile="$(find mycobot_600_moveit)/config/firefighter.srdf" />
|
||||||
|
|
@ -14,11 +14,13 @@
|
||||||
<!-- Load updated joint limits (override information from URDF) -->
|
<!-- Load updated joint limits (override information from URDF) -->
|
||||||
<group ns="$(arg robot_description)_planning">
|
<group ns="$(arg robot_description)_planning">
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/joint_limits.yaml"/>
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/joint_limits.yaml"/>
|
||||||
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/cartesian_limits.yaml"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<!-- Load default settings for kinematics; these settings are overridden by settings in a node's namespace -->
|
<!-- Load default settings for kinematics; these settings are overridden by settings in a node's namespace -->
|
||||||
<group ns="$(arg robot_description)_kinematics">
|
<group ns="$(arg robot_description)_kinematics">
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/kinematics.yaml"/>
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/kinematics.yaml"/>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@
|
||||||
|
|
||||||
<arg name="pipeline" default="ompl" />
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<include file="$(find mycobot_600_moveit)/launch/$(arg pipeline)_planning_pipeline.launch.xml" />
|
<include ns="$(arg pipeline)" file="$(dirname)/$(arg pipeline)_planning_pipeline.launch.xml" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Define MoveIt controller manager plugin -->
|
||||||
|
<param name="moveit_controller_manager" value="moveit_ros_control_interface::MoveItControllerManager" />
|
||||||
|
</launch>
|
||||||
|
|
@ -6,6 +6,6 @@
|
||||||
|
|
||||||
<!-- Load the controllers -->
|
<!-- Load the controllers -->
|
||||||
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
|
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
|
||||||
output="screen" args=""/>
|
output="screen" args="arm_group_controller "/>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,17 @@
|
||||||
<arg name="cfg" />
|
<arg name="cfg" />
|
||||||
|
|
||||||
<!-- Load URDF -->
|
<!-- Load URDF -->
|
||||||
<include file="$(find mycobot_600_moveit)/launch/planning_context.launch">
|
<include file="$(dirname)/planning_context.launch">
|
||||||
<arg name="load_robot_description" value="true"/>
|
<arg name="load_robot_description" value="true"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Start the database -->
|
<!-- Start the database -->
|
||||||
<include file="$(find mycobot_600_moveit)/launch/warehouse.launch">
|
<include file="$(dirname)/warehouse.launch">
|
||||||
<arg name="moveit_warehouse_database_path" value="moveit_ompl_benchmark_warehouse"/>
|
<arg name="moveit_warehouse_database_path" value="moveit_ompl_benchmark_warehouse"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Start Benchmark Executable -->
|
<!-- Start Benchmark Executable -->
|
||||||
<node name="$(anon moveit_benchmark)" pkg="moveit_ros_benchmarks" type="moveit_run_benchmark" args="$(arg cfg) --benchmark-planners" respawn="false" output="screen">
|
<node name="$(anon moveit_benchmark)" pkg="moveit_ros_benchmarks" type="moveit_run_benchmark" args="$(arg cfg) --benchmark-planners" respawn="false" output="screen">
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/kinematics.yaml"/>
|
|
||||||
<rosparam command="load" file="$(find mycobot_600_moveit)/config/ompl_planning.yaml"/>
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/ompl_planning.yaml"/>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,6 @@
|
||||||
|
|
||||||
<!-- Load the robot specific sensor manager; this sets the moveit_sensor_manager ROS parameter -->
|
<!-- Load the robot specific sensor manager; this sets the moveit_sensor_manager ROS parameter -->
|
||||||
<arg name="moveit_sensor_manager" default="firefighter" />
|
<arg name="moveit_sensor_manager" default="firefighter" />
|
||||||
<include file="$(find mycobot_600_moveit)/launch/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />
|
<include file="$(dirname)/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<!-- Re-launch the MoveIt! Setup Assistant with this configuration package already loaded -->
|
<!-- Re-launch the MoveIt Setup Assistant with this configuration package already loaded -->
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<!-- Debug Info -->
|
<!-- Debug Info -->
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<node pkg="moveit_setup_assistant" type="moveit_setup_assistant" name="moveit_setup_assistant"
|
<node pkg="moveit_setup_assistant" type="moveit_setup_assistant" name="moveit_setup_assistant"
|
||||||
args="--config_pkg=mycobot_600_moveit"
|
args="--config_pkg=mycobot_600_moveit"
|
||||||
launch-prefix="$(arg launch_prefix)"
|
launch-prefix="$(arg launch_prefix)"
|
||||||
|
required="true"
|
||||||
output="screen" />
|
output="screen" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Define the MoveIt controller manager plugin to use for trajectory execution -->
|
||||||
|
<param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
|
||||||
|
|
||||||
|
<!-- Load controller list to the parameter server -->
|
||||||
|
<rosparam file="$(find mycobot_600_moveit)/config/simple_moveit_controllers.yaml" />
|
||||||
|
<rosparam file="$(find mycobot_600_moveit)/config/ros_controllers.yaml" />
|
||||||
|
</launch>
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Stomp Plugin for MoveIt -->
|
||||||
|
<arg name="planning_plugin" value="stomp_moveit/StompPlannerManager" />
|
||||||
|
|
||||||
|
<arg name="start_state_max_bounds_error" value="0.1" />
|
||||||
|
<arg name="jiggle_fraction" value="0.05" />
|
||||||
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints" />
|
||||||
|
|
||||||
|
|
||||||
|
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
|
<rosparam command="load" file="$(find mycobot_600_moveit)/config/stomp_planning.yaml"/>
|
||||||
|
</launch>
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
<!-- This file summarizes all settings required for trajectory execution -->
|
||||||
|
|
||||||
<!-- This file makes it easy to include the settings for trajectory execution -->
|
<!-- Define moveit controller manager plugin: fake, simple, or ros_control -->
|
||||||
|
<arg name="moveit_controller_manager" />
|
||||||
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
|
|
||||||
<!-- Flag indicating whether MoveIt! is allowed to load/unload or switch controllers -->
|
<!-- Flag indicating whether MoveIt is allowed to load/unload or switch controllers -->
|
||||||
<arg name="moveit_manage_controllers" default="true"/>
|
<arg name="moveit_manage_controllers" default="true"/>
|
||||||
<param name="moveit_manage_controllers" value="$(arg moveit_manage_controllers)"/>
|
<param name="moveit_manage_controllers" value="$(arg moveit_manage_controllers)"/>
|
||||||
|
|
||||||
|
|
@ -13,8 +16,8 @@
|
||||||
<!-- Allowed joint-value tolerance for validation that trajectory's first point matches current robot state -->
|
<!-- Allowed joint-value tolerance for validation that trajectory's first point matches current robot state -->
|
||||||
<param name="trajectory_execution/allowed_start_tolerance" value="0.01"/> <!-- default 0.01 -->
|
<param name="trajectory_execution/allowed_start_tolerance" value="0.01"/> <!-- default 0.01 -->
|
||||||
|
|
||||||
<!-- Load the robot specific controller manager; this sets the moveit_controller_manager ROS parameter -->
|
<!-- We use pass_all_args=true here to pass fake_execution_type, which is required by fake controllers, but not by real-robot controllers.
|
||||||
<arg name="moveit_controller_manager" default="firefighter" />
|
As real-robot controller_manager.launch files shouldn't be required to define this argument, we use the trick of passing all args. -->
|
||||||
<include file="$(find mycobot_600_moveit)/launch/$(arg moveit_controller_manager)_moveit_controller_manager.launch.xml" />
|
<include file="$(dirname)/$(arg moveit_controller_manager)_moveit_controller_manager.launch.xml" pass_all_args="true" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<arg name="moveit_warehouse_database_path" />
|
<arg name="moveit_warehouse_database_path" />
|
||||||
|
|
||||||
<!-- Load warehouse parameters -->
|
<!-- Load warehouse parameters -->
|
||||||
<include file="$(find mycobot_600_moveit)/launch/warehouse_settings.launch.xml" />
|
<include file="$(dirname)/warehouse_settings.launch.xml" />
|
||||||
|
|
||||||
<!-- Run the DB server -->
|
<!-- Run the DB server -->
|
||||||
<node name="$(anon mongo_wrapper_ros)" cwd="ROS_HOME" type="mongo_wrapper_ros.py" pkg="warehouse_ros_mongo">
|
<node name="$(anon mongo_wrapper_ros)" cwd="ROS_HOME" type="mongo_wrapper_ros.py" pkg="warehouse_ros_mongo">
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<name>mycobot_600_moveit</name>
|
<name>mycobot_600_moveit</name>
|
||||||
<version>0.3.0</version>
|
<version>0.3.0</version>
|
||||||
<description>
|
<description>
|
||||||
An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt! Motion Planning Framework
|
An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt Motion Planning Framework
|
||||||
</description>
|
</description>
|
||||||
<author email="weijian.wang@elephantrobotics.com">wangweijian</author>
|
<author email="weijian.wang@elephantrobotics.com">wangweijian</author>
|
||||||
<maintainer email="weijian.wang@elephantrobotics.com">wangweijian</maintainer>
|
<maintainer email="weijian.wang@elephantrobotics.com">wangweijian</maintainer>
|
||||||
|
|
@ -19,20 +19,22 @@
|
||||||
<run_depend>moveit_ros_move_group</run_depend>
|
<run_depend>moveit_ros_move_group</run_depend>
|
||||||
<run_depend>moveit_fake_controller_manager</run_depend>
|
<run_depend>moveit_fake_controller_manager</run_depend>
|
||||||
<run_depend>moveit_kinematics</run_depend>
|
<run_depend>moveit_kinematics</run_depend>
|
||||||
<run_depend>moveit_planners_ompl</run_depend>
|
<run_depend>moveit_planners</run_depend>
|
||||||
<run_depend>moveit_ros_visualization</run_depend>
|
<run_depend>moveit_ros_visualization</run_depend>
|
||||||
<run_depend>moveit_setup_assistant</run_depend>
|
<run_depend>moveit_setup_assistant</run_depend>
|
||||||
|
<run_depend>moveit_simple_controller_manager</run_depend>
|
||||||
<run_depend>joint_state_publisher</run_depend>
|
<run_depend>joint_state_publisher</run_depend>
|
||||||
|
<run_depend>joint_state_publisher_gui</run_depend>
|
||||||
<run_depend>robot_state_publisher</run_depend>
|
<run_depend>robot_state_publisher</run_depend>
|
||||||
|
<run_depend>rviz</run_depend>
|
||||||
|
<run_depend>tf2_ros</run_depend>
|
||||||
<run_depend>xacro</run_depend>
|
<run_depend>xacro</run_depend>
|
||||||
|
<!-- The next 2 packages are required for the gazebo simulation.
|
||||||
|
We don't include them by default to prevent installing gazebo and all its dependencies. -->
|
||||||
|
<!-- <run_depend>joint_trajectory_controller</run_depend> -->
|
||||||
|
<!-- <run_depend>gazebo_ros_control</run_depend> -->
|
||||||
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
|
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
|
||||||
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
|
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
|
||||||
<build_depend>roscpp</build_depend>
|
|
||||||
<build_depend>rospy</build_depend>
|
|
||||||
<build_depend>std_msgs</build_depend>
|
|
||||||
<build_depend>actionlib</build_depend>
|
|
||||||
<build_depend>moveit_msgs</build_depend>
|
|
||||||
<build_depend>mycobot_description</build_depend>
|
|
||||||
<run_depend>mycobot_description</run_depend>
|
<run_depend>mycobot_description</run_depend>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@ def callback(data):
|
||||||
radians_to_angles = round(math.degrees(value), 2)
|
radians_to_angles = round(math.degrees(value), 2)
|
||||||
data_list.append(radians_to_angles)
|
data_list.append(radians_to_angles)
|
||||||
|
|
||||||
|
data_list[1] = data_list[1] - 90
|
||||||
|
data_list[3] = data_list[3] - 90
|
||||||
|
|
||||||
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||||
mc.write_angles(data_list, 1000)
|
mc.write_angles(data_list, 1000)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ Visualization Manager:
|
||||||
Views:
|
Views:
|
||||||
Current:
|
Current:
|
||||||
Class: rviz/Orbit
|
Class: rviz/Orbit
|
||||||
Distance: 1.5878180265426636
|
Distance: 2.1886165142059326
|
||||||
Enable Stereo Rendering:
|
Enable Stereo Rendering:
|
||||||
Stereo Eye Separation: 0.05999999865889549
|
Stereo Eye Separation: 0.05999999865889549
|
||||||
Stereo Focal Distance: 1
|
Stereo Focal Distance: 1
|
||||||
|
|
@ -196,9 +196,9 @@ Visualization Manager:
|
||||||
Invert Z Axis: false
|
Invert Z Axis: false
|
||||||
Name: Current View
|
Name: Current View
|
||||||
Near Clip Distance: 0.009999999776482582
|
Near Clip Distance: 0.009999999776482582
|
||||||
Pitch: 0.5947973132133484
|
Pitch: 0.8997963666915894
|
||||||
Target Frame: <Fixed Frame>
|
Target Frame: <Fixed Frame>
|
||||||
Yaw: 2.5353903770446777
|
Yaw: 3.4653899669647217
|
||||||
Saved: ~
|
Saved: ~
|
||||||
Window Geometry:
|
Window Geometry:
|
||||||
Displays:
|
Displays:
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,9 @@ def callback(data):
|
||||||
radians_to_angles = round(math.degrees(value), 2)
|
radians_to_angles = round(math.degrees(value), 2)
|
||||||
data_list.append(radians_to_angles)
|
data_list.append(radians_to_angles)
|
||||||
|
|
||||||
|
data_list[1] = data_list[1] - 90
|
||||||
|
data_list[3] = data_list[3] - 90
|
||||||
|
|
||||||
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||||
mc.write_angles(data_list, 800)
|
mc.write_angles(data_list, 800)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
moveit_setup_assistant_config:
|
moveit_setup_assistant_config:
|
||||||
URDF:
|
URDF:
|
||||||
package: mycobot_description
|
package: mycobot_description
|
||||||
relative_path: urdf/mycobot_pro_630/mycobot_pro_630.urdf
|
relative_path: urdf/mycobot_pro_630/mycobot_pro_630_moveit.urdf
|
||||||
xacro_args: "--inorder "
|
xacro_args: "--inorder "
|
||||||
SRDF:
|
SRDF:
|
||||||
relative_path: config/firefighter.srdf
|
relative_path: config/firefighter.srdf
|
||||||
CONFIG:
|
CONFIG:
|
||||||
author_name: wangweijian
|
author_name: wangweijian
|
||||||
author_email: weijian.wang@elephantrobotics.com
|
author_email: weijian.wang@elephantrobotics.com
|
||||||
generated_timestamp: 1652406964
|
generated_timestamp: 1736239899
|
||||||
|
|
@ -1,21 +1,10 @@
|
||||||
cmake_minimum_required(VERSION 2.8.3)
|
cmake_minimum_required(VERSION 3.1.3)
|
||||||
project(mycobot_630_moveit)
|
project(mycobot_630_moveit)
|
||||||
|
|
||||||
find_package(catkin REQUIRED
|
find_package(catkin REQUIRED)
|
||||||
rospy
|
|
||||||
std_msgs
|
|
||||||
moveit_msgs
|
|
||||||
)
|
|
||||||
|
|
||||||
catkin_package()
|
catkin_package()
|
||||||
|
|
||||||
## Mark executable scripts (Python etc.) for installation
|
|
||||||
## in contrast to setup.py, you can choose the destination
|
|
||||||
catkin_install_python(PROGRAMS
|
|
||||||
scripts/sync_plan.py
|
|
||||||
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
|
|
||||||
)
|
|
||||||
|
|
||||||
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||||
PATTERN "setup_assistant.launch" EXCLUDE)
|
PATTERN "setup_assistant.launch" EXCLUDE)
|
||||||
install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
|
install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
cartesian_limits:
|
||||||
|
max_trans_vel: 1
|
||||||
|
max_trans_acc: 2.25
|
||||||
|
max_trans_dec: -5
|
||||||
|
max_rot_vel: 1.57
|
||||||
|
|
@ -7,12 +7,12 @@ learning_rate: 0.01
|
||||||
smoothness_cost_velocity: 0.0
|
smoothness_cost_velocity: 0.0
|
||||||
smoothness_cost_acceleration: 1.0
|
smoothness_cost_acceleration: 1.0
|
||||||
smoothness_cost_jerk: 0.0
|
smoothness_cost_jerk: 0.0
|
||||||
ridge_factor: 0.01
|
ridge_factor: 0.0
|
||||||
use_pseudo_inverse: false
|
use_pseudo_inverse: false
|
||||||
pseudo_inverse_ridge_factor: 1e-4
|
pseudo_inverse_ridge_factor: 1e-4
|
||||||
joint_update_limit: 0.1
|
joint_update_limit: 0.1
|
||||||
collision_clearence: 0.2
|
collision_clearance: 0.2
|
||||||
collision_threshold: 0.07
|
collision_threshold: 0.07
|
||||||
use_stochastic_descent: true
|
use_stochastic_descent: true
|
||||||
enable_failure_recovery: true
|
enable_failure_recovery: false
|
||||||
max_recovery_attempts: 5
|
max_recovery_attempts: 5
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
controller_list:
|
controller_list:
|
||||||
- name: fake_arm_group_controller
|
- name: fake_arm_group_controller
|
||||||
|
type: $(arg fake_execution_type)
|
||||||
joints:
|
joints:
|
||||||
- joint1_to_base
|
- joint1_to_base
|
||||||
- joint2_to_joint1
|
- joint2_to_joint1
|
||||||
|
|
@ -7,3 +8,6 @@ controller_list:
|
||||||
- joint4_to_joint3
|
- joint4_to_joint3
|
||||||
- joint5_to_joint4
|
- joint5_to_joint4
|
||||||
- joint6_to_joint5
|
- joint6_to_joint5
|
||||||
|
initial: # Define initial robot poses per group
|
||||||
|
- group: arm_group
|
||||||
|
pose: init_pose
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--This does not replace URDF, and is not an extension of URDF.
|
<!--This does not replace URDF, and is not an extension of URDF.
|
||||||
This is a format for representing semantic information about the robot structure.
|
This is a format for representing semantic information about the robot structure.
|
||||||
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
A URDF file must exist for this robot as well, where the joints and the links that are referenced are defined
|
||||||
|
|
@ -20,33 +20,22 @@
|
||||||
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
<!--GROUP STATES: Purpose: Define a named state for a particular group, in terms of joint values. This is useful to define states like 'folded arms'-->
|
||||||
<group_state name="init_pose" group="arm_group">
|
<group_state name="init_pose" group="arm_group">
|
||||||
<joint name="joint1_to_base" value="0"/>
|
<joint name="joint1_to_base" value="0"/>
|
||||||
<joint name="joint2_to_joint1" value="-1.5708" />
|
<joint name="joint2_to_joint1" value="0"/>
|
||||||
<joint name="joint3_to_joint2" value="0"/>
|
<joint name="joint3_to_joint2" value="0"/>
|
||||||
<joint name="joint4_to_joint3" value="-1.5708" />
|
<joint name="joint4_to_joint3" value="0"/>
|
||||||
<joint name="joint5_to_joint4" value="0"/>
|
<joint name="joint5_to_joint4" value="0"/>
|
||||||
<joint name="joint6_to_joint5" value="0"/>
|
<joint name="joint6_to_joint5" value="0"/>
|
||||||
</group_state>
|
</group_state>
|
||||||
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
<!--VIRTUAL JOINT: Purpose: this element defines a virtual joint between a robot link and an external frame of reference (considered fixed with respect to the robot)-->
|
||||||
|
|
||||||
<!-- <virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="joint1" /> -->
|
|
||||||
<virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="base"/>
|
<virtual_joint name="vitual_joint" type="fixed" parent_frame="basic" child_link="base"/>
|
||||||
|
|
||||||
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
<!--DISABLE COLLISIONS: By default it is assumed that any link of the robot could potentially come into collision with any other link in the robot. This tag disables collision checking between a specified pair of links. -->
|
||||||
<disable_collisions link1="base" link2="link1" reason="Adjacent"/>
|
<disable_collisions link1="base" link2="link1" reason="Adjacent"/>
|
||||||
<disable_collisions link1="base" link2="link2" reason="Never" />
|
|
||||||
<disable_collisions link1="base" link2="link3" reason="Never" />
|
|
||||||
<disable_collisions link1="base" link2="link4" reason="Never" />
|
|
||||||
<disable_collisions link1="base" link2="link5" reason="Never" />
|
|
||||||
<disable_collisions link1="base" link2="link6" reason="Never" />
|
|
||||||
<disable_collisions link1="link1" link2="link2" reason="Adjacent"/>
|
<disable_collisions link1="link1" link2="link2" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link1" link2="link3" reason="Never"/>
|
<disable_collisions link1="link1" link2="link3" reason="Never"/>
|
||||||
<disable_collisions link1="link1" link2="link4" reason="Never"/>
|
<disable_collisions link1="link1" link2="link4" reason="Never"/>
|
||||||
<disable_collisions link1="link1" link2="link5" reason="Never"/>
|
<disable_collisions link1="link1" link2="link5" reason="Never"/>
|
||||||
<disable_collisions link1="link1" link2="link6" reason="Never" />
|
|
||||||
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
|
<disable_collisions link1="link2" link2="link3" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link2" link2="link4" reason="Never"/>
|
<disable_collisions link1="link2" link2="link4" reason="Never"/>
|
||||||
<disable_collisions link1="link2" link2="link5" reason="Never" />
|
|
||||||
<disable_collisions link1="link2" link2="link6" reason="Never" />
|
|
||||||
<disable_collisions link1="link3" link2="link4" reason="Adjacent"/>
|
<disable_collisions link1="link3" link2="link4" reason="Adjacent"/>
|
||||||
<disable_collisions link1="link3" link2="link5" reason="Never"/>
|
<disable_collisions link1="link3" link2="link5" reason="Never"/>
|
||||||
<disable_collisions link1="link3" link2="link6" reason="Never"/>
|
<disable_collisions link1="link3" link2="link6" reason="Never"/>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Publish joint_states
|
||||||
|
joint_state_controller:
|
||||||
|
type: joint_state_controller/JointStateController
|
||||||
|
publish_rate: 50
|
||||||
250
mycobot_pro/mycobot_630_moveit/config/gazebo_firefighter.urdf
Normal file
250
mycobot_pro/mycobot_630_moveit/config/gazebo_firefighter.urdf
Normal file
|
|
@ -0,0 +1,250 @@
|
||||||
|
<?xml version="1.0" ?>
|
||||||
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter">
|
||||||
|
<xacro:property name="width" value=".2" />
|
||||||
|
<link name="base">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/base.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0 " rpy=" 1.5707 0 0" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0 0 0.04 " rpy=" 0 0 1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.08" radius="0.06" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link1">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link1.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 -0.06 " rpy="0 0 3.1415926" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 0.0 -0.02 " rpy=" 0 0 1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.06" radius="0.03" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link2">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link2.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 -0.0446 " rpy=" 0 -1.5707 -1.5707" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.14 0 -0.08 " rpy=" 0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.028" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link3">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link3.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 -0.0444 " rpy=" 0 1.5707 -1.5707" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.13 0.0 0.02 " rpy="0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.28" radius="0.024" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link4">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link4.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="0 0 0.041 " rpy=" -1.5707 0 1.5707" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 -0.01 0.007" rpy=" 1.5708 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.024" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link5">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link5.dae" />
|
||||||
|
</geometry>
|
||||||
|
<origin xyz="-0.043 0 0 " rpy=" 0 -1.5707 3.1415926" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.0 0.0 -0.015 " rpy=" 0 0 -1.5708" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.05" radius="0.028" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<link name="link6">
|
||||||
|
<visual>
|
||||||
|
<geometry>
|
||||||
|
<mesh filename="package://mycobot_description/urdf/mycobot_pro_630/link6.dae" />
|
||||||
|
</geometry>
|
||||||
|
<!-- <material name = "grey">
|
||||||
|
<color rgba = "0.5 0.5 0.5 1"/>
|
||||||
|
</material> -->
|
||||||
|
<origin xyz="0.01 0 0" rpy=" 0 1.5707 0" />
|
||||||
|
</visual>
|
||||||
|
<collision>
|
||||||
|
<origin xyz="0.006 0.0 -0.0 " rpy=" 0 1.5708 0" />
|
||||||
|
<geometry>
|
||||||
|
<cylinder length="0.006" radius="0.026" />
|
||||||
|
</geometry>
|
||||||
|
</collision>
|
||||||
|
<inertial>
|
||||||
|
<mass value="0.1" />
|
||||||
|
<origin xyz="0 0 0" rpy="0 0 0" />
|
||||||
|
<inertia ixx="0.03" iyy="0.03" izz="0.03" ixy="0.0" ixz="0.0" iyz="0.0" />
|
||||||
|
</inertial>
|
||||||
|
</link>
|
||||||
|
<joint name="joint1_to_base" type="revolute">
|
||||||
|
<axis xyz="0 0 1" />
|
||||||
|
<limit effort="1000.0" lower="-3.14" upper="3.14159" velocity="0" />
|
||||||
|
<parent link="base" />
|
||||||
|
<child link="link1" />
|
||||||
|
<origin xyz="0 0 0.22934" rpy="0 0 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint2_to_joint1" type="revolute">
|
||||||
|
<axis xyz="0 0 -1" />
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.71" upper = "1.5707" velocity = "0"/> -->
|
||||||
|
<limit effort="1000.0" lower="-3.14159" upper="3.14159" velocity="0" />
|
||||||
|
<parent link="link1" />
|
||||||
|
<child link="link2" />
|
||||||
|
<origin xyz="0 0 0" rpy="1.5707 -1.5708 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint3_to_joint2" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1" />
|
||||||
|
<limit effort="1000.0" lower="-2.61" upper="2.618" velocity="0" />
|
||||||
|
<parent link="link2" />
|
||||||
|
<child link="link3" />
|
||||||
|
<origin xyz="0.27 0 0 " rpy="0 0 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint4_to_joint3" type="revolute">
|
||||||
|
<axis xyz=" 0 0 -1" />
|
||||||
|
<!-- <limit effort = "1000.0" lower = "-4.53" upper = "1.3962" velocity = "0"/> -->
|
||||||
|
<limit effort="1000.0" lower="-2.9670" upper="2.9670" velocity="0" />
|
||||||
|
<parent link="link3" />
|
||||||
|
<child link="link4" />
|
||||||
|
<origin xyz="0.267 0 -0.0745" rpy="0 0 1.5708" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint5_to_joint4" type="revolute">
|
||||||
|
<axis xyz="0 0 1" />
|
||||||
|
<limit effort="1000.0" lower="-2.93" upper="2.9321" velocity="0" />
|
||||||
|
<parent link="link4" />
|
||||||
|
<child link="link5" />
|
||||||
|
<origin xyz="0 -0.095 0.002" rpy="1.5707 -1.5707 0" />
|
||||||
|
</joint>
|
||||||
|
<joint name="joint6_to_joint5" type="revolute">
|
||||||
|
<axis xyz="-1 0 0" />
|
||||||
|
<limit effort="1000.0" lower="-3.03" upper="3.0368" velocity="0" />
|
||||||
|
<parent link="link5" />
|
||||||
|
<child link="link6" />
|
||||||
|
<origin xyz="-0.054 0 0" rpy="-1.5707 0 0 " />
|
||||||
|
</joint>
|
||||||
|
<transmission name="trans_joint1_to_base">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint1_to_base">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint1_to_base_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint2_to_joint1">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint2_to_joint1">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint2_to_joint1_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint3_to_joint2">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint3_to_joint2">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint3_to_joint2_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint4_to_joint3">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint4_to_joint3">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint4_to_joint3_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint5_to_joint4">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint5_to_joint4">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint5_to_joint4_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<transmission name="trans_joint6_to_joint5">
|
||||||
|
<type>transmission_interface/SimpleTransmission</type>
|
||||||
|
<joint name="joint6_to_joint5">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
</joint>
|
||||||
|
<actuator name="joint6_to_joint5_motor">
|
||||||
|
<hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
|
||||||
|
<mechanicalReduction>1</mechanicalReduction>
|
||||||
|
</actuator>
|
||||||
|
</transmission>
|
||||||
|
<gazebo>
|
||||||
|
<plugin name="gazebo_ros_control">
|
||||||
|
<robotNamespace>/</robotNamespace>
|
||||||
|
</plugin>
|
||||||
|
</gazebo>
|
||||||
|
</robot>
|
||||||
|
|
||||||
|
|
@ -1,34 +1,40 @@
|
||||||
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
# joint_limits.yaml allows the dynamics properties specified in the URDF to be overwritten or augmented as needed
|
||||||
|
|
||||||
|
# For beginners, we downscale velocity and acceleration limits.
|
||||||
|
# You can always specify higher scaling factors (<= 1.0) in your motion requests. # Increase the values below to 1.0 to always move at maximum speed.
|
||||||
|
default_velocity_scaling_factor: 0.1
|
||||||
|
default_acceleration_scaling_factor: 0.1
|
||||||
|
|
||||||
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
# Specific joint properties can be changed with the keys [max_position, min_position, max_velocity, max_acceleration]
|
||||||
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
# Joint limits can be turned off with [has_velocity_limits, has_acceleration_limits]
|
||||||
joint_limits:
|
joint_limits:
|
||||||
joint1_to_base:
|
joint1_to_base:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint2_to_joint1:
|
joint2_to_joint1:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint3_to_joint2:
|
joint3_to_joint2:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint4_to_joint3:
|
joint4_to_joint3:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint5_to_joint4:
|
joint5_to_joint4:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
joint6_to_joint5:
|
joint6_to_joint5:
|
||||||
has_velocity_limits: true
|
has_velocity_limits: false
|
||||||
max_velocity: 3.14
|
max_velocity: 0
|
||||||
has_acceleration_limits: false
|
has_acceleration_limits: false
|
||||||
max_acceleration: 30
|
max_acceleration: 0
|
||||||
|
|
@ -2,4 +2,6 @@ arm_group:
|
||||||
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
|
||||||
kinematics_solver_search_resolution: 0.005
|
kinematics_solver_search_resolution: 0.005
|
||||||
kinematics_solver_timeout: 0.005
|
kinematics_solver_timeout: 0.005
|
||||||
kinematics_solver_attempts: 3
|
goal_joint_tolerance: 0.0001
|
||||||
|
goal_position_tolerance: 0.0001
|
||||||
|
goal_orientation_tolerance: 0.001
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
planner_configs:
|
planner_configs:
|
||||||
|
AnytimePathShortening:
|
||||||
|
type: geometric::AnytimePathShortening
|
||||||
|
shortcut: true # Attempt to shortcut all new solution paths
|
||||||
|
hybridize: true # Compute hybrid solution trajectories
|
||||||
|
max_hybrid_paths: 24 # Number of hybrid paths generated per iteration
|
||||||
|
num_planners: 4 # The number of default planners to use for planning
|
||||||
|
planners: "" # A comma-separated list of planner types (e.g., "PRM,EST,RRTConnect"Optionally, planner parameters can be passed to change the default:"PRM[max_nearest_neighbors=5],EST[goal_bias=.5],RRT[range=10. goal_bias=.1]"
|
||||||
SBL:
|
SBL:
|
||||||
type: geometric::SBL
|
type: geometric::SBL
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||||
|
|
@ -44,8 +51,8 @@ planner_configs:
|
||||||
temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0
|
temp_change_factor: 2.0 # how much to increase or decrease temp. default: 2.0
|
||||||
min_temperature: 10e-10 # lower limit of temp change. default: 10e-10
|
min_temperature: 10e-10 # lower limit of temp change. default: 10e-10
|
||||||
init_temperature: 10e-6 # initial temperature. default: 10e-6
|
init_temperature: 10e-6 # initial temperature. default: 10e-6
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
frontier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
||||||
frountierNodeRatio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
frontier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
||||||
k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup()
|
k_constant: 0.0 # value used to normalize expresssion. default: 0.0 set in setup()
|
||||||
PRM:
|
PRM:
|
||||||
type: geometric::PRM
|
type: geometric::PRM
|
||||||
|
|
@ -88,8 +95,8 @@ planner_configs:
|
||||||
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
range: 0.0 # Max motion added to tree. ==> maxDistance_ default: 0.0, if 0.0, set on setup()
|
||||||
temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1
|
temp_change_factor: 0.1 # how much to increase or decrease temp. default: 0.1
|
||||||
init_temperature: 100 # initial temperature. default: 100
|
init_temperature: 100 # initial temperature. default: 100
|
||||||
frountier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
frontier_threshold: 0.0 # dist new state to nearest neighbor to disqualify as frontier. default: 0.0 set in setup()
|
||||||
frountier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
frontier_node_ratio: 0.1 # 1/10, or 1 nonfrontier for every 10 frontier. default: 0.1
|
||||||
cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf
|
cost_threshold: 1e300 # the cost threshold. Any motion cost that is not better will not be expanded. default: inf
|
||||||
LBTRRT:
|
LBTRRT:
|
||||||
type: geometric::LBTRRT
|
type: geometric::LBTRRT
|
||||||
|
|
@ -120,9 +127,47 @@ planner_configs:
|
||||||
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
sparse_delta_fraction: 0.25 # delta fraction for connection distance. This value represents the visibility range of sparse samples. default: 0.25
|
||||||
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
dense_delta_fraction: 0.001 # delta fraction for interface detection. default: 0.001
|
||||||
max_failures: 5000 # maximum consecutive failure limit. default: 5000
|
max_failures: 5000 # maximum consecutive failure limit. default: 5000
|
||||||
|
AITstar:
|
||||||
|
type: geometric::AITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
|
set_max_num_goals: 1 # maximum number of goals sampled from sampleable goal regions. Valid values: [1:1:1000]. Default: 1
|
||||||
|
ABITstar:
|
||||||
|
type: geometric::ABITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
prune_threshold_as_fractional_cost_change: 0.1 # fractional change in the solution cost AND problem measure necessary for pruning to occur. Default: 0.1
|
||||||
|
delay_rewiring_to_first_solution: 0 # delay (1) or not (0) rewiring until a solution is found. Default: 0
|
||||||
|
use_just_in_time_sampling: 0 # delay the generation of samples until they are * necessary. Only works with r-disc connection and path length minimization. Default: 0
|
||||||
|
drop_unconnected_samples_on_prune: 0 # drop unconnected samples when pruning, regardless of their heuristic value. Default: 0
|
||||||
|
stop_on_each_solution_improvement: 0 # stop the planner each time a solution improvement is found. Useful for debugging. Default: 0
|
||||||
|
use_strict_queue_ordering: 0 # sort edges in the queue at the end of the batch (0) or after each rewiring (1). Default: 0
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
|
initial_inflation_factor: 1000000 # inflation factor for the initial search. Valid values: [1.0:0.01:1000000.0]. Default: 1000000
|
||||||
|
inflation_scaling_parameter: 10 # scaling parameter for the inflation factor update policy. Valid values: [1.0:0.01:1000000.0]. Default: 0
|
||||||
|
truncation_scaling_parameter: 5.0 # scaling parameter for the truncation factor update policy. Valid values: [1.0:0.01:1000000.0]. Default: 0
|
||||||
|
BITstar:
|
||||||
|
type: geometric::BITstar
|
||||||
|
use_k_nearest: 1 # whether to use a k-nearest RGG connection model (1) or an r-disc model (0). Default: 1
|
||||||
|
rewire_factor: 1.001 # rewire factor of the RGG. Valid values: [1.0:0.01:3.0]. Default: 1.001
|
||||||
|
samples_per_batch: 100 # batch size. Valid values: [1:1:1000]. Default: 100
|
||||||
|
use_graph_pruning: 1 # enable graph pruning (1) or not (0). Default: 1
|
||||||
|
prune_threshold_as_fractional_cost_change: 0.1 # fractional change in the solution cost AND problem measure necessary for pruning to occur. Default: 0.1
|
||||||
|
delay_rewiring_to_first_solution: 0 # delay (1) or not (0) rewiring until a solution is found. Default: 0
|
||||||
|
use_just_in_time_sampling: 0 # delay the generation of samples until they are * necessary. Only works with r-disc connection and path length minimization. Default: 0
|
||||||
|
drop_unconnected_samples_on_prune: 0 # drop unconnected samples when pruning, regardless of their heuristic value. Default: 0
|
||||||
|
stop_on_each_solution_improvement: 0 # stop the planner each time a solution improvement is found. Useful for debugging. Default: 0
|
||||||
|
use_strict_queue_ordering: 0 # sort edges in the queue at the end of the batch (0) or after each rewiring (1). Default: 0
|
||||||
|
find_approximate_solutions: 0 # track approximate solutions (1) or not (0). Default: 0
|
||||||
arm_group:
|
arm_group:
|
||||||
default_planner_config: RRTConnect
|
default_planner_config: RRTConnect
|
||||||
planner_configs:
|
planner_configs:
|
||||||
|
- AnytimePathShortening
|
||||||
- SBL
|
- SBL
|
||||||
- EST
|
- EST
|
||||||
- LBKPIECE
|
- LBKPIECE
|
||||||
|
|
@ -146,5 +191,8 @@ arm_group:
|
||||||
- LazyPRMstar
|
- LazyPRMstar
|
||||||
- SPARS
|
- SPARS
|
||||||
- SPARStwo
|
- SPARStwo
|
||||||
projection_evaluator: joints(joint2_to_joint1,joint3_to_joint2)
|
- AITstar
|
||||||
|
- ABITstar
|
||||||
|
- BITstar
|
||||||
|
projection_evaluator: joints(joint1_to_base,joint2_to_joint1)
|
||||||
longest_valid_segment_fraction: 0.005
|
longest_valid_segment_fraction: 0.005
|
||||||
|
|
@ -1,26 +1,40 @@
|
||||||
# Simulation settings for using moveit_sim_controllers
|
arm_group_controller:
|
||||||
moveit_sim_hw_interface:
|
type: effort_controllers/JointTrajectoryController
|
||||||
joint_model_group: arm_group
|
|
||||||
joint_model_group_pose: init_pose
|
|
||||||
# Settings for ros_control_boilerplate control loop
|
|
||||||
generic_hw_control_loop:
|
|
||||||
loop_hz: 300
|
|
||||||
cycle_time_error_threshold: 0.01
|
|
||||||
# Settings for ros_control hardware interface
|
|
||||||
hardware_interface:
|
|
||||||
joints:
|
joints:
|
||||||
- vitual_joint
|
|
||||||
- joint1_to_base
|
- joint1_to_base
|
||||||
- joint2_to_joint1
|
- joint2_to_joint1
|
||||||
- joint3_to_joint2
|
- joint3_to_joint2
|
||||||
- joint4_to_joint3
|
- joint4_to_joint3
|
||||||
- joint5_to_joint4
|
- joint5_to_joint4
|
||||||
- joint6_to_joint5
|
- joint6_to_joint5
|
||||||
sim_control_mode: 1 # 0: position, 1: velocity
|
gains:
|
||||||
# Publish all joint states
|
joint1_to_base:
|
||||||
# Creates the /joint_states topic necessary in ROS
|
p: 100
|
||||||
joint_state_controller:
|
d: 1
|
||||||
type: joint_state_controller/JointStateController
|
i: 1
|
||||||
publish_rate: 50
|
i_clamp: 1
|
||||||
controller_list:
|
joint2_to_joint1:
|
||||||
[]
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint3_to_joint2:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint4_to_joint3:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint5_to_joint4:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
joint6_to_joint5:
|
||||||
|
p: 100
|
||||||
|
d: 1
|
||||||
|
i: 1
|
||||||
|
i_clamp: 1
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
# The name of this file shouldn't be changed, or else the Setup Assistant won't detect it
|
|
||||||
sensors:
|
sensors:
|
||||||
- filtered_cloud_topic: filtered_cloud
|
- filtered_cloud_topic: filtered_cloud
|
||||||
max_range: 5.0
|
max_range: 5.0
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
controller_list:
|
||||||
|
- name: arm_group_controller
|
||||||
|
action_ns: follow_joint_trajectory
|
||||||
|
type: FollowJointTrajectory
|
||||||
|
default: True
|
||||||
|
joints:
|
||||||
|
- joint1_to_base
|
||||||
|
- joint2_to_joint1
|
||||||
|
- joint3_to_joint2
|
||||||
|
- joint4_to_joint3
|
||||||
|
- joint5_to_joint4
|
||||||
|
- joint6_to_joint5
|
||||||
39
mycobot_pro/mycobot_630_moveit/config/stomp_planning.yaml
Normal file
39
mycobot_pro/mycobot_630_moveit/config/stomp_planning.yaml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
stomp/arm_group:
|
||||||
|
group_name: arm_group
|
||||||
|
optimization:
|
||||||
|
num_timesteps: 60
|
||||||
|
num_iterations: 40
|
||||||
|
num_iterations_after_valid: 0
|
||||||
|
num_rollouts: 30
|
||||||
|
max_rollouts: 30
|
||||||
|
initialization_method: 1 # [1 : LINEAR_INTERPOLATION, 2 : CUBIC_POLYNOMIAL, 3 : MININUM_CONTROL_COST]
|
||||||
|
control_cost_weight: 0.0
|
||||||
|
task:
|
||||||
|
noise_generator:
|
||||||
|
- class: stomp_moveit/NormalDistributionSampling
|
||||||
|
stddev: [0.05, 0.05, 0.05, 0.05, 0.05, 0.05]
|
||||||
|
cost_functions:
|
||||||
|
- class: stomp_moveit/CollisionCheck
|
||||||
|
collision_penalty: 1.0
|
||||||
|
cost_weight: 1.0
|
||||||
|
kernel_window_percentage: 0.2
|
||||||
|
longest_valid_joint_move: 0.05
|
||||||
|
noisy_filters:
|
||||||
|
- class: stomp_moveit/JointLimits
|
||||||
|
lock_start: True
|
||||||
|
lock_goal: True
|
||||||
|
- class: stomp_moveit/MultiTrajectoryVisualization
|
||||||
|
line_width: 0.02
|
||||||
|
rgb: [255, 255, 0]
|
||||||
|
marker_array_topic: stomp_trajectories
|
||||||
|
marker_namespace: noisy
|
||||||
|
update_filters:
|
||||||
|
- class: stomp_moveit/PolynomialSmoother
|
||||||
|
poly_order: 6
|
||||||
|
- class: stomp_moveit/TrajectoryVisualization
|
||||||
|
line_width: 0.05
|
||||||
|
rgb: [0, 191, 255]
|
||||||
|
error_rgb: [255, 0, 0]
|
||||||
|
publish_intermediate: True
|
||||||
|
marker_topic: stomp_trajectory
|
||||||
|
marker_namespace: optimized
|
||||||
|
|
@ -1,10 +1,21 @@
|
||||||
<launch>
|
<launch>
|
||||||
<!-- CHOMP Plugin for MoveIt! -->
|
<arg name="start_state_max_bounds_error" default="0.1" />
|
||||||
<arg name="planning_plugin" value="chomp_interface/CHOMPPlanner" />
|
<arg name="jiggle_fraction" default="0.05" />
|
||||||
<arg name="start_state_max_bounds_error" value="0.1" />
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/ResolveConstraintFrames
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints"
|
||||||
|
/>
|
||||||
|
|
||||||
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
<param name="planning_plugin" value="chomp_interface/CHOMPPlanner" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/chomp_planning.yaml" />
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/chomp_planning.yaml" />
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<arg name="moveit_warehouse_database_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
<arg name="moveit_warehouse_database_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- Launch the warehouse with the configured database location -->
|
<!-- Launch the warehouse with the configured database location -->
|
||||||
<include file="$(find mycobot_630_moveit)/launch/warehouse.launch">
|
<include file="$(dirname)/warehouse.launch">
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg moveit_warehouse_database_path)" />
|
<arg name="moveit_warehouse_database_path" value="$(arg moveit_warehouse_database_path)" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,65 +1,66 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- specify the planning pipeline -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- By default, we do not start a database (it can be large) -->
|
||||||
<!-- 默认情况下,我们不启动数据库(它可能很大) -->
|
|
||||||
<arg name="db" default="false" />
|
<arg name="db" default="false" />
|
||||||
<!-- Allow user to specify database location -->
|
<!-- Allow user to specify database location -->
|
||||||
<!-- 允许用户指定数据库位置 -->
|
|
||||||
<arg name="db_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
<arg name="db_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode -->
|
<!-- By default, we are not in debug mode -->
|
||||||
<!-- 默认情况下,我们不处于调试模式 -->
|
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
|
|
||||||
<!--
|
<!-- By default, we will load or override the robot_description -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<arg name="load_robot_description" default="true"/>
|
||||||
|
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
<!-- Choose controller manager: fake, simple, or ros_control -->
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
<arg name="moveit_controller_manager" default="fake" />
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
<!-- Set execution mode for fake execution controllers -->
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
-->
|
|
||||||
|
<!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode -->
|
||||||
<arg name="use_gui" default="false" />
|
<arg name="use_gui" default="false" />
|
||||||
|
<arg name="use_rviz" default="true" />
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<!-- 加载参数服务器上的URDF、SRDF等.yaml配置文件-->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="true"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
<!-- If needed, broadcast static tf for robot root -->
|
||||||
|
<node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_0" args="0 0 0 0 0 0 basic base" />
|
||||||
|
|
||||||
|
<group if="$(eval arg('moveit_controller_manager') == 'fake')">
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
<!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher
|
||||||
<!-- 我们没有连接机器人,所以发布假关节状态 -->
|
MoveIt's fake controller's joint states are considered via the 'source_list' parameter -->
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)">
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
|
</node>
|
||||||
|
<!-- If desired, a GUI version is available allowing to move the simulated robot around manually
|
||||||
|
This corresponds to moving around the real robot without the use of MoveIt. -->
|
||||||
|
<node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)">
|
||||||
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
<!-- 给定已发布的关节状态,为机器人链接发布 tf -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
<!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) -->
|
||||||
<!-- 运行主MoveIt! 没有轨迹执行的可执行文件(我们默认没有配置控制器)-->
|
<include file="$(dirname)/move_group.launch">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
<arg name="allow_trajectory_execution" value="true"/>
|
||||||
<arg name="fake_execution" value="true"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)"/>
|
||||||
<arg name="info" value="true"/>
|
<arg name="info" value="true"/>
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)"/>
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
||||||
<!-- 运行 Rviz 并加载默认配置以查看 move_group 节点的状态 -->
|
<include file="$(dirname)/moveit_rviz.launch" if="$(arg use_rviz)">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/moveit_rviz.launch">
|
<arg name="rviz_config" value="$(dirname)/moveit.rviz"/>
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
<!-- If database loading was enabled, start mongodb as well -->
|
||||||
<!-- 如果启用了数据库加载,也启动 mongodb -->
|
<include file="$(dirname)/default_warehouse_db.launch" if="$(arg db)">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,70 +1,21 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
<launch>
|
<launch>
|
||||||
|
<!-- MoveIt options -->
|
||||||
|
<arg name="pipeline" default="ompl" doc="Planning pipeline to use with MoveIt"/>
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- Gazebo options -->
|
||||||
<arg name="db" default="false" />
|
<arg name="gazebo_gui" default="true" doc="Start Gazebo GUI"/>
|
||||||
<!-- Allow user to specify database location -->
|
<arg name="paused" default="false" doc="Start Gazebo paused"/>
|
||||||
<arg name="db_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
<arg name="world_name" default="worlds/empty.world" doc="Gazebo world file"/>
|
||||||
|
<arg name="world_pose" default="-x 0 -y 0 -z 0 -R 0 -P 0 -Y 0" doc="Pose to spawn the robot at"/>
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode -->
|
<!-- Launch Gazebo and spawn the robot -->
|
||||||
<arg name="debug" default="false" />
|
<include file="$(dirname)/gazebo.launch" pass_all_args="true"/>
|
||||||
|
|
||||||
<!--
|
<!-- Launch MoveIt -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<include file="$(dirname)/demo.launch" pass_all_args="true">
|
||||||
|
<!-- robot_description is loaded by gazebo.launch, to enable Gazebo features -->
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
|
||||||
-->
|
|
||||||
<arg name="use_gui" default="false" />
|
|
||||||
|
|
||||||
<!-- Gazebo specific options -->
|
|
||||||
<arg name="gazebo_gui" default="true"/>
|
|
||||||
<arg name="paused" default="false"/>
|
|
||||||
<!-- By default, use the urdf location provided from the package -->
|
|
||||||
<arg name="urdf_path" default="$(find mycobot_description)/urdf/mycobot_pro_630/mycobot_pro_630.urdf"/>
|
|
||||||
|
|
||||||
<!-- launch the gazebo simulator and spawn the robot -->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/gazebo.launch" >
|
|
||||||
<arg name="paused" value="$(arg paused)"/>
|
|
||||||
<arg name="gazebo_gui" value="$(arg gazebo_gui)"/>
|
|
||||||
<arg name="urdf_path" value="$(arg urdf_path)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="false" />
|
<arg name="load_robot_description" value="false" />
|
||||||
|
<arg name="moveit_controller_manager" value="ros_control" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
|
||||||
<rosparam param="source_list">[/joint_states]</rosparam>
|
|
||||||
</node>
|
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
|
||||||
<arg name="fake_execution" value="false"/>
|
|
||||||
<arg name="info" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/moveit_rviz.launch">
|
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- execute the trajectory in 'interpolate' mode or jump to goal position in 'last point' mode -->
|
||||||
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
|
|
||||||
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
|
<!-- Set the param that trajectory_execution_manager needs to find the controller plugin -->
|
||||||
<param name="moveit_controller_manager" value="moveit_fake_controller_manager/MoveItFakeControllerManager"/>
|
<param name="moveit_controller_manager" value="moveit_fake_controller_manager/MoveItFakeControllerManager"/>
|
||||||
|
|
||||||
<!-- The rest of the params are specific to this plugin -->
|
<!-- The rest of the params are specific to this plugin -->
|
||||||
<rosparam file="$(find mycobot_630_moveit)/config/fake_controllers.yaml"/>
|
<rosparam subst_value="true" file="$(find mycobot_630_moveit)/config/fake_controllers.yaml"/>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,34 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<launch>
|
<launch>
|
||||||
<arg name="paused" default="false"/>
|
<!-- Gazebo options -->
|
||||||
<arg name="gazebo_gui" default="true"/>
|
<arg name="gazebo_gui" default="true" doc="Start Gazebo GUI"/>
|
||||||
<arg name="urdf_path" default="$(find mycobot_description)/urdf/mycobot_pro_630/mycobot_pro_630.urdf"/>
|
<arg name="paused" default="false" doc="Start Gazebo paused"/>
|
||||||
|
<arg name="world_name" default="worlds/empty.world" doc="Gazebo world file"/>
|
||||||
|
<arg name="world_pose" default="-x 0 -y 0 -z 0 -R 0 -P 0 -Y 0" doc="Pose to spawn the robot at"/>
|
||||||
|
<arg name="initial_joint_positions" default=" -J joint1_to_base 0 -J joint2_to_joint1 0 -J joint3_to_joint2 0 -J joint4_to_joint3 0 -J joint5_to_joint4 0 -J joint6_to_joint5 0" doc="Initial joint configuration of the robot"/>
|
||||||
|
|
||||||
<!-- startup simulated world -->
|
<!-- Start Gazebo paused to allow the controllers to pickup the initial pose -->
|
||||||
<include file="$(find gazebo_ros)/launch/empty_world.launch">
|
<include file="$(find gazebo_ros)/launch/empty_world.launch" pass_all_args="true">
|
||||||
<arg name="world_name" default="worlds/empty.world"/>
|
<arg name="paused" value="true"/>
|
||||||
<arg name="paused" value="$(arg paused)"/>
|
|
||||||
<arg name="gui" value="$(arg gazebo_gui)"/>
|
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- send robot urdf to param server -->
|
<!-- Set the robot urdf on the parameter server -->
|
||||||
<param name="robot_description" textfile="$(arg urdf_path)" />
|
<param name="robot_description" textfile="$(find mycobot_630_moveit)/config/gazebo_firefighter.urdf" />
|
||||||
|
|
||||||
<!-- push robot_description to factory and spawn robot in gazebo at the origin, change x,y,z arguments to spawn in a different position -->
|
<!-- Unpause the simulation after loading the robot model -->
|
||||||
<node name="spawn_gazebo_model" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model robot -x 0 -y 0 -z 0"
|
<arg name="unpause" value="$(eval '' if arg('paused') else '-unpause')" />
|
||||||
|
|
||||||
|
<!-- Spawn the robot in Gazebo -->
|
||||||
|
<node name="spawn_gazebo_model" pkg="gazebo_ros" type="spawn_model" args="-urdf -param robot_description -model robot $(arg unpause) $(arg world_pose) $(arg initial_joint_positions)"
|
||||||
respawn="false" output="screen" />
|
respawn="false" output="screen" />
|
||||||
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/ros_controllers.launch"/>
|
<!-- Load the controller parameters onto the parameter server -->
|
||||||
|
<rosparam file="$(find mycobot_630_moveit)/config/gazebo_controllers.yaml" />
|
||||||
|
<include file="$(dirname)/ros_controllers.launch"/>
|
||||||
|
|
||||||
|
<!-- Spawn the Gazebo ROS controllers -->
|
||||||
|
<node name="gazebo_controller_spawner" pkg="controller_manager" type="spawner" respawn="false" output="screen" args="joint_state_controller" />
|
||||||
|
|
||||||
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/planning_context.launch" />
|
|
||||||
|
|
||||||
<!-- GDB Debug Option -->
|
<!-- GDB Debug Option -->
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
||||||
<arg if="$(arg debug)" name="launch_prefix"
|
<arg if="$(arg debug)" name="launch_prefix"
|
||||||
value="gdb -x $(find mycobot_630_moveit)/launch/gdb_settings.gdb --ex run --args" />
|
value="gdb -x $(dirname)/gdb_settings.gdb --ex run --args" />
|
||||||
|
|
||||||
<!-- Verbose Mode Option -->
|
<!-- Verbose Mode Option -->
|
||||||
<arg name="info" default="$(arg debug)" />
|
<arg name="info" default="$(arg debug)" />
|
||||||
|
|
@ -14,10 +12,11 @@
|
||||||
<arg if="$(arg info)" name="command_args" value="--debug" />
|
<arg if="$(arg info)" name="command_args" value="--debug" />
|
||||||
|
|
||||||
<!-- move_group settings -->
|
<!-- move_group settings -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
<arg name="allow_trajectory_execution" default="true"/>
|
<arg name="allow_trajectory_execution" default="true"/>
|
||||||
<arg name="fake_execution" default="false"/>
|
<arg name="moveit_controller_manager" default="simple" />
|
||||||
|
<arg name="fake_execution_type" default="interpolate"/>
|
||||||
<arg name="max_safe_path_cost" default="1"/>
|
<arg name="max_safe_path_cost" default="1"/>
|
||||||
<arg name="jiggle_fraction" default="0.05" />
|
|
||||||
<arg name="publish_monitored_planning_scene" default="true"/>
|
<arg name="publish_monitored_planning_scene" default="true"/>
|
||||||
|
|
||||||
<arg name="capabilities" default=""/>
|
<arg name="capabilities" default=""/>
|
||||||
|
|
@ -38,20 +37,46 @@
|
||||||
" />
|
" />
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Planning Functionality -->
|
<arg name="load_robot_description" default="false" />
|
||||||
<include ns="move_group" file="$(find mycobot_630_moveit)/launch/planning_pipeline.launch.xml">
|
<!-- load URDF, SRDF and joint_limits configuration -->
|
||||||
|
<include file="$(dirname)/planning_context.launch">
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Planning Pipelines -->
|
||||||
|
<group ns="move_group/planning_pipelines">
|
||||||
|
|
||||||
|
<!-- OMPL -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
<arg name="pipeline" value="ompl" />
|
<arg name="pipeline" value="ompl" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
<!-- CHOMP -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="chomp" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Pilz Industrial Motion -->
|
||||||
|
<include file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="pilz_industrial_motion_planner" />
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- Support custom planning pipeline -->
|
||||||
|
<include if="$(eval arg('pipeline') not in ['ompl', 'chomp', 'pilz_industrial_motion_planner'])"
|
||||||
|
file="$(dirname)/planning_pipeline.launch.xml">
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)" />
|
||||||
|
</include>
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Trajectory Execution Functionality -->
|
<!-- Trajectory Execution Functionality -->
|
||||||
<include ns="move_group" file="$(find mycobot_630_moveit)/launch/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
|
<include ns="move_group" file="$(dirname)/trajectory_execution.launch.xml" if="$(arg allow_trajectory_execution)">
|
||||||
<arg name="moveit_manage_controllers" value="true" />
|
<arg name="moveit_manage_controllers" value="true" />
|
||||||
<arg name="moveit_controller_manager" value="firefighter" unless="$(arg fake_execution)"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
<arg name="moveit_controller_manager" value="fake" if="$(arg fake_execution)"/>
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Sensors Functionality -->
|
<!-- Sensors Functionality -->
|
||||||
<include ns="move_group" file="$(find mycobot_630_moveit)/launch/sensor_manager.launch.xml" if="$(arg allow_trajectory_execution)">
|
<include ns="move_group" file="$(dirname)/sensor_manager.launch.xml" if="$(arg allow_trajectory_execution)">
|
||||||
<arg name="moveit_sensor_manager" value="firefighter" />
|
<arg name="moveit_sensor_manager" value="firefighter" />
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
@ -61,11 +86,14 @@
|
||||||
<env name="DISPLAY" value="$(optenv DISPLAY :0)" />
|
<env name="DISPLAY" value="$(optenv DISPLAY :0)" />
|
||||||
|
|
||||||
<param name="allow_trajectory_execution" value="$(arg allow_trajectory_execution)"/>
|
<param name="allow_trajectory_execution" value="$(arg allow_trajectory_execution)"/>
|
||||||
<param name="max_safe_path_cost" value="$(arg max_safe_path_cost)"/>
|
<param name="sense_for_plan/max_safe_path_cost" value="$(arg max_safe_path_cost)"/>
|
||||||
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
<param name="default_planning_pipeline" value="$(arg pipeline)" />
|
||||||
<param name="capabilities" value="$(arg capabilities)" />
|
<param name="capabilities" value="$(arg capabilities)" />
|
||||||
<param name="disable_capabilities" value="$(arg disable_capabilities)" />
|
<param name="disable_capabilities" value="$(arg disable_capabilities)" />
|
||||||
|
|
||||||
|
<!-- do not copy dynamics information from /joint_states to internal robot monitoring
|
||||||
|
default to false, because almost nothing in move_group relies on this information -->
|
||||||
|
<param name="monitor_dynamics" value="false" />
|
||||||
|
|
||||||
<!-- Publish the planning scene of the physical robot so that rviz plugin can know actual robot -->
|
<!-- Publish the planning scene of the physical robot so that rviz plugin can know actual robot -->
|
||||||
<param name="planning_scene_monitor/publish_planning_scene" value="$(arg publish_monitored_planning_scene)" />
|
<param name="planning_scene_monitor/publish_planning_scene" value="$(arg publish_monitored_planning_scene)" />
|
||||||
|
|
|
||||||
|
|
@ -211,7 +211,7 @@ Visualization Manager:
|
||||||
Views:
|
Views:
|
||||||
Current:
|
Current:
|
||||||
Class: rviz/XYOrbit
|
Class: rviz/XYOrbit
|
||||||
Distance: 1.3915867805480957
|
Distance: 1.955079197883606
|
||||||
Enable Stereo Rendering:
|
Enable Stereo Rendering:
|
||||||
Stereo Eye Separation: 0.05999999865889549
|
Stereo Eye Separation: 0.05999999865889549
|
||||||
Stereo Focal Distance: 1
|
Stereo Focal Distance: 1
|
||||||
|
|
@ -227,9 +227,9 @@ Visualization Manager:
|
||||||
Invert Z Axis: false
|
Invert Z Axis: false
|
||||||
Name: Current View
|
Name: Current View
|
||||||
Near Clip Distance: 0.009999999776482582
|
Near Clip Distance: 0.009999999776482582
|
||||||
Pitch: 0.3547966480255127
|
Pitch: 0.2597966492176056
|
||||||
Target Frame: base
|
Target Frame: base
|
||||||
Yaw: 2.0267655849456787
|
Yaw: 2.8617656230926514
|
||||||
Saved: ~
|
Saved: ~
|
||||||
Window Geometry:
|
Window Geometry:
|
||||||
Displays:
|
Displays:
|
||||||
|
|
@ -243,7 +243,7 @@ Window Geometry:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
MotionPlanning - Trajectory Slider:
|
MotionPlanning - Trajectory Slider:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
QMainWindow State: 000000ff00000000fd0000000100000000000001f300000330fc0200000007fb000000100044006900730070006c006100790073010000003d00000156000000c900fffffffb0000000800480065006c00700000000342000000bb0000006e00fffffffb0000000a0056006900650077007300000003b0000000b0000000a400fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720100000199000000420000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001e10000018c0000017d00ffffff0000053f0000033000000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
QMainWindow State: 000000ff00000000fd0000000100000000000001f300000330fc0200000007fb000000100044006900730070006c006100790073010000003d00000156000000c900fffffffb0000000800480065006c00700000000342000000bb0000006e00fffffffb0000000a0056006900650077007300000003b0000000b0000000a400fffffffb0000000c00430061006d00650072006100000002ff000001610000000000000000fb0000001e004d006f00740069006f006e00200050006c0061006e006e0069006e00670100000374000001890000000000000000fb00000044004d006f00740069006f006e0050006c0061006e006e0069006e00670020002d0020005400720061006a006500630074006f0072007900200053006c00690064006500720100000199000000410000004100fffffffb0000001c004d006f00740069006f006e0050006c0061006e006e0069006e006701000001e00000018d0000017d00ffffff0000053f0000033000000001000000020000000100000002fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
|
||||||
Views:
|
Views:
|
||||||
collapsed: false
|
collapsed: false
|
||||||
Width: 1848
|
Width: 1848
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,12 @@
|
||||||
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
<arg unless="$(arg debug)" name="launch_prefix" value="" />
|
||||||
<arg if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />
|
<arg if="$(arg debug)" name="launch_prefix" value="gdb --ex run --args" />
|
||||||
|
|
||||||
<arg name="config" default="false" />
|
<arg name="rviz_config" default="" />
|
||||||
<arg unless="$(arg config)" name="command_args" value="" />
|
<arg if="$(eval rviz_config=='')" name="command_args" value="" />
|
||||||
<arg if="$(arg config)" name="command_args" value="-d $(find mycobot_630_moveit)/launch/moveit.rviz" />
|
<arg unless="$(eval rviz_config=='')" name="command_args" value="-d $(arg rviz_config)" />
|
||||||
|
|
||||||
<node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
|
<node name="$(anon rviz)" launch-prefix="$(arg launch_prefix)" pkg="rviz" type="rviz" respawn="false"
|
||||||
args="$(arg command_args)" output="screen">
|
args="$(arg command_args)" output="screen">
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/kinematics.yaml"/>
|
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,64 +1,66 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
|
<!-- specify the planning pipeline -->
|
||||||
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<!-- By default, we do not start a database (it can be large) -->
|
<!-- By default, we do not start a database (it can be large) -->
|
||||||
<!-- 默认情况下,我们不启动数据库(它可能很大) -->
|
|
||||||
<arg name="db" default="false" />
|
<arg name="db" default="false" />
|
||||||
<!-- Allow user to specify database location -->
|
<!-- Allow user to specify database location -->
|
||||||
<!-- 允许用户指定数据库位置 -->
|
|
||||||
<arg name="db_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
<arg name="db_path" default="$(find mycobot_630_moveit)/default_warehouse_mongo_db" />
|
||||||
|
|
||||||
<!-- By default, we are not in debug mode --> <!-- 默认情况下,我们不处于调试模式 -->
|
<!-- By default, we are not in debug mode -->
|
||||||
<arg name="debug" default="false" />
|
<arg name="debug" default="false" />
|
||||||
|
|
||||||
<!--
|
<!-- By default, we will load or override the robot_description -->
|
||||||
By default, hide joint_state_publisher's GUI
|
<arg name="load_robot_description" default="true"/>
|
||||||
|
|
||||||
MoveIt!'s "demo" mode replaces the real robot driver with the joint_state_publisher.
|
<!-- Choose controller manager: fake, simple, or ros_control -->
|
||||||
The latter one maintains and publishes the current joint configuration of the simulated robot.
|
<arg name="moveit_controller_manager" default="fake" />
|
||||||
It also provides a GUI to move the simulated robot around "manually".
|
<!-- Set execution mode for fake execution controllers -->
|
||||||
This corresponds to moving around the real robot without the use of MoveIt.
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
-->
|
|
||||||
|
<!-- By default, hide joint_state_publisher's GUI in 'fake' controller_manager mode -->
|
||||||
<arg name="use_gui" default="false" />
|
<arg name="use_gui" default="false" />
|
||||||
|
<arg name="use_rviz" default="true" />
|
||||||
<!-- Load the URDF, SRDF and other .yaml configuration files on the param server -->
|
|
||||||
<!-- 加载参数服务器上的URDF、SRDF等.yaml配置文件-->
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/planning_context.launch">
|
|
||||||
<arg name="load_robot_description" value="true"/>
|
|
||||||
</include>
|
|
||||||
|
|
||||||
<!-- If needed, broadcast static tf for robot root -->
|
<!-- If needed, broadcast static tf for robot root -->
|
||||||
|
<node pkg="tf2_ros" type="static_transform_publisher" name="virtual_joint_broadcaster_0" args="0 0 0 0 0 0 basic base" />
|
||||||
|
|
||||||
|
<group if="$(eval arg('moveit_controller_manager') == 'fake')">
|
||||||
<!-- We do not have a robot connected, so publish fake joint states -->
|
<!-- We do not have a real robot connected, so publish fake joint states via a joint_state_publisher
|
||||||
<!-- 我们没有连接机器人,所以发布假关节状态 -->
|
MoveIt's fake controller's joint states are considered via the 'source_list' parameter -->
|
||||||
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
|
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)">
|
||||||
<param name="use_gui" value="$(arg use_gui)"/>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
|
</node>
|
||||||
|
<!-- If desired, a GUI version is available allowing to move the simulated robot around manually
|
||||||
|
This corresponds to moving around the real robot without the use of MoveIt. -->
|
||||||
|
<node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)">
|
||||||
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
<rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
<!-- Given the published joint states, publish tf for the robot links -->
|
<!-- Given the published joint states, publish tf for the robot links -->
|
||||||
<!-- 给定已发布的关节状态,为机器人链接发布 tf -->
|
|
||||||
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen" />
|
||||||
|
</group>
|
||||||
|
|
||||||
<!-- Run the main MoveIt! executable without trajectory execution (we do not have controllers configured by default) -->
|
<!-- Run the main MoveIt executable without trajectory execution (we do not have controllers configured by default) -->
|
||||||
<!-- 运行主MoveIt! 没有轨迹执行的可执行文件(我们默认没有配置控制器)-->
|
<include file="$(dirname)/move_group.launch">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/move_group.launch">
|
|
||||||
<arg name="allow_trajectory_execution" value="true"/>
|
<arg name="allow_trajectory_execution" value="true"/>
|
||||||
<arg name="fake_execution" value="true"/>
|
<arg name="moveit_controller_manager" value="$(arg moveit_controller_manager)" />
|
||||||
|
<arg name="fake_execution_type" value="$(arg fake_execution_type)"/>
|
||||||
<arg name="info" value="true"/>
|
<arg name="info" value="true"/>
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
|
<arg name="pipeline" value="$(arg pipeline)"/>
|
||||||
|
<arg name="load_robot_description" value="$(arg load_robot_description)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
<!-- Run Rviz and load the default config to see the state of the move_group node -->
|
||||||
<!-- 运行 Rviz 并加载默认配置以查看 move_group 节点的状态 -->
|
<include file="$(dirname)/moveit_rviz.launch" if="$(arg use_rviz)">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/moveit_rviz.launch">
|
<arg name="rviz_config" value="$(dirname)/moveit.rviz"/>
|
||||||
<arg name="config" value="true"/>
|
|
||||||
<arg name="debug" value="$(arg debug)"/>
|
<arg name="debug" value="$(arg debug)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- If database loading was enabled, start mongodb as well -->
|
<!-- If database loading was enabled, start mongodb as well -->
|
||||||
<!-- 如果启用了数据库加载,也启动 mongodb -->
|
<include file="$(dirname)/default_warehouse_db.launch" if="$(arg db)">
|
||||||
<include file="$(find mycobot_630_moveit)/launch/default_warehouse_db.launch" if="$(arg db)">
|
|
||||||
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
<arg name="moveit_warehouse_database_path" value="$(arg db_path)"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
<launch>
|
||||||
|
<!-- load OMPL planning pipeline, but add the CHOMP planning adapter. -->
|
||||||
|
<include file="$(find mycobot_630_moveit)/launch/ompl_planning_pipeline.launch.xml">
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints
|
||||||
|
chomp/OptimizerAdapter"
|
||||||
|
/>
|
||||||
|
</include>
|
||||||
|
|
||||||
|
<!-- load chomp config -->
|
||||||
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/chomp_planning.yaml" />
|
||||||
|
|
||||||
|
<!-- override trajectory_initialization_method: Use OMPL-generated trajectory -->
|
||||||
|
<param name="trajectory_initialization_method" value="fillTrajectory"/>
|
||||||
|
</launch>
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<!-- OMPL Plugin for MoveIt! -->
|
<!-- The request adapters (plugins) used when planning with OMPL. ORDER MATTERS! -->
|
||||||
<arg name="planning_plugin" value="ompl_interface/OMPLPlanner" />
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
<!-- The request adapters (plugins) used when planning with OMPL.
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
ORDER MATTERS -->
|
default_planner_request_adapters/ResolveConstraintFrames
|
||||||
<arg name="planning_adapters" value="default_planner_request_adapters/AddTimeParameterization
|
|
||||||
default_planner_request_adapters/FixWorkspaceBounds
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
default_planner_request_adapters/FixStartStateBounds
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
default_planner_request_adapters/FixStartStateCollision
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
default_planner_request_adapters/FixStartStatePathConstraints" />
|
default_planner_request_adapters/FixStartStatePathConstraints"
|
||||||
|
/>
|
||||||
|
|
||||||
<arg name="start_state_max_bounds_error" value="0.1" />
|
<arg name="start_state_max_bounds_error" default="0.1" />
|
||||||
|
<arg name="jiggle_fraction" default="0.05" />
|
||||||
|
|
||||||
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
<param name="planning_plugin" value="ompl_interface/OMPLPlanner" />
|
||||||
<param name="request_adapters" value="$(arg planning_adapters)" />
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/ompl_planning.yaml"/>
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/ompl_planning.yaml"/>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
<launch>
|
||||||
|
|
||||||
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters" default="" />
|
||||||
|
|
||||||
|
<param name="planning_plugin" value="pilz_industrial_motion_planner::CommandPlanner" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
|
|
||||||
|
<!-- Define default planner (for all groups) -->
|
||||||
|
<param name="default_planner_config" value="PTP" />
|
||||||
|
|
||||||
|
<!-- MoveGroup capabilities to load for this pipeline, append sequence capability -->
|
||||||
|
<param name="capabilities" value="pilz_industrial_motion_planner/MoveGroupSequenceAction
|
||||||
|
pilz_industrial_motion_planner/MoveGroupSequenceService" />
|
||||||
|
</launch>
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<arg name="robot_description" default="robot_description"/>
|
<arg name="robot_description" default="robot_description"/>
|
||||||
|
|
||||||
<!-- Load universal robot description format (URDF) -->
|
<!-- Load universal robot description format (URDF) -->
|
||||||
<param if="$(arg load_robot_description)" name="$(arg robot_description)" textfile="$(find mycobot_description)/urdf/mycobot_pro_630/mycobot_pro_630.urdf"/>
|
<param if="$(arg load_robot_description)" name="$(arg robot_description)" textfile="$(find mycobot_description)/urdf/mycobot_pro_630/mycobot_pro_630_moveit.urdf"/>
|
||||||
|
|
||||||
<!-- The semantic description that corresponds to the URDF -->
|
<!-- The semantic description that corresponds to the URDF -->
|
||||||
<param name="$(arg robot_description)_semantic" textfile="$(find mycobot_630_moveit)/config/firefighter.srdf" />
|
<param name="$(arg robot_description)_semantic" textfile="$(find mycobot_630_moveit)/config/firefighter.srdf" />
|
||||||
|
|
@ -14,11 +14,13 @@
|
||||||
<!-- Load updated joint limits (override information from URDF) -->
|
<!-- Load updated joint limits (override information from URDF) -->
|
||||||
<group ns="$(arg robot_description)_planning">
|
<group ns="$(arg robot_description)_planning">
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/joint_limits.yaml"/>
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/joint_limits.yaml"/>
|
||||||
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/cartesian_limits.yaml"/>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
<!-- Load default settings for kinematics; these settings are overridden by settings in a node's namespace -->
|
<!-- Load default settings for kinematics; these settings are overridden by settings in a node's namespace -->
|
||||||
<group ns="$(arg robot_description)_kinematics">
|
<group ns="$(arg robot_description)_kinematics">
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/kinematics.yaml"/>
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/kinematics.yaml"/>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,6 @@
|
||||||
|
|
||||||
<arg name="pipeline" default="ompl" />
|
<arg name="pipeline" default="ompl" />
|
||||||
|
|
||||||
<include file="$(find mycobot_630_moveit)/launch/$(arg pipeline)_planning_pipeline.launch.xml" />
|
<include ns="$(arg pipeline)" file="$(dirname)/$(arg pipeline)_planning_pipeline.launch.xml" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Define MoveIt controller manager plugin -->
|
||||||
|
<param name="moveit_controller_manager" value="moveit_ros_control_interface::MoveItControllerManager" />
|
||||||
|
</launch>
|
||||||
|
|
@ -6,6 +6,6 @@
|
||||||
|
|
||||||
<!-- Load the controllers -->
|
<!-- Load the controllers -->
|
||||||
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
|
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
|
||||||
output="screen" args=""/>
|
output="screen" args="arm_group_controller "/>
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -4,18 +4,17 @@
|
||||||
<arg name="cfg" />
|
<arg name="cfg" />
|
||||||
|
|
||||||
<!-- Load URDF -->
|
<!-- Load URDF -->
|
||||||
<include file="$(find mycobot_630_moveit)/launch/planning_context.launch">
|
<include file="$(dirname)/planning_context.launch">
|
||||||
<arg name="load_robot_description" value="true"/>
|
<arg name="load_robot_description" value="true"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Start the database -->
|
<!-- Start the database -->
|
||||||
<include file="$(find mycobot_630_moveit)/launch/warehouse.launch">
|
<include file="$(dirname)/warehouse.launch">
|
||||||
<arg name="moveit_warehouse_database_path" value="moveit_ompl_benchmark_warehouse"/>
|
<arg name="moveit_warehouse_database_path" value="moveit_ompl_benchmark_warehouse"/>
|
||||||
</include>
|
</include>
|
||||||
|
|
||||||
<!-- Start Benchmark Executable -->
|
<!-- Start Benchmark Executable -->
|
||||||
<node name="$(anon moveit_benchmark)" pkg="moveit_ros_benchmarks" type="moveit_run_benchmark" args="$(arg cfg) --benchmark-planners" respawn="false" output="screen">
|
<node name="$(anon moveit_benchmark)" pkg="moveit_ros_benchmarks" type="moveit_run_benchmark" args="$(arg cfg) --benchmark-planners" respawn="false" output="screen">
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/kinematics.yaml"/>
|
|
||||||
<rosparam command="load" file="$(find mycobot_630_moveit)/config/ompl_planning.yaml"/>
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/ompl_planning.yaml"/>
|
||||||
</node>
|
</node>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,6 @@
|
||||||
|
|
||||||
<!-- Load the robot specific sensor manager; this sets the moveit_sensor_manager ROS parameter -->
|
<!-- Load the robot specific sensor manager; this sets the moveit_sensor_manager ROS parameter -->
|
||||||
<arg name="moveit_sensor_manager" default="firefighter" />
|
<arg name="moveit_sensor_manager" default="firefighter" />
|
||||||
<include file="$(find mycobot_630_moveit)/launch/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />
|
<include file="$(dirname)/$(arg moveit_sensor_manager)_moveit_sensor_manager.launch.xml" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
<!-- Re-launch the MoveIt! Setup Assistant with this configuration package already loaded -->
|
<!-- Re-launch the MoveIt Setup Assistant with this configuration package already loaded -->
|
||||||
<launch>
|
<launch>
|
||||||
|
|
||||||
<!-- Debug Info -->
|
<!-- Debug Info -->
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<node pkg="moveit_setup_assistant" type="moveit_setup_assistant" name="moveit_setup_assistant"
|
<node pkg="moveit_setup_assistant" type="moveit_setup_assistant" name="moveit_setup_assistant"
|
||||||
args="--config_pkg=mycobot_630_moveit"
|
args="--config_pkg=mycobot_630_moveit"
|
||||||
launch-prefix="$(arg launch_prefix)"
|
launch-prefix="$(arg launch_prefix)"
|
||||||
|
required="true"
|
||||||
output="screen" />
|
output="screen" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Define the MoveIt controller manager plugin to use for trajectory execution -->
|
||||||
|
<param name="moveit_controller_manager" value="moveit_simple_controller_manager/MoveItSimpleControllerManager" />
|
||||||
|
|
||||||
|
<!-- Load controller list to the parameter server -->
|
||||||
|
<rosparam file="$(find mycobot_630_moveit)/config/simple_moveit_controllers.yaml" />
|
||||||
|
<rosparam file="$(find mycobot_630_moveit)/config/ros_controllers.yaml" />
|
||||||
|
</launch>
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<launch>
|
||||||
|
<!-- Stomp Plugin for MoveIt -->
|
||||||
|
<arg name="planning_plugin" value="stomp_moveit/StompPlannerManager" />
|
||||||
|
|
||||||
|
<arg name="start_state_max_bounds_error" value="0.1" />
|
||||||
|
<arg name="jiggle_fraction" value="0.05" />
|
||||||
|
<!-- The request adapters (plugins) used when planning. ORDER MATTERS! -->
|
||||||
|
<arg name="planning_adapters"
|
||||||
|
default="default_planner_request_adapters/LimitMaxCartesianLinkSpeed
|
||||||
|
default_planner_request_adapters/AddTimeParameterization
|
||||||
|
default_planner_request_adapters/FixWorkspaceBounds
|
||||||
|
default_planner_request_adapters/FixStartStateBounds
|
||||||
|
default_planner_request_adapters/FixStartStateCollision
|
||||||
|
default_planner_request_adapters/FixStartStatePathConstraints" />
|
||||||
|
|
||||||
|
|
||||||
|
<param name="planning_plugin" value="$(arg planning_plugin)" />
|
||||||
|
<param name="request_adapters" value="$(arg planning_adapters)" />
|
||||||
|
<param name="start_state_max_bounds_error" value="$(arg start_state_max_bounds_error)" />
|
||||||
|
<param name="jiggle_fraction" value="$(arg jiggle_fraction)" />
|
||||||
|
|
||||||
|
<rosparam command="load" file="$(find mycobot_630_moveit)/config/stomp_planning.yaml"/>
|
||||||
|
</launch>
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
<launch>
|
<launch>
|
||||||
|
<!-- This file summarizes all settings required for trajectory execution -->
|
||||||
|
|
||||||
<!-- This file makes it easy to include the settings for trajectory execution -->
|
<!-- Define moveit controller manager plugin: fake, simple, or ros_control -->
|
||||||
|
<arg name="moveit_controller_manager" />
|
||||||
|
<arg name="fake_execution_type" default="interpolate" />
|
||||||
|
|
||||||
<!-- Flag indicating whether MoveIt! is allowed to load/unload or switch controllers -->
|
<!-- Flag indicating whether MoveIt is allowed to load/unload or switch controllers -->
|
||||||
<arg name="moveit_manage_controllers" default="true"/>
|
<arg name="moveit_manage_controllers" default="true"/>
|
||||||
<param name="moveit_manage_controllers" value="$(arg moveit_manage_controllers)"/>
|
<param name="moveit_manage_controllers" value="$(arg moveit_manage_controllers)"/>
|
||||||
|
|
||||||
|
|
@ -13,8 +16,8 @@
|
||||||
<!-- Allowed joint-value tolerance for validation that trajectory's first point matches current robot state -->
|
<!-- Allowed joint-value tolerance for validation that trajectory's first point matches current robot state -->
|
||||||
<param name="trajectory_execution/allowed_start_tolerance" value="0.01"/> <!-- default 0.01 -->
|
<param name="trajectory_execution/allowed_start_tolerance" value="0.01"/> <!-- default 0.01 -->
|
||||||
|
|
||||||
<!-- Load the robot specific controller manager; this sets the moveit_controller_manager ROS parameter -->
|
<!-- We use pass_all_args=true here to pass fake_execution_type, which is required by fake controllers, but not by real-robot controllers.
|
||||||
<arg name="moveit_controller_manager" default="firefighter" />
|
As real-robot controller_manager.launch files shouldn't be required to define this argument, we use the trick of passing all args. -->
|
||||||
<include file="$(find mycobot_630_moveit)/launch/$(arg moveit_controller_manager)_moveit_controller_manager.launch.xml" />
|
<include file="$(dirname)/$(arg moveit_controller_manager)_moveit_controller_manager.launch.xml" pass_all_args="true" />
|
||||||
|
|
||||||
</launch>
|
</launch>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<arg name="moveit_warehouse_database_path" />
|
<arg name="moveit_warehouse_database_path" />
|
||||||
|
|
||||||
<!-- Load warehouse parameters -->
|
<!-- Load warehouse parameters -->
|
||||||
<include file="$(find mycobot_630_moveit)/launch/warehouse_settings.launch.xml" />
|
<include file="$(dirname)/warehouse_settings.launch.xml" />
|
||||||
|
|
||||||
<!-- Run the DB server -->
|
<!-- Run the DB server -->
|
||||||
<node name="$(anon mongo_wrapper_ros)" cwd="ROS_HOME" type="mongo_wrapper_ros.py" pkg="warehouse_ros_mongo">
|
<node name="$(anon mongo_wrapper_ros)" cwd="ROS_HOME" type="mongo_wrapper_ros.py" pkg="warehouse_ros_mongo">
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<name>mycobot_630_moveit</name>
|
<name>mycobot_630_moveit</name>
|
||||||
<version>0.3.0</version>
|
<version>0.3.0</version>
|
||||||
<description>
|
<description>
|
||||||
An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt! Motion Planning Framework
|
An automatically generated package with all the configuration and launch files for using the firefighter with the MoveIt Motion Planning Framework
|
||||||
</description>
|
</description>
|
||||||
<author email="weijian.wang@elephantrobotics.com">wangweijian</author>
|
<author email="weijian.wang@elephantrobotics.com">wangweijian</author>
|
||||||
<maintainer email="weijian.wang@elephantrobotics.com">wangweijian</maintainer>
|
<maintainer email="weijian.wang@elephantrobotics.com">wangweijian</maintainer>
|
||||||
|
|
@ -19,20 +19,22 @@
|
||||||
<run_depend>moveit_ros_move_group</run_depend>
|
<run_depend>moveit_ros_move_group</run_depend>
|
||||||
<run_depend>moveit_fake_controller_manager</run_depend>
|
<run_depend>moveit_fake_controller_manager</run_depend>
|
||||||
<run_depend>moveit_kinematics</run_depend>
|
<run_depend>moveit_kinematics</run_depend>
|
||||||
<run_depend>moveit_planners_ompl</run_depend>
|
<run_depend>moveit_planners</run_depend>
|
||||||
<run_depend>moveit_ros_visualization</run_depend>
|
<run_depend>moveit_ros_visualization</run_depend>
|
||||||
<run_depend>moveit_setup_assistant</run_depend>
|
<run_depend>moveit_setup_assistant</run_depend>
|
||||||
|
<run_depend>moveit_simple_controller_manager</run_depend>
|
||||||
<run_depend>joint_state_publisher</run_depend>
|
<run_depend>joint_state_publisher</run_depend>
|
||||||
|
<run_depend>joint_state_publisher_gui</run_depend>
|
||||||
<run_depend>robot_state_publisher</run_depend>
|
<run_depend>robot_state_publisher</run_depend>
|
||||||
|
<run_depend>rviz</run_depend>
|
||||||
|
<run_depend>tf2_ros</run_depend>
|
||||||
<run_depend>xacro</run_depend>
|
<run_depend>xacro</run_depend>
|
||||||
|
<!-- The next 2 packages are required for the gazebo simulation.
|
||||||
|
We don't include them by default to prevent installing gazebo and all its dependencies. -->
|
||||||
|
<!-- <run_depend>joint_trajectory_controller</run_depend> -->
|
||||||
|
<!-- <run_depend>gazebo_ros_control</run_depend> -->
|
||||||
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
|
<!-- This package is referenced in the warehouse launch files, but does not build out of the box at the moment. Commented the dependency until this works. -->
|
||||||
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
|
<!-- <run_depend>warehouse_ros_mongo</run_depend> -->
|
||||||
<build_depend>roscpp</build_depend>
|
|
||||||
<build_depend>rospy</build_depend>
|
|
||||||
<build_depend>std_msgs</build_depend>
|
|
||||||
<build_depend>actionlib</build_depend>
|
|
||||||
<build_depend>moveit_msgs</build_depend>
|
|
||||||
<build_depend>mycobot_description</build_depend>
|
|
||||||
<run_depend>mycobot_description</run_depend>
|
<run_depend>mycobot_description</run_depend>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,9 @@ def callback(data):
|
||||||
radians_to_angles = round(math.degrees(value), 2)
|
radians_to_angles = round(math.degrees(value), 2)
|
||||||
data_list.append(radians_to_angles)
|
data_list.append(radians_to_angles)
|
||||||
|
|
||||||
|
data_list[1] = data_list[1] - 90
|
||||||
|
data_list[3] = data_list[3] - 90
|
||||||
|
|
||||||
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
rospy.loginfo(rospy.get_caller_id() + "%s", data_list)
|
||||||
mc.write_angles(data_list, 800)
|
mc.write_angles(data_list, 800)
|
||||||
|
|
||||||
|
|
|
||||||
35
mycobot_pro/mycobot_630_moveit/scripts/test_add_ground.py
Executable file
35
mycobot_pro/mycobot_630_moveit/scripts/test_add_ground.py
Executable file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import rospy
|
||||||
|
from moveit_commander import PlanningSceneInterface
|
||||||
|
from geometry_msgs.msg import PoseStamped
|
||||||
|
|
||||||
|
class GroundAdder:
|
||||||
|
def __init__(self):
|
||||||
|
# 初始化 ROS 节点
|
||||||
|
rospy.init_node('add_ground_node', anonymous=True)
|
||||||
|
|
||||||
|
# 初始化 PlanningSceneInterface
|
||||||
|
self.scene = PlanningSceneInterface()
|
||||||
|
rospy.sleep(2) # 等待场景初始化
|
||||||
|
|
||||||
|
def add_ground(self):
|
||||||
|
# 定义地面的姿态
|
||||||
|
ground_pose = PoseStamped()
|
||||||
|
ground_pose.header.frame_id = "base" # 基座坐标系
|
||||||
|
ground_pose.pose.position.x = 0.0
|
||||||
|
ground_pose.pose.position.y = 0.0
|
||||||
|
ground_pose.pose.position.z = -0.01 # 地面位于基座下方 0.01 米
|
||||||
|
ground_pose.pose.orientation.w = 1.0
|
||||||
|
|
||||||
|
# 添加地面到场景中
|
||||||
|
self.scene.add_box("ground", ground_pose, size=(1.5, 1.5, 0.005))
|
||||||
|
rospy.loginfo("Ground added to the planning scene.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
try:
|
||||||
|
ground_adder = GroundAdder()
|
||||||
|
ground_adder.add_ground()
|
||||||
|
rospy.spin() # 保持节点运行,防止退出
|
||||||
|
except rospy.ROSInterruptException:
|
||||||
|
pass
|
||||||
Loading…
Add table
Reference in a new issue