Skip to content

Commit

Permalink
[dds] rename microdds_client into uxrce_dds_client (#2483)
Browse files Browse the repository at this point in the history
* [dds] middleware/xrce_dds.md renamed to middleware/uxrce_dds.md

all cross-link updated.

assets/middleware/xrce_dds/architecture_xrce-dds_ros2.svg
not renamed yet.

Signed-off-by: Beniamino Pozzan <[email protected]>

* [dds] microdds to uxrce_dds

all accurrencies of *microdds* have be renamed

en/modules/modules_system.md is left untouched as it is automatically
updated.

Signed-off-by: Beniamino Pozzan <[email protected]>

* [dds] xrce-dds renamed into uxrce-dds

Signed-off-by: Beniamino Pozzan <[email protected]>

* Update companion_computer_peripherals.md

Simplify the text. Just really to touch the PR and test my link tester code.

* [dds] Fix broken links

Signed-off-by: Beniamino Pozzan <[email protected]>

---------

Signed-off-by: Beniamino Pozzan <[email protected]>
Co-authored-by: Hamish Willee <[email protected]>
  • Loading branch information
beniaminopozzan and hamishwillee authored May 3, 2023
1 parent d3e8a5f commit aa621e6
Show file tree
Hide file tree
Showing 17 changed files with 122 additions and 124 deletions.
2 changes: 1 addition & 1 deletion en/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -581,7 +581,7 @@
* [Wind](msg_docs/Wind.md)
* [YawEstimatorStatus](msg_docs/YawEstimatorStatus.md)
* [MAVLink Messaging](middleware/mavlink.md)
* [XRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/xrce_dds.md)
* [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](middleware/uxrce_dds.md)
* [Modules & Commands](modules/modules_main.md)
* [Autotune](modules/modules_autotune.md)
* [Commands](modules/modules_command.md)
Expand Down
8 changes: 4 additions & 4 deletions en/advanced_config/ethernet_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,18 +205,18 @@ However this is not recommended because the default configuration is optimised f
## ROS 2 Setup Example

:::note Prerequisites:
- You have a supported autopilot hardware running PX4 firmware that includes [XRCE-DDS](../middleware/xrce_dds.md) middleware.
Note that PX4 v1.14 and later include the required [microdds-client](../modules/modules_system.md#microdds-client) module by default.
- You have a supported autopilot hardware running PX4 firmware that includes [uXRCE-DDS](../middleware/uxrce_dds.md) middleware.
Note that PX4 v1.14 and later include the required [uxrce_dds_client](../modules/modules_system.md#uxrce_dds_client) module by default.
- [ROS 2](../ros/ros2_comm.md) has been set up correctly on the companion computer.
- You have followed the Ethernet network and port setup as discussed at the top of this page.
:::

To set up ROS 2:

1. Connect your flight controller and companion computer via Ethernet.
2. [Start the micro XRCE-DDS client on PX4](../middleware/xrce_dds.md#starting-the-client), either manually or by customizing the system startup script.
2. [Start the uXRCE-DDS client on PX4](../middleware/uxrce_dds.md#starting-the-client), either manually or by customizing the system startup script.
Note that you must use the IP address of the companion computer and the UDP port on which the agent is listening (the example configuration above sets the companion IP address to `192.168.0.1`, and the agent UDP port is set to `8888` in the next step).
3. [Start the XRCE-DDS agent on the companion computer](../middleware/xrce_dds.md#starting-the-agent).
3. [Start the micro XRCE-DDS agent on the companion computer](../middleware/uxrce_dds.md#starting-the-agent).
For example, enter the following command in a terminal to start the agent listening on UDP port `8888`.

```
Expand Down
4 changes: 2 additions & 2 deletions en/companion_computer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The diagram below shows a possible architecture for an unmanned vehicle architec

The flight controller runs PX4 on NuttX, and provides core flight and safety code.
The companion computer usually runs Linux, as this is a much better platform for "general" software development.
They are connected using a fast serial or Ethernet link, and typically communicate using the [MAVLink protocol](https://mavlink.io/en/) or microDDS.
They are connected using a fast serial or Ethernet link, and typically communicate using the [MAVLink protocol](https://mavlink.io/en/) or uXRCE-DDS.

Communications with the ground stations and the cloud are usually routed via the companion computer (e.g. using the [MAVLink Router](https://github.com/mavlink-router/mavlink-router)).

Expand All @@ -27,7 +27,7 @@ The following boards are known to provide a good integration with PX4:

## Companion Computer Options

PX4 can be used with computers that can be configured to communicate via MAVLink or microROS/microDDS over over a serial port (or Ethernet port, if present).
PX4 can be used with computers that can be configured to communicate via MAVLink or microROS/uXRCE-DDS over over a serial port (or Ethernet port, if present).

A small subset of possible alternatives are listed below:

Expand Down
8 changes: 3 additions & 5 deletions en/companion_computer/companion_computer_peripherals.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ These include both components that might be connected to a companion computer (p

## Companion/Pixhawk Communication

Typical companion computer work with Pixhawk requires a companion link to transmit/receive the data between the companion computer and Pixhawk hardware (e.g. Intel NUC and Pixhawk 4).

There are a few devices that allow this communication bridge such as FTDI USB breakouts and level shifters (see below).
This section lists devices that may be used for the physical serial/data connection between a companion computer and a flight controller.

:::note
PX4 configuration for communicating with a companion computer over MAVLink configuration is covered in [MAVLink \(OSD / Telemetry\)](../peripherals/mavlink_peripherals.md#example).
Other relevant topics/sections include: [Companion Computers](../companion_computer/README.md), [Robotics](../robotics/README.md) and [XRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/xrce_dds.md).
PX4 configuration for communicating with a companion computer over MAVLink configuration is covered in [MAVLink (OSD / Telemetry)](../peripherals/mavlink_peripherals.md#example).
Other relevant topics/sections include: [Companion Computers](../companion_computer/README.md), [Robotics](../robotics/README.md) and [uXRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/uxrce_dds.md).
:::

### FTDI Devices
Expand Down
2 changes: 1 addition & 1 deletion en/companion_computer/pixhawk_companion.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The port is configured by default to interface using MAVLink.
If using MAVLink, no other PX4-side configuration should be required.
To use MAVLink on another port, and/or disable it on `TELEM2`, see [MAVLink Peripherals (GCS/OSD/Companion)](../peripherals/mavlink_peripherals.md) and [Serial Port Configuration](../peripherals/serial_configuration.md).

To use [ROS 2/XRCE-DDS](../ros/ros2_comm.md) instead of MAVLink on `TELEM2`, disable MAVLink on the port and then enable the XRCE-DDS client on `TELEM2`(see [XRCE-DDS > Starting the client](../middleware/xrce_dds.md#starting-the-client)).
To use [ROS 2/uXRCE-DDS](../ros/ros2_comm.md) instead of MAVLink on `TELEM2`, disable MAVLink on the port and then enable the uXRCE-DDS client on `TELEM2`(see [uXRCE-DDS > Starting the client](../middleware/uxrce_dds.md#starting-the-client)).

### Serial Port Hardware Setup

Expand Down
24 changes: 12 additions & 12 deletions en/companion_computer/pixhawk_rpi.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ First check the Pixhawk `TELEM 2` configuration:

```
MAV_1_CONFIG = TELEM2
XRCE_DDS_CFG = 0 (Disabled)
UXRCE_DDS_CFG = 0 (Disabled)
SER_TEL2_BAUD = 57600
```

Expand Down Expand Up @@ -234,11 +234,11 @@ MAVProxy on RPi should now connect to the Pixhawk, via RX/TX pins.
You should be able to see this in the RPi terminal.

We have now verified that our connection is wired up properly.
In the next section we'll set up the both Pixhawk and RPi to use XRCE-DDS and ROS2 instead of MAVLink.
In the next section we'll set up the both Pixhawk and RPi to use uXRCE-DDS and ROS2 instead of MAVLink.

## ROS 2 and XRCE-DDS
## ROS 2 and uXRCE-DDS

The [ROS 2 Guide](../ros/ros2_comm.md) and [XRCE-DDS](../middleware/xrce_dds.md) pages cover the options for setting up the XRCE-DDS and ROS, focussing on ROS 2 "Foxy".
The [ROS 2 Guide](../ros/ros2_comm.md) and [uXRCE-DDS](../middleware/uxrce_dds.md) pages cover the options for setting up the uXRCE-DDS and ROS, focussing on ROS 2 "Foxy".
This tutorial uses ROS 2 "Humble" and covers the specific setup for working with RPi.
It is worth reading both!

Expand All @@ -254,30 +254,30 @@ The configuration steps are:

```
MAV_1_CONFIG = 0 (Disabled)
XRCE_DDS_CFG = 102 (TELEM2)
UXRCE_DDS_CFG = 102 (TELEM2)
SER_TEL2_BAUD = 921600
```

[MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) and [XRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#MAV_1_CONFIG) disable MAVLink on TELEM2 and enable the XRCE-DDS client on TELEM2, respectively.
[MAV_1_CONFIG=0](../advanced_config/parameter_reference.md#MAV_1_CONFIG) and [UXRCE_DDS_CFG=102](../advanced_config/parameter_reference.md#UXRCE_DDS_CFG) disable MAVLink on TELEM2 and enable the uXRCE-DDS client on TELEM2, respectively.
The `SER_TEL2_BAUD` rate sets the comms link data rate.
You could similarly configure a connection to `TELEM1` using either `MAV_1_CONFIG` or `MAV_0_CONFIG`.

:::note
You will need to reboot the flight controller to apply any changes to these parameters.
:::

1. Check that the [microdds_client](../modules/modules_system.md#microdds-client) module is now running.
1. Check that the [uxrce_dds_client](../modules/modules_system.md#uxrce_dds_client) module is now running.
YOu can do this by running the following command in the QGroundControl [MAVLink Console](https://docs.qgroundcontrol.com/master/en/analyze_view/mavlink_console.html):

```
microdds_client status
uxrce_dds_client status
```

:::note
If the client module is not running you can start it manually in the MAVLink console:

```
microdds_client start -t serial -d /dev/ttyS3 -b 921600
uxrce_dds_client start -t serial -d /dev/ttyS3 -b 921600
```

Note that `/dev/ttyS3` is the PX4 port for `TELEM2` on the [Holybro Pixhawk 6c](../flight_controller/pixhawk6c.md#serial-port-mapping).
Expand All @@ -286,15 +286,15 @@ For other flight controllers check the serial port mapping section in their over

### ROS Setup on RPi

The steps to setup ROS 2 and the XRCE-DDS Agent on the RPi are:
The steps to setup ROS 2 and the Micro XRCE-DDS Agent on the RPi are:

1. Install ROS 2 Humble by following the [official tutorial](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html).
2. Install the git using the RPi terminal:

```bash
sudo apt install git
```
3. Install the XRCE_DDS agent:
3. Install the micro XRCE_DDS agent:

```bash
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
Expand All @@ -307,7 +307,7 @@ The steps to setup ROS 2 and the XRCE-DDS Agent on the RPi are:
sudo ldconfig /usr/local/lib/
```

See [XRCE-DDS > XRCE-DDS Agent Installation](../middleware/xrce_dds.md#xrce-dds-agent-installation) for alternative ways of installing the agent.
See [uXRCE-DDS > Micro XRCE-DDS Agent Installation](../middleware/uxrce_dds.md#micro-xrce-dds-agent-installation) for alternative ways of installing the agent.
4. Start the agent in the RPi terminal:

```bash
Expand Down
2 changes: 1 addition & 1 deletion en/flight_modes/offboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Before using offboard mode with ROS 2, please spend a few minutes understanding
* `xyz` for thrust and `xyz` for torque.
- All the value are in the drone body FRD frame and normalized in \[-1, 1\].
- In order to save resources, this mode is disabled by default.
If you want to use it you need to manually add `vehicle_thrust_setpoint` and `vehicle_torque_setpoint` to the list of [subscribed topics](../middleware/xrce_dds.md#dds-topics-yaml), and manually recompile the firmware.
If you want to use it you need to manually add `vehicle_thrust_setpoint` and `vehicle_torque_setpoint` to the list of [subscribed topics](../middleware/uxrce_dds.md#dds-topics-yaml), and manually recompile the firmware.



Expand Down
2 changes: 1 addition & 1 deletion en/middleware/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Middleware

This section contains topics about PX4 middleware, including PX4 internal communication mechanisms ([uORB](../middleware/uorb.md)), and between PX4 and offboard systems like companion computers and GCS (e.g. [MAVLink](../middleware/mavlink.md), [XRCE-DDS](../middleware/xrce_dds.md)).
This section contains topics about PX4 middleware, including PX4 internal communication mechanisms ([uORB](../middleware/uorb.md)), and between PX4 and offboard systems like companion computers and GCS (e.g. [MAVLink](../middleware/mavlink.md), [uXRCE-DDS](../middleware/uxrce_dds.md)).

:::tip
For a detailed overview of the platform architecture see the [Architectural Overview](../concept/architecture.md).
Expand Down
2 changes: 1 addition & 1 deletion en/middleware/micrortps.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# RTPS/DDS Interface: PX4-Fast RTPS(DDS) Bridge

[XRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/xrce_dds.md) has replaced the _Fast-RTPS Bridge_.
[uXRCE-DDS (PX4-ROS 2/DDS Bridge)](../middleware/uxrce_dds.md) has replaced the _Fast-RTPS Bridge_.
If you're working in PX4 v1.13 or earlier see: [Fast-RTPS Bridge](https://docs.px4.io/v1.13/en/middleware/micrortps.html#rtps-dds-interface-px4-fast-rtps-dds-bridge)
Loading

0 comments on commit aa621e6

Please sign in to comment.