Skip to content

Commit 836ec5d

Browse files
Fix docs format (#280)
1 parent 0182d09 commit 836ec5d

File tree

8 files changed

+134
-139
lines changed

8 files changed

+134
-139
lines changed

doc/index.rst

Lines changed: 25 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ What you can find in this repository
1515

1616
This repository demonstrates the following ``ros2_control`` concepts:
1717

18-
* Creating a ``HardwareInterface`` for a System, Sensor, and Actuator.
19-
* Creating a robot description in the form of URDF files.
20-
* Loading the configuration and starting a robot using launch files.
21-
* Control of a differential mobile base *DiffBot*.
22-
* Control of two joints of *RRBot*.
23-
* Implementing a controller switching strategy for a robot.
24-
* Using joint limits and transmission concepts in ``ros2_control``.
18+
* Creating a ``HardwareInterface`` for a System, Sensor, and Actuator.
19+
* Creating a robot description in the form of URDF files.
20+
* Loading the configuration and starting a robot using launch files.
21+
* Control of a differential mobile base *DiffBot*.
22+
* Control of two joints of *RRBot*.
23+
* Implementing a controller switching strategy for a robot.
24+
* Using joint limits and transmission concepts in ``ros2_control``.
2525

2626
=====================
2727
Goals
@@ -36,38 +36,31 @@ The repository has two other goals:
3636
Example Overview
3737
=====================
3838

39-
* Example 1: RRBot
40-
39+
Example 1: RRBot
4140
*RRBot* - or ''Revolute-Revolute Manipulator Robot'' - a simple position controlled robot with one hardware interface. This example also demonstrates the switching between different controllers.
4241

4342

44-
* Example 2: DiffBot
45-
43+
Example 2: DiffBot
4644
*DiffBot*, or ''Differential Mobile Robot'', is a simple mobile base with differential drive.
4745
The robot is basically a box moving according to differential drive kinematics.
4846

4947

50-
* Example 3: "RRBot with multiple interfaces"
51-
48+
Example 3: "RRBot with multiple interfaces"
5249
*RRBot* with multiple interfaces.
5350

5451

55-
* Example 4: "Industrial robot with integrated sensor"
56-
52+
Example 4: "Industrial robot with integrated sensor"
5753
*RRBot* with an integrated sensor.
5854

5955

60-
* Example 5: "Industrial Robots with externally connected sensor"
61-
56+
Example 5: "Industrial Robots with externally connected sensor"
6257
*RRBot* with an externally connected sensor.
6358

64-
* Example 6: "Modular Robots with separate communication to each actuator"
65-
59+
Example 6: "Modular Robots with separate communication to each actuator"
6660
The example shows how to implement robot hardware with separate communication to each actuator.
6761

6862

69-
* Example 8: "Using transmissions"
70-
63+
Example 8: "Using transmissions"
7164
*RRBot* with an exposed transmission interface.
7265

7366
=====================
@@ -76,17 +69,17 @@ Quick Hints
7669

7770
These are some quick hints, especially for those coming from a ROS1 control background:
7871

79-
* There are now three categories of hardware components: *Sensor*, *Actuator*, and *System*.
80-
*Sensor* is for individual sensors; *Actuator* is for individual actuators; *System* is for any combination of multiple sensors/actuators.
81-
You could think of a Sensor as read-only.
82-
All components are used as plugins and therefore exported using ``PLUGINLIB_EXPORT_CLASS`` macro.
83-
* *ros(1)_control* only allowed three hardware interface types: position, velocity, and effort.
84-
*ros2_control* allows you to create any interface type by defining a custom string. For example, you might define a ``position_in_degrees`` or a ``temperature`` interface.
85-
The most common (position, velocity, acceleration, effort) are already defined as constants in hardware_interface/types/hardware_interface_type_values.hpp.
86-
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration.
87-
* In ros2_control, all parameters for the driver are specified in the URDF.
88-
The ros2_control framework uses the **<ros2_control>** tag in the URDF.
89-
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration.
72+
* There are now three categories of hardware components: *Sensor*, *Actuator*, and *System*.
73+
*Sensor* is for individual sensors; *Actuator* is for individual actuators; *System* is for any combination of multiple sensors/actuators.
74+
You could think of a Sensor as read-only.
75+
All components are used as plugins and therefore exported using ``PLUGINLIB_EXPORT_CLASS`` macro.
76+
* *ros(1)_control* only allowed three hardware interface types: position, velocity, and effort.
77+
*ros2_control* allows you to create any interface type by defining a custom string. For example, you might define a ``position_in_degrees`` or a ``temperature`` interface.
78+
The most common (position, velocity, acceleration, effort) are already defined as constants in hardware_interface/types/hardware_interface_type_values.hpp.
79+
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration.
80+
* In ros2_control, all parameters for the driver are specified in the URDF.
81+
The ros2_control framework uses the **<ros2_control>** tag in the URDF.
82+
* Joint names in <ros2_control> tags in the URDF must be compatible with the controller's configuration.
9083

9184
=====================
9285
Examples

example_1/doc/userdoc.rst

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ simulator and was originally introduced for Gazebo tutorials.
1111

1212
For *example_1*, the hardware interface plugin is implemented having only one interface.
1313

14-
- The communication is done using proprietary API to communicate with the robot control box.
15-
- Data for all joints is exchanged at once.
16-
- Examples: KUKA RSI
14+
* The communication is done using proprietary API to communicate with the robot control box.
15+
* Data for all joints is exchanged at once.
16+
* Examples: KUKA RSI
1717

1818
The *RRBot* URDF files can be found in the ``description/urdf`` folder.
1919

@@ -39,8 +39,8 @@ Tutorial steps
3939

4040
The *RViz* setup can be recreated following these steps:
4141

42-
- The robot models can be visualized using ``RobotModel`` display using ``/robot_description`` topic.
43-
- Or you can simply open the configuration from ``description/rviz`` folder manually or directly by executing
42+
* The robot models can be visualized using ``RobotModel`` display using ``/robot_description`` topic.
43+
* Or you can simply open the configuration from ``description/rviz`` folder manually or directly by executing
4444

4545
.. code-block:: shell
4646
@@ -213,24 +213,24 @@ Tutorial steps
213213
Files used for this demos
214214
-------------------------
215215

216-
- Launch file: `rrbot.launch.py <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/launch/rrbot.launch.py>`__
217-
- Controllers yaml: `rrbot_controllers.yaml <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/config/rrbot_controllers.yaml>`__
218-
- URDF file: `rrbot.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/urdf/rrbot.urdf.xacro>`__
216+
* Launch file: `rrbot.launch.py <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/launch/rrbot.launch.py>`__
217+
* Controllers yaml: `rrbot_controllers.yaml <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/config/rrbot_controllers.yaml>`__
218+
* URDF file: `rrbot.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/urdf/rrbot.urdf.xacro>`__
219219

220-
+ Description: `rrbot_description.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/urdf/rrbot_description.urdf.xacro>`__
221-
+ ``ros2_control`` tag: `rrbot.ros2_control.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/ros2_control/rrbot.ros2_control.xacro>`__
220+
* Description: `rrbot_description.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/urdf/rrbot_description.urdf.xacro>`__
221+
* ``ros2_control`` tag: `rrbot.ros2_control.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/ros2_control/rrbot.ros2_control.xacro>`__
222222

223-
- RViz configuration: `rrbot.rviz <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/rviz/rrbot.rviz>`__
224-
- Test nodes goals configuration:
223+
* RViz configuration: `rrbot.rviz <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/description/rviz/rrbot.rviz>`__
224+
* Test nodes goals configuration:
225225

226226
+ `rrbot_forward_position_publisher <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/config/rrbot_forward_position_publisher.yaml>`__
227227
+ `rrbot_joint_trajectory_publisher <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/bringup/config/rrbot_joint_trajectory_publisher.yaml>`__
228228

229-
- Hardware interface plugin: `rrbot.cpp <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/hardware/rrbot.cpp>`__
229+
* Hardware interface plugin: `rrbot.cpp <https://github.com/ros-controls/ros2_control_demos/tree/master/example_1/hardware/rrbot.cpp>`__
230230

231231

232232
Controllers from this demo
233233
--------------------------
234-
- ``Joint State Broadcaster`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_state_broadcaster>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.html>`__
235-
- ``Forward Command Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/forward_command_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/forward_command_controller/doc/userdoc.html>`__
236-
- ``Joint Trajectory Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_trajectory_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.html>`__
234+
* ``Joint State Broadcaster`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_state_broadcaster>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.html>`__
235+
* ``Forward Command Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/forward_command_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/forward_command_controller/doc/userdoc.html>`__
236+
* ``Joint Trajectory Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_trajectory_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_trajectory_controller/doc/userdoc.html>`__

example_2/doc/userdoc.rst

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ The robot is basically a box moving according to differential drive kinematics.
99

1010
For *example_2*, the hardware interface plugin is implemented having only one interface.
1111

12-
- The communication is done using proprietary API to communicate with the robot control box.
13-
- Data for all joints is exchanged at once.
12+
* The communication is done using proprietary API to communicate with the robot control box.
13+
* Data for all joints is exchanged at once.
1414

1515
The *DiffBot* URDF files can be found in ``description/urdf`` folder.
1616

@@ -100,22 +100,22 @@ Tutorial steps
100100
[DiffBotSystemHardware]: Got command 50.00000 for 'right_wheel_joint'!
101101
102102
Files used for this demos
103-
#########################
103+
--------------------------
104104

105-
- Launch file: `diffbot.launch.py <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/bringup/launch/diffbot.launch.py>`__
106-
- Controllers yaml: `diffbot_controllers.yaml <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/bringup/config/diffbot_controllers.yaml>`__
107-
- URDF file: `diffbot.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/urdf/diffbot.urdf.xacro>`__
105+
* Launch file: `diffbot.launch.py <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/bringup/launch/diffbot.launch.py>`__
106+
* Controllers yaml: `diffbot_controllers.yaml <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/bringup/config/diffbot_controllers.yaml>`__
107+
* URDF file: `diffbot.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/urdf/diffbot.urdf.xacro>`__
108108

109-
+ Description: `diffbot_description.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/urdf/diffbot_description.urdf.xacro>`__
110-
+ ``ros2_control`` tag: `diffbot.ros2_control.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/ros2_control/diffbot.ros2_control.xacro>`__
109+
* Description: `diffbot_description.urdf.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/urdf/diffbot_description.urdf.xacro>`__
110+
* ``ros2_control`` tag: `diffbot.ros2_control.xacro <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/ros2_control/diffbot.ros2_control.xacro>`__
111111

112-
- RViz configuration: `diffbot.rviz <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/rviz/diffbot.rviz>`__
112+
* RViz configuration: `diffbot.rviz <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/description/rviz/diffbot.rviz>`__
113113

114-
- Hardware interface plugin: `diffbot_system.cpp <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/hardware/diffbot_system.cpp>`__
114+
* Hardware interface plugin: `diffbot_system.cpp <https://github.com/ros-controls/ros2_control_demos/tree/master/example_2/hardware/diffbot_system.cpp>`__
115115

116116

117117
Controllers from this demo
118-
##########################
118+
--------------------------
119119

120-
- ``Joint State Broadcaster`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_state_broadcaster>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.html>`__
121-
- ``Diff Drive Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/diff_drive_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/diff_drive_controller/doc/userdoc.html>`__
120+
* ``Joint State Broadcaster`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/joint_state_broadcaster>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/joint_state_broadcaster/doc/userdoc.html>`__
121+
* ``Diff Drive Controller`` (`ros2_controllers repository <https://github.com/ros-controls/ros2_controllers/tree/master/diff_drive_controller>`__): `doc <https://control.ros.org/master/doc/ros2_controllers/diff_drive_controller/doc/userdoc.html>`__

0 commit comments

Comments
 (0)