Use shared limits for all seven axes across MoveIt, URDF and FRI. Apply Ruckig smoothing and continuous JTC spline checks, stretching trajectory timing to respect velocity, acceleration and jerk limits. Require fresh stationary feedback for direct trajectories and protect preparation from concurrent submissions and stop requests. Add regression tests, dependencies and bilingual FRI documentation. Include the updated LIN speed-sweep scenario and current 60 ms filter configuration. Acceleration and jerk limits remain project settings; physical high-speed twitching is still under investigation.
74 lines
4.6 KiB
XML
74 lines
4.6 KiB
XML
<?xml version="1.0"?>
|
|
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" xacro:version="1.0">
|
|
|
|
<xacro:include filename="macros.xacro" />
|
|
|
|
<joint name="world_base_joint" type="fixed">
|
|
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
|
<parent link="world"/>
|
|
<child link="base_link"/>
|
|
</joint>
|
|
|
|
<!-- joint1: ±170° hard, ±165° soft, k_velocity=10 -->
|
|
<xacro:revolute_joint jname="joint1" parent="base_link" child="link1"
|
|
xyz="0 0 0.3375" rpy="0 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint1']['min_position']}" upper="${joint_limits['joint1']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint1']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint1']['soft_min_position']}" soft_upper="${joint_limits['joint1']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint2: ±119° hard, ±114° soft -->
|
|
<xacro:revolute_joint jname="joint2" parent="link1" child="link2"
|
|
xyz="0 0 0" rpy="-1.5708 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint2']['min_position']}" upper="${joint_limits['joint2']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint2']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint2']['soft_min_position']}" soft_upper="${joint_limits['joint2']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint3: ±170° hard, ±165° soft -->
|
|
<xacro:revolute_joint jname="joint3" parent="link2" child="link3"
|
|
xyz="0 -0.3993 0" rpy="1.5708 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint3']['min_position']}" upper="${joint_limits['joint3']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint3']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint3']['soft_min_position']}" soft_upper="${joint_limits['joint3']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint4: ±119° hard, ±114° soft -->
|
|
<xacro:revolute_joint jname="joint4" parent="link3" child="link4"
|
|
xyz="0 0 0" rpy="-1.5708 0 0" axis="0 0 -1"
|
|
lower="${joint_limits['joint4']['min_position']}" upper="${joint_limits['joint4']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint4']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint4']['soft_min_position']}" soft_upper="${joint_limits['joint4']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint5: ±170° hard, ±165° soft -->
|
|
<xacro:revolute_joint jname="joint5" parent="link4" child="link5"
|
|
xyz="0 -0.3993 0" rpy="1.5708 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint5']['min_position']}" upper="${joint_limits['joint5']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint5']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint5']['soft_min_position']}" soft_upper="${joint_limits['joint5']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint6: ±119° hard, ±114° soft -->
|
|
<xacro:revolute_joint jname="joint6" parent="link5" child="link6"
|
|
xyz="0 0 0" rpy="-1.5708 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint6']['min_position']}" upper="${joint_limits['joint6']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint6']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint6']['soft_min_position']}" soft_upper="${joint_limits['joint6']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
|
|
<!-- joint7: ±174° hard, ±169° soft -->
|
|
<xacro:revolute_joint jname="joint7" parent="link6" child="link7"
|
|
xyz="0 -0.126 0" rpy="1.5708 0 0" axis="0 0 1"
|
|
lower="${joint_limits['joint7']['min_position']}" upper="${joint_limits['joint7']['max_position']}" effort="200"
|
|
velocity="${joint_limits['joint7']['max_velocity']}" damping="10.0" friction="0.1"
|
|
soft_lower="${joint_limits['joint7']['soft_min_position']}" soft_upper="${joint_limits['joint7']['soft_max_position']}" k_velocity="10"/>
|
|
|
|
<joint name="tools_joint" type="fixed">
|
|
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/>
|
|
<parent link="link7"/>
|
|
<child link="link_ee"/>
|
|
</joint>
|
|
|
|
</robot>
|