You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add documentation for the new platform-extras service (#330)
* Add documentation for the new platform-extras service
* Add platform extras to jazzy generators page
* Remove extras launch from sensors generation
* Fix section headers in mermaid diagram
* humble -> jazzy, fix path to platform-extras launch
Copy file name to clipboardExpand all lines: docs_versioned_docs/version-ros2jazzy/ros/config/generators.mdx
+57-15
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ Generator scripts do not need to be modified by the user. Rather the user should
21
21
22
22
### Bash
23
23
24
-
The main bash script that needs to be generated is the `setup.bash` file. This file will source the Humble`setup.bash`, as well as any
24
+
The main bash script that needs to be generated is the `setup.bash` file. This file will source the Jazzy`setup.bash`, as well as any
25
25
additional workspaces. It will also contain environment variables for setting up ROS 2. This file will be sourced by the `robot_upstart` job, as well
26
26
as the user terminal. This way we can ensure that the bash environment of the upstart jobs matches the user's.
27
27
@@ -37,7 +37,7 @@ The semantic description generator will generate a `robot.srdf.xacro` and `robot
37
37
38
38
### Launch
39
39
40
-
The launch generator creates ROS 2 [python launch files](https://docs.ros.org/en/humble/Tutorials/Intermediate/Launch/Creating-Launch-Files.html). It will create both the platform and sensor launch files by parsing the robot config. Typically, the generated launch file will include a default launch file, and pass in launch arguments as appropriate. Python classes have been defined for adding other launch files, nodes, and processes to the generated launch file, making it intuitive to use.
40
+
The launch generator creates ROS 2 [python launch files](https://docs.ros.org/en/jazzy/Tutorials/Intermediate/Launch/Creating-Launch-Files.html). It will create both the platform and sensor launch files by parsing the robot config. Typically, the generated launch file will include a default launch file, and pass in launch arguments as appropriate. Python classes have been defined for adding other launch files, nodes, and processes to the generated launch file, making it intuitive to use.
41
41
42
42
### Parameter
43
43
@@ -65,10 +65,10 @@ By running the **bash**, **description**, **launch**, and **parameter** generato
@@ -100,6 +100,50 @@ By running the **bash**, **description**, **launch**, and **parameter** generato
100
100
`}
101
101
/>
102
102
103
+
### Platform Extras
104
+
By running the **launch** generator, the launch file to run the user-specified extra platform nodes is created in the directory **/etc/clearpath/platform-extras**.
105
+
The top level launch file to start all platform related nodes is the **platform-extras-service.launch.py**, which is generated in the **/etc/clearpath/platform-extras/launch**
Using the **parameter** and **launch** file generators, a pair of files is created for each sensor defined in the configuration file. Each sensor is enumerated given its order in sensor section of the **robot.yaml**. For example, if two cameras are added, then the first will be named **camera_0** and the second **camera_1**, irrespective of the model of camera. Each sensor launch file generated is included in the top level **sensors-service.launch.py** which is ran by the service.
105
149
<Mermaid
@@ -122,15 +166,14 @@ Using the **parameter** and **launch** file generators, a pair of files is creat
Copy file name to clipboardExpand all lines: docs_versioned_docs/version-ros2jazzy/ros/config/services.mdx
+7
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,7 @@ To run all ROS 2 nodes in the background and from boot, we use [robot_upstart](h
10
10
the launch files as [systemd](https://manpages.ubuntu.com/manpages/jammy/en/man5/systemd.service.5.html) services. In ROS 1 there was a single `ros` service that
11
11
ran everything. For ROS 2 Humble, we have split this into three separate services:
@@ -19,6 +20,12 @@ The `clearpath-platform` service launches the `platform-service.launch.py` file
19
20
required to operate the base platform, such as control, teleop, localization, and more. Running this service alone is enough to drive the robot, visualise it
20
21
in Rviz, and get platform data. This service can be stopped or started without interrupting the sensor service.
21
22
23
+
### Clearpath Platform Extras
24
+
25
+
The `clearpath-platform-extras` service launches the (optional) additional launch file specified in `platform.extras.launch` portion of `robot.yaml`.
26
+
27
+
This service is only for additional user-defined nodes and will be inactive by default if no user-defined launch file is specified.
28
+
22
29
### Clearpath Sensors
23
30
24
31
The `clearpath-sensors` service launches the `sensors-service.launch.py` file found under `/etc/clearpath/sensors/launch/`. This will launch any
Copy file name to clipboardExpand all lines: docs_versioned_docs/version-ros2jazzy/ros/config/yaml/platform/extras.mdx
+18
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,9 @@ Extras have the following entries:
14
14
-**urdf:**
15
15
-**package:** name of the ROS 2 package that contains the extras URDF (optional).
16
16
-**path:** relative path within the package or absolute path to robot extras URDF
17
+
-**launch:**
18
+
-**package:** name of the ROS 2 package that contains the extras launch file (optional).
19
+
-**path:** relative path within the package or absolute path to robot extras launch file
17
20
-**ros_parameters:** in YAML to pass in parameters to platform nodes. This is useful to change parameters such as the robot's velocity and acceleration.
18
21
19
22
```yaml
@@ -31,6 +34,21 @@ extras:
31
34
Remember, absolute paths start with `/` and relative paths do not.
32
35
:::
33
36
37
+
### Extras Launch
38
+
39
+
If an `extras.launch` is specified, it is launched as part of the `clearpath-platform-extras.service` job. To check the status
40
+
of the extras launch, run
41
+
42
+
```bash
43
+
systemctl status clearpath-platform-extras.service
44
+
```
45
+
46
+
To view the raw output from the extras launch, run
A common use case is to set and update the parameters to the `platform_velocity_controller` node. These can be used to modify the linear and angular velocity and acceleratation.
0 commit comments