Skip to content

Commit da02cda

Browse files
committed
Add support for child platforms connected to UR arm.
Signed-off-by: Jelmer de Wolde <jelmer.de.wolde@alliander.com>
1 parent 219d168 commit da02cda

6 files changed

Lines changed: 24 additions & 3 deletions

File tree

alliander_core/src/alliander_description/ur/urdf/adapted/ur_gz.ros2_control.xacro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ https://code.visualstudio.com/docs/editing/codebasics#_compare-files
1414
name
1515
tf_prefix
1616
transmission_hw_interface:=hardware_interface/PositionJointInterface
17-
initial_positions:=${dict(shoulder_pan_joint=0.0,shoulder_lift_joint=-1.57,elbow_joint=1.57,wrist_1_joint=-1.57,wrist_2_joint=-1.57,wrist_3_joint=0.0)}
17+
initial_positions:=${dict(shoulder_pan_joint=0.0,shoulder_lift_joint=-1.57,elbow_joint=1.57,wrist_1_joint=-1.57,wrist_2_joint=-1.57,wrist_3_joint=-1.57)}
1818
">
1919

2020

alliander_core/src/alliander_description/ur/urdf/ur.urdf.xacro

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ SPDX-License-Identifier: Apache-2.0
99
<xacro:arg name="simulation" default="" />
1010
<xacro:arg name="simulation_controllers" default="" />
1111
<xacro:arg name="ros_namespace" default="" />
12+
<xacro:arg name="childs" default="${[]}" />
1213

1314
<xacro:arg name="name" default="ur" />
1415
<xacro:arg name="ur_type" default="ur7e" />
@@ -20,4 +21,8 @@ SPDX-License-Identifier: Apache-2.0
2021
<xacro:include filename="$(find ur_robot_driver)/urdf/ur.urdf.xacro" />
2122
</xacro:unless>
2223

24+
<!-- Create detachable joints with given childs: -->
25+
<xacro:include filename="$(find alliander_utilities)/urdf/detachable_joints.urdf.xacro" />
26+
<xacro:detachable_joints childs="${$(arg childs)}" />
27+
2328
</robot>

alliander_core/src/alliander_utilities/alliander_utilities/config_objects.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@ def default_link_to_child(self) -> str:
191191
return "base_link"
192192
case "franka":
193193
return "fr3_hand"
194+
case "ur":
195+
return "wrist_3_link"
194196
case _:
195197
raise ValueError(
196198
f"No link_to_child for unknown platform name: {self.name}"

alliander_moveit/src/alliander_ur_moveit_config/config/arm.srdf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ are defined
5252
<joint name="elbow_joint" value="1.57" />
5353
<joint name="wrist_1_joint" value="-1.57" />
5454
<joint name="wrist_2_joint" value="-1.57" />
55-
<joint name="wrist_3_joint" value="0" />
55+
<joint name="wrist_3_joint" value="-1.57" />
5656
</group_state>
5757
<group_state name="drop" group="arm">
5858
<joint name="shoulder_pan_joint" value="-1.57" />
5959
<joint name="shoulder_lift_joint" value="-1.57" />
6060
<joint name="elbow_joint" value="1.57" />
6161
<joint name="wrist_1_joint" value="-1.57" />
6262
<joint name="wrist_2_joint" value="-1.57" />
63-
<joint name="wrist_3_joint" value="0" />
63+
<joint name="wrist_3_joint" value="-1.57" />
6464
</group_state>
6565

6666
<!--END_EFFECTOR:

alliander_ur/src/alliander_ur/launch/ur.launch.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ def launch_setup(context: LaunchContext) -> list:
3434
"alliander_description", ["ur", "config"], "controllers.yaml"
3535
),
3636
"ros_namespace": arm_config.namespace,
37+
"childs": str(
38+
[
39+
[child.connects_to, child.namespace, child.link]
40+
for child in arm_config.childs
41+
]
42+
),
3743
},
3844
)
3945

predefined_configurations.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,14 @@ def config_ur_rviz_motion_planning(self) -> None: # noqa: D102
148148
self.plat_conf.platforms = [arm]
149149
self.viz_conf.gui = True
150150

151+
@register_configuration("ur_realsense")
152+
def config_ur_realsense(self) -> None: # noqa: D102
153+
arm = Arm("ur", moveit=True)
154+
camera = Camera("realsense", (0.05, 0, 0), (0, -90, 180))
155+
156+
link(arm, camera)
157+
self.plat_conf.platforms = [arm, camera]
158+
151159
# Panther:
152160
@register_configuration("panther")
153161
def config_panther(self) -> None: # noqa: D102

0 commit comments

Comments
 (0)