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
Copy file name to clipboardExpand all lines: _docs/concepts/client_library/execution_management/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,7 +75,7 @@ Our approach is to provide a real-time-capable Executor for the rcl+rclc layer (
75
75
76
76
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.
77
77
78
-
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 Galactic release.
78
+
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.
79
79
80
80
81
81
## Analysis of rclcpp standard Executor
@@ -581,7 +581,7 @@ The slides can be downloaded [here](https://ec2a4d36-bac8-4759-b25e-bb1f794177f4
581
581
- Multi-threaded executor with assignment of scheduling policies of unerlying operating system. [[Pull Request](https://github.com/ros2/rclc/pull/87), pre-print [SLD2021](#SLD2021)].
582
582
583
583
### Download
584
-
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 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.
584
+
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.
Copy file name to clipboardExpand all lines: _docs/tutorials/advanced/handling_type_memory/index.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The micro-ROS type memory handling has changed in the latest micro-ROS Galactic
15
15
-[Sequence types in micro-ROS](#sequence-types-in-micro-ros)
16
16
-[Compound types in micro-ROS](#compound-types-in-micro-ros)
17
17
-[Sequences of compound types](#sequences-of-compound-types)
18
-
-[micro-ROS Galactic](#micro-ros-galactic)
18
+
-[micro-ROS Galactic and beyond](#micro-ros-galactic-and-beyond)
19
19
20
20
# micro-ROS Foxy
21
21
@@ -204,7 +204,7 @@ for(int32_t i = 0; i < 3; i++){
204
204
}
205
205
```
206
206
207
-
# micro-ROS Galactic
207
+
# micro-ROS Galactic and beyond
208
208
209
209
Due to the inclusion of [`rosidl_typesupport_introspection_c`](https://github.com/ros2/rosidl/tree/master/rosidl_typesupport_introspection_c) in micro-ROS Galactic distribution, an automated memory handling for micro-ROS types is available. The tools related to this feature are available in the package [`micro_ros_utilities`](https://github.com/micro-ROS/micro_ros_utilities).
@@ -123,7 +123,7 @@ Custom methods prototypes and examples:
123
123
*Note: the `state` input argument is espected to be unused*
124
124
125
125
## Time sync
126
-
micro-ROS Clients can synchronize their epoch time with the connected Agent, this can be very useful when working in embedded environments that do not provide any time synchronization mechanism.
126
+
micro-ROS Clients can synchronize their epoch time with the connected Agent, this can be very useful when working in embedded environments that do not provide any time synchronization mechanism.
127
127
This utility is based on the NTP protocol, taking into account delays caused by the transport layer. An usage example can be found on [`micro-ROS-demos/rclc/epoch_synchronization`](https://github.com/micro-ROS/micro-ROS-demos/blob/galactic/rclc/epoch_synchronization/main.c).
128
128
129
129
```c
@@ -133,14 +133,14 @@ const int timeout_ms = 1000;
133
133
// Synchronize time with the agent
134
134
rmw_uros_sync_session(timeout_ms);
135
135
136
-
if (rmw_uros_epoch_synchronized())
136
+
if (rmw_uros_epoch_synchronized())
137
137
{
138
138
// Get time in milliseconds or nanoseconds
139
139
int64_t time_ms = rmw_uros_epoch_millis();
140
140
int64_t time_ns = rmw_uros_epoch_nanos();
141
141
}
142
142
```
143
-
143
+
144
144
## Ping agent
145
145
The Client can test the connection with the Agent with the ping utility. This functionality can be used even when the micro-ROS context has not yet been initialized, which is useful to test the connection before trying to connect to the Agent. An example can be found on [`micro-ROS-demos/rclc/ping_uros_agent`](https://github.com/micro-ROS/micro-ROS-demos/blob/galactic/rclc/ping_uros_agent/main.c).
ROS 2 nodes are the main participants on ROS 2 ecosystem. They will communicate between each other using publishers, subscriptions, services, etc. Further information about ROS 2 nodes can be found [here](https://docs.ros.org/en/galactic/Tutorials/Understanding-ROS2-Nodes.html)
9
9
10
10
@@ -75,7 +75,7 @@ ROS 2 nodes are the main participants on ROS 2 ecosystem. They will communicate
75
75
}
76
76
```
77
77
78
-
Galactic: In this case, the node options are configured on the `rclc_support_t` object with a custom API
78
+
Galactic and beyond: In this case, the node options are configured on the `rclc_support_t` object with a custom API
79
79
80
80
```c
81
81
// Initialize micro-ROS allocator
@@ -133,7 +133,7 @@ Creation of a lifecycle node as a bundle of an rcl node and the rcl lifecycle st
ROS 2 parameters allow the user to create variables on a node and manipulate/read them with different ROS 2 commands. Further information about ROS 2 parameters can be found [here](https://docs.ros.org/en/rolling/Tutorials/Parameters/Understanding-ROS2-Parameters.html)
9
9
10
10
Ready to use code examples related to this tutorial can be found in [`rclc/rclc_examples/src/example_parameter_server.c`](https://github.com/ros2/rclc/blob/master/rclc_examples/src/example_parameter_server.c).
- notify_changed_over_dds: Publish parameter events to other ROS 2 nodes as well.
231
231
- max_params: Maximum number of parameters allowed on the `rclc_parameter_server_t` object.
232
232
- allow_undeclared_parameters: Allows creation of parameters from external parameter clients. A new parameter will be created if a `set` operation is requested on a non-existing parameter.
233
-
- low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
233
+
- low_mem_mode: Reduces the memory used by the parameter server, functionality constrains are applied.
0 commit comments