Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .github/workflows/generate_api_reference.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
generate_rmw_api_reference:
runs-on: ubuntu-latest
container: ros:foxy
container: ros:iron
steps:
- uses: actions/checkout@v3
- run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
Expand All @@ -28,10 +28,10 @@ jobs:
unzip doxybook2-linux-amd64-v1.3.3.zip -d doxybook2

mkdir -p ros2_ws/src; cd ros2_ws
git clone -b foxy https://github.com/eProsima/Micro-CDR src/Micro-CDR
git clone -b foxy https://github.com/eProsima/Micro-XRCE-DDS-Client src/Micro-XRCE-DDS-Client
git clone -b foxy https://github.com/micro-ROS/rosidl_typesupport_microxrcedds src/rosidl_typesupport_microxrcedds
git clone -b foxy https://github.com/micro-ROS/rmw-microxrcedds src/rmw-microxrcedds
git clone -b ros2 https://github.com/eProsima/Micro-CDR src/Micro-CDR
git clone -b ros2 https://github.com/eProsima/Micro-XRCE-DDS-Client src/Micro-XRCE-DDS-Client
git clone -b iron https://github.com/micro-ROS/rosidl_typesupport_microxrcedds src/rosidl_typesupport_microxrcedds
git clone -b iron https://github.com/micro-ROS/rmw-microxrcedds src/rmw-microxrcedds

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-up-to rmw_microxrcedds --cmake-args -DBUILD_DOCUMENTATION=ON
Expand All @@ -50,7 +50,7 @@ jobs:

generate_utils_api_reference:
runs-on: ubuntu-latest
container: ros:foxy
container: ros:iron
steps:
- uses: actions/checkout@v3
- run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
Expand All @@ -61,14 +61,14 @@ jobs:
shell: bash
run: |
apt update
apt install -y doxygen wget git unzip cmake ros-foxy-osrf-testing-tools-cpp
apt install -y doxygen wget git unzip cmake ros-iron-osrf-testing-tools-cpp

pushd /
wget https://github.com/matusnovak/doxybook2/releases/download/v1.3.3/doxybook2-linux-amd64-v1.3.3.zip
unzip doxybook2-linux-amd64-v1.3.3.zip -d doxybook2

mkdir -p ros2_ws/src; cd ros2_ws
git clone -b humble https://github.com/micro-ROS/micro_ros_utilities src/micro_ros_utilities
git clone -b iron https://github.com/micro-ROS/micro_ros_utilities src/micro_ros_utilities

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --packages-up-to micro_ros_utilities --cmake-args -DBUILD_DOCUMENTATION=ON
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ Along with this support package, there are [detailed instructions](https://githu

The [micro-ROS for STM32CubeMX](https://github.com/micro-ROS/micro_ros_stm32cubemx_utils) package is a set of utilities which enables the seamless configuration, set-up and integration of micro-ROS into an STM32 controller based project. As such, it allows micro-ROS to be virtually supported by the full set of boards offered by <a href="https://www.st.com/content/st_com/en.html">STMicroelectronics</a>.

Its usage is based on Dockers, via a prepared [Dockerfile](https://github.com/micro-ROS/docker/blob/foxy/micro-ROS-static-library-builder/Dockerfile) which eases micro-ROS library generation outside of a ROS 2 environment.
Its usage is based on Dockers, via a prepared [Dockerfile](https://github.com/micro-ROS/docker/blob/humble/micro-ROS-static-library-builder/Dockerfile) which eases micro-ROS library generation outside of a ROS 2 environment.
4 changes: 2 additions & 2 deletions _docs/concepts/client_library/execution_management/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Our approach is to provide a real-time-capable Executor for the rcl+rclc layer (

As the first step, we propose the rclc Executor for the rcl-layer in C programming language with several new features to support real-time and deterministic execution: It supports 1.) user-defined static sequential execution, 2) conditional execution semantics, 3) multi-threaded execution with scheduling configuration, and 4) logical execution semantics (LET). Sequential execution refers to the runtime behavior, that all callbacks are executed in a pre-defined order independent of the arrival time of messages. Conditional execution is available with a trigger condition which enables typical processing patterns in robotics (which are analyzed in detail in section [Analysis of processing patterns](#analysis-of-processing-patterns). Configuration of scheduling parameters for multi-threaded application accomplishes prioritized execution. The logical execution time concept (LET) provides data synchronization for fixed periodic task scheduling of embedded applications.

Beyond the advanced execution management mechanisms for micro-ROS, we also contributed to improving and extending the Executor concept in rclcpp for standard ROS 2: the callback group-level Executor. It is not a new Executor but rather a refinement of the ROS 2 Executor API allowing to prioritize a group of callbacks which is not possible with the ROS 2 default Executor in its current Humble release.
Beyond the advanced execution management mechanisms for micro-ROS, we also contributed to improving and extending the Executor concept in rclcpp for standard ROS 2: the callback group-level Executor. It is not a new Executor but rather a refinement of the ROS 2 Executor API allowing to prioritize a group of callbacks which is not possible with the ROS 2 default Executor in its current Iron release.


## Analysis of rclcpp standard Executor
Expand Down Expand Up @@ -581,7 +581,7 @@ The slides can be downloaded [here](https://ec2a4d36-bac8-4759-b25e-bb1f794177f4
- Multi-threaded executor with assignment of scheduling policies of underlying operating system. [[Pull Request](https://github.com/ros2/rclc/pull/87), pre-print [SLD2021](#SLD2021)].

### Download
The rclc Executor can be downloaded from the [ros2/rclc repository](https://github.com/ros2/rclc). It is available for the ROS 2 versions Foxy, Galactic, Humble and Rolling. The repository provides several packages including the [rclc Executor](https://github.com/ros2/rclc/tree/master/rclc) and an [rclc_examples package](https://github.com/ros2/rclc/tree/master/rclc_examples) with several application examples.
The rclc Executor can be downloaded from the [ros2/rclc repository](https://github.com/ros2/rclc). It is available for the ROS 2 versions Humble, Iron and Rolling. The repository provides several packages including the [rclc Executor](https://github.com/ros2/rclc/tree/master/rclc) and an [rclc_examples package](https://github.com/ros2/rclc/tree/master/rclc_examples) with several application examples.

## Callback-group-level Executor

Expand Down
2 changes: 1 addition & 1 deletion _docs/concepts/client_library/features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ The micro-ROS Client Library, formed by standard [ROS 2 Client Support Library (
* Lifecycle
* Parameters

Most features are already available in the Foxy release. Please see our [Feature Overview page](/docs/overview/features/) for details on the status. To learn developing your own application nodes with rcl + rclc, please head to the corresponding [programming tutorial](/docs/tutorials/programming_rcl_rclc/).
Most features are already available in the Humble release. Please see our [Feature Overview page](/docs/overview/features/) for details on the status. To learn developing your own application nodes with rcl + rclc, please head to the corresponding [programming tutorial](/docs/tutorials/programming_rcl_rclc/).
6 changes: 3 additions & 3 deletions _docs/concepts/fiware_interoperability/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ To accomplish this, two different approaches can be taken:
* Relying on an integration platform that uses a common types language representation, and defines a conversion library from/to the generic type to the specific type of each middleware.

While the first approach might result in a more lightweight tool, it has several flaws, for instance a more difficult maintenance and the incapability of communicating with any other middleware, rather than ROS2 or micro-ROS.
On the other hand, using an integration service platform, such as [SOSS](https://github.com/eProsima/soss_v2), enables automatically the possibility of communicating with a wide (and growing) set of middlewares, if their System Handle implementation is available.
On the other hand, using an integration service platform, such as [SOSS](https://github.com/eProsima/Integration-Service), enables automatically the possibility of communicating with a wide (and growing) set of middlewares, if their System Handle implementation is available.

## SOSS: System-Of-Systems-Synthesizer

Expand Down Expand Up @@ -63,7 +63,7 @@ For this reason, if a type defined in the topics section of the configuration fi
This is something important to notice when connecting to ROS2, because in ROS2 most of the types have a / in their names.
To deal with this issue, using SOSS [remapping](https://soss.docs.eprosima.com/en/latest/yaml_config.html?highlight=remap#remapping) capabilities come in handy.

Of course, given that micro-ROS applications act as a bridge between microcontrollers and the ROS 2 dataspace (using the micro-ROS Agent), FIROS2 should also take care of communicating FIWARE's Context Broker with ROS 2, leveraging the existing [ROS 2 System Handle](https://github.com/eProsima/soss_v2/tree/feature/xtypes-dds/packages/ros2), which comes natively included into the SOSS package.
Of course, given that micro-ROS applications act as a bridge between microcontrollers and the ROS 2 dataspace (using the micro-ROS Agent), FIROS2 should also take care of communicating FIWARE's Context Broker with ROS 2, leveraging the existing [ROS 2 System Handle](https://github.com/eProsima/Integration-Service), which comes natively included into the SOSS package.

This is exactly the situation reflected in the use case that is explained below.

Expand All @@ -79,7 +79,7 @@ This is exactly the situation reflected in the use case that is explained below.

* Clone the SOSS project into the source subfolder.
```bash
$ git clone https://github.com/osrf/soss_v2.git src/soss --branch feature/xtypes-dds
$ git clone https://github.com/eProsima/Integration-Service.git src/soss --branch feature/xtypes-dds
```

* Clone the SOSS-FIWARE project into the source subfolder.
Expand Down
Loading