Skip to content

Commit 61691b7

Browse files
author
Christoph Hellmann Santos
committed
Detangle ros2_control from kinematic model
Signed-off-by: Christoph Hellmann Santos <[email protected]>
1 parent e53ee29 commit 61691b7

File tree

3 files changed

+32
-60
lines changed

3 files changed

+32
-60
lines changed

urdf/ur.ros2_control.xacro

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">
3-
3+
<xacro:include filename="$(find ur_description)/urdf/inc/ur_transmissions.xacro" />
44
<xacro:macro name="ur_ros2_control" params="
55
name
66
prefix
@@ -18,7 +18,12 @@
1818
reverse_port:=50001
1919
script_sender_port:=50002
2020
reverse_ip:=0.0.0.0
21-
script_command_port:=50004">
21+
script_command_port:=50004
22+
transmission_hw_interface:=hardware_interface/PositionJointInterface
23+
">
24+
25+
<!-- Add URDF transmission elements (for ros_control) -->
26+
<!--<xacro:ur_arm_transmission prefix="${prefix}" hw_interface="${transmission_hw_interface}" />-->
2227

2328
<ros2_control name="${name}" type="system">
2429
<hardware>

urdf/ur.urdf.xacro

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
<robot xmlns:xacro="http://wiki.ros.org/xacro" name="$(arg name)">
33
<!-- robot name parameter -->
44
<xacro:arg name="name" default="ur"/>
5-
<!-- import main macro -->
5+
<!-- include arm -->
66
<xacro:include filename="$(find ur_description)/urdf/ur_macro.xacro"/>
7+
<!-- include ros2 control -->
8+
<xacro:include filename="$(find ur_description)/urdf/ur.ros2_control.xacro" />
79

810
<!-- possible 'ur_type' values: ur3, ur3e, ur5, ur5e, ur10, ur10e, ur16e -->
911
<!-- the default value should raise an error in case this was called without defining the type -->
@@ -50,23 +52,36 @@
5052

5153
<!-- convert to property to use substitution in function -->
5254
<xacro:property name="initial_positions_file" default="$(arg initial_positions_file)"/>
55+
<xacro:property name="sim_gazebo" default="$(arg sim_gazebo)"/>
56+
<xacro:property name="sim_ignition" default="$(arg sim_ignition)"/>
5357

5458
<!-- create link fixed to the "world" -->
5559
<link name="world" />
5660

57-
<!-- arm -->
58-
<xacro:ur_robot
59-
name="$(arg name)"
60-
prefix="$(arg prefix)"
61-
parent="world"
61+
<!-- load model data -->
62+
<xacro:read_model_data
6263
joint_limits_parameters_file="$(arg joint_limit_params)"
6364
kinematics_parameters_file="$(arg kinematics_params)"
6465
physical_parameters_file="$(arg physical_params)"
6566
visual_parameters_file="$(arg visual_params)"
66-
transmission_hw_interface="$(arg transmission_hw_interface)"
67+
force_abs_paths="${sim_gazebo or sim_ignition}"/>
68+
69+
<!-- arm instance -->
70+
<xacro:ur_robot
71+
name="$(arg name)"
72+
prefix="$(arg prefix)"
73+
parent="world"
6774
safety_limits="$(arg safety_limits)"
6875
safety_pos_margin="$(arg safety_pos_margin)"
6976
safety_k_position="$(arg safety_k_position)"
77+
>
78+
<origin xyz="0 0 0" rpy="0 0 0" /> <!-- position robot in the world -->
79+
</xacro:ur_robot>
80+
81+
82+
<!-- ros2 control instance -->
83+
<xacro:ur_ros2_control
84+
name="$(arg name)" prefix="$(arg prefix)"
7085
use_fake_hardware="$(arg use_fake_hardware)"
7186
fake_sensor_commands="$(arg fake_sensor_commands)"
7287
sim_gazebo="$(arg sim_gazebo)"
@@ -88,9 +103,9 @@
88103
input_recipe_filename="$(arg input_recipe_filename)"
89104
reverse_ip="$(arg reverse_ip)"
90105
script_command_port="$(arg script_command_port)"
91-
>
92-
<origin xyz="0 0 0" rpy="0 0 0" /> <!-- position robot in the world -->
93-
</xacro:ur_robot>
106+
tf_prefix=""
107+
hash_kinematics="${kinematics_hash}"
108+
/>
94109

95110
<xacro:if value="$(arg sim_gazebo)">
96111
<!-- Gazebo plugins -->

urdf/ur_macro.xacro

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,6 @@
5858
prefix
5959
parent
6060
*origin
61-
joint_limits_parameters_file
62-
kinematics_parameters_file
63-
physical_parameters_file
64-
visual_parameters_file
65-
transmission_hw_interface:=hardware_interface/PositionJointInterface
6661
safety_limits:=false
6762
safety_pos_margin:=0.15
6863
safety_k_position:=20
@@ -90,51 +85,8 @@
9085
reverse_ip:=0.0.0.0
9186
script_command_port:=50004">
9287

93-
<!-- Load configuration data from the provided .yaml files -->
94-
<xacro:read_model_data
95-
joint_limits_parameters_file="${joint_limits_parameters_file}"
96-
kinematics_parameters_file="${kinematics_parameters_file}"
97-
physical_parameters_file="${physical_parameters_file}"
98-
visual_parameters_file="${visual_parameters_file}"
99-
force_abs_paths="${sim_gazebo or sim_ignition}"/>
10088

10189

102-
<!-- ros2 control include -->
103-
<xacro:include filename="$(find ur_description)/urdf/ur.ros2_control.xacro" />
104-
<!-- ros2 control instance -->
105-
<xacro:ur_ros2_control
106-
name="${name}" prefix="${prefix}"
107-
use_fake_hardware="${use_fake_hardware}"
108-
initial_positions="${initial_positions}"
109-
fake_sensor_commands="${fake_sensor_commands}"
110-
headless_mode="${headless_mode}"
111-
sim_gazebo="${sim_gazebo}"
112-
sim_ignition="${sim_ignition}"
113-
script_filename="${script_filename}"
114-
output_recipe_filename="${output_recipe_filename}"
115-
input_recipe_filename="${input_recipe_filename}"
116-
tf_prefix=""
117-
hash_kinematics="${kinematics_hash}"
118-
robot_ip="${robot_ip}"
119-
use_tool_communication="${use_tool_communication}"
120-
tool_voltage="${tool_voltage}"
121-
tool_parity="${tool_parity}"
122-
tool_baud_rate="${tool_baud_rate}"
123-
tool_stop_bits="${tool_stop_bits}"
124-
tool_rx_idle_chars="${tool_rx_idle_chars}"
125-
tool_tx_idle_chars="${tool_tx_idle_chars}"
126-
tool_device_name="${tool_device_name}"
127-
tool_tcp_port="${tool_tcp_port}"
128-
reverse_port="${reverse_port}"
129-
script_sender_port="${script_sender_port}"
130-
reverse_ip="${reverse_ip}"
131-
script_command_port="${script_command_port}"
132-
/>
133-
134-
<!-- Add URDF transmission elements (for ros_control) -->
135-
<!--<xacro:ur_arm_transmission prefix="${prefix}" hw_interface="${transmission_hw_interface}" />-->
136-
<!-- Placeholder for ros2_control transmission which don't yet exist -->
137-
13890
<!-- links - main serial chain -->
13991
<link name="${prefix}base_link"/>
14092
<link name="${prefix}base_link_inertia">

0 commit comments

Comments
 (0)