@@ -23,8 +23,8 @@ This URDF is very similar to the one we have already assembled. We simply need t
2323
2424.. literalinclude :: ../my_robot_cell_control/urdf/my_robot_cell_controlled.urdf.xacro
2525 :language: xml
26- :start-at: <xacro:include filename="$(find ur_robot_driver )/urdf/ur.ros2_control.xacro"/>
27- :end-at: <xacro:include filename="$(find ur_robot_driver )/urdf/ur.ros2_control.xacro"/>
26+ :start-at: <xacro:include filename="$(find ur_description )/urdf/ur.ros2_control.xacro"/>
27+ :end-at: <xacro:include filename="$(find ur_description )/urdf/ur.ros2_control.xacro"/>
2828 :caption: my_robot_cell_control/urdf/my_robot_cell_controlled.urdf.xacro
2929
3030
@@ -33,7 +33,7 @@ define the necessary arguments that need to be passed to the macro,
3333.. literalinclude :: ../my_robot_cell_control/urdf/my_robot_cell_controlled.urdf.xacro
3434 :language: xml
3535 :start-at: <xacro:arg name="robot_ip" default="0.0.0.0"/>
36- :end-at: <xacro:arg name="mock_sensor_commands " default="false" />
36+ :end-at: <xacro:arg name="fake_sensor_commands " default="false" />
3737 :caption: my_robot_cell_control/urdf/my_robot_cell_controlled.urdf.xacro
3838
3939
@@ -57,39 +57,12 @@ For now, we just copy the default one for the ur20.
5757 cp $(ros2 pkg prefix ur_description)/share/ur_description/config/ur20/default_kinematics.yaml \
5858 my_robot_cell_control/config/my_robot_calibration.yaml
5959
60-
61- Create robot_state_publisher launchfile
62- ---------------------------------------
63-
64- To use the custom controlled description, we need to generate a launchfile loading that description
65- (Since it contains less / potentially different) arguments than the "default" one. In that
66- launchfile we need to start a ``robot_state_publisher `` (RSP) node that will get the description as a
67- parameter and redistribute it via the ``robot_description `` topic:
68-
69- .. literalinclude :: ../my_robot_cell_control/launch/rsp.launch.py
70- :language: py
71- :start-after: # Author: Felix Exner
72- :linenos:
73- :caption: my_robot_cell_control/launch/rsp.launch.py
74-
75- With this we could start our workcell using
76-
77- .. code-block :: bash
78-
79- ros2 launch ur_robot_driver ur_control.launch.py \
80- description_launchfile:=$( ros2 pkg prefix my_robot_cell_control) /share/my_robot_cell_control/launch/rsp.launch.py \
81- use_mock_hardware:=true \
82- robot_ip:=123 \
83- ur_type:=ur20 \
84- rviz_config_file:=$( ros2 pkg prefix my_robot_cell_description) /share/my_robot_cell_description/rviz/urdf.rviz \
85- tf_prefix:=ur20_
86-
8760 Create start_robot launchfile
8861-----------------------------
8962
90- Since the command above is obviously not very convenient to start our robot , we wrap that into another
91- launchfile that includes the ``ur_control.launch.py `` launchfile with the correct description
92- launchfile and prefix:
63+ To launch a controlled robot with our custom description , we need to generate a launchfile. We
64+ include the ``ur_control.launch.py `` file from the driver and set its parameters to match our
65+ custom workcell.
9366
9467.. literalinclude :: ../my_robot_cell_control/launch/start_robot.launch.py
9568 :language: py
@@ -100,7 +73,7 @@ With that we can start the robot using
10073
10174.. code-block :: bash
10275
103- ros2 launch my_robot_cell_control start_robot.launch.py use_mock_hardware :=true
76+ ros2 launch my_robot_cell_control start_robot.launch.py use_fake_hardware :=true
10477
10578 Testing everything
10679------------------
@@ -121,7 +94,7 @@ We can start the system in a mocked simulation
12194.. code-block :: bash
12295
12396 # start the driver with mocked hardware
124- ros2 launch my_robot_cell_control start_robot.launch.py use_mock_hardware :=true
97+ ros2 launch my_robot_cell_control start_robot.launch.py use_fake_hardware :=true
12598
12699 Or to use it with a real robot:
127100
0 commit comments