Skip to content

Commit 766849b

Browse files
authored
Merge branch 'rolling' into 6006-intermediate-tutorial-tf2-xml-yml-launch
2 parents 43c2088 + 907d837 commit 766849b

File tree

19 files changed

+240
-42
lines changed

19 files changed

+240
-42
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ _build/
44
.vscode/
55
__pycache__
66
ros2doc/
7+
.DS_Store

source/Concepts.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,3 @@ Related Content
1515
^^^^^^^^^^^^^^^
1616

1717
:doc:`See the ROS 2 citations <Citations>` for more explanation of concepts and citable resources.
18-
19-
For a brief video introduction to ROS 2, see this community contributed content:
20-
21-
* `Getting started with ROS Part 1: Nodes, Parameters and Topics <https://youtu.be/46TPAKXBOF8>`_
22-
* `Getting started with ROS Part 2: Services and Actions <https://youtu.be/keZAJ83eEoM>`_

source/Concepts/Intermediate/About-RQt.rst

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,3 @@ Further Reading
8181
* ROS 2 Discourse `announcement of porting to ROS 2 <https://discourse.ros.org/t/rqt-in-ros2/6428>`__)
8282
* `RQt for ROS 1 documentation <https://wiki.ros.org/rqt>`__
8383
* Brief overview of RQt (from `a Willow Garage intern blog post <http://web.archive.org/web/20130518142837/http://www.willowgarage.com/blog/2012/10/21/ros-gui>`__)
84-
85-
.. raw:: html
86-
87-
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/CyP9wHu2PpY" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

source/How-To-Guides/Using-Variants.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ In addition to the official variants, there may be metapackages for specific ins
1515
Adding variants
1616
---------------
1717

18-
Additional variants that are of general use to the ROS community can be proposed by contributing an update to `REP-2001 via pull request <https://github.com/ros-infrastructure/rep/blob/master/rep-2001.rst>`_ describing the packages included in the new variant.
18+
Additional variants that are of general use to the ROS community can be proposed by contributing an update to `REP-2001 via pull request <https://github.com/openrobotics/reps/blob/main/_posts/rep-2001.md>`_ describing the packages included in the new variant.
1919
Institution and robot specific variants can be published directly by their respective maintainers and no update to REP-2001 is required.
2020

2121
Creating project-specific variants

source/Releases/Release-Lyrical-Luth.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ TODO
3939
New features in this ROS 2 release
4040
----------------------------------
4141

42+
``rosidl_python``
43+
^^^^^^^^^^^^^^^^^
44+
45+
Passing in Python ``set`` objects into array or sequence fields is now deprecated.
46+
Instead pass in something that implements ``collections.abc.Sequence`` most commonly a ``list``, ``tuple``, or a ``numpy.ndarray``. To be removed in ROS M.
47+
4248
Development progress
4349
--------------------
4450

source/The-ROS2-Project/Governance.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ The day-to-day operations of the ROS PMC include managing the members and commit
3737

3838
For more details about the ROS PMC, please see the `Charter for the ROS Project <https://osralliance.org/staging/wp-content/uploads/2024/03/ros_project_charter.pdf>`__.
3939

40+
ROS Project Management Committee (PMC) Meetings
41+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42+
43+
Community members are encouraged to observe the ROS 2 PMC meetings and submit agenda items via a PMC constituent.
44+
To add an item to the ROS PMC agenda please contact one of the ROS PMC constituents list below.
45+
ROS PMC meetings are conducted using Zoom and presently occur every Tuesday at 17:00 UTC (09:00 PST / 12:00 EST / 18:00 CET / +1 02:00 JST).
46+
To join the ROS PMC meeting please use the `link available in our official OSRA Google calendar <https://calendar.google.com/calendar/u/0/[email protected]&ctz=Etc%2FUTC>`__.
47+
4048
Current ROS PMC Constituents
4149
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4250

source/The-ROS2-Project/ROSCon-Content.rst

Lines changed: 124 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,132 @@ ROSCon Talks
1010
The following `ROSCon <https://roscon.ros.org>`__ talks have been given on ROS 2 and provide information about the workings of ROS 2 and various demos:
1111

1212
.. tabs::
13+
.. group-tab:: 2025
14+
.. list-table::
15+
:header-rows: 1
1316

14-
.. group-tab:: 2024
17+
* - Title
18+
- Links
19+
* - Advancing Robot Learning with ROS 2
20+
- `video <https://vimeo.com/1136158846>`__
21+
* - ROS Project Update
22+
- `video <https://vimeo.com/1136205502>`__
23+
* - ros-controls Project Update
24+
- `video <https://vimeo.com/1136205235>`__
25+
* - On Use of Nav2 Route Server
26+
- `video <https://vimeo.com/1136164030>`__
27+
* - Seeing is Believing: Enhancing Robot Acceptance with Perception-Aware ...
28+
- `video <https://vimeo.com/1136205031>`__
29+
* - ⚡In-advance Lightning Talks⚡
30+
- `video <https://vimeo.com/1136158488>`__
31+
* - rmw_what❓ Implementing the ROS 2 Middleware Interface
32+
- `video <https://vimeo.com/1136204122>`__
33+
* - Zenoh Strikes Back: From a New Hope to Tier-1
34+
- `video <https://vimeo.com/1136377715>`__
35+
* - From DDS to Zenoh: Migrating the Dexory Autonomy ROS Stack—Configurati...
36+
- `video <https://vimeo.com/1136375669>`__
37+
* - Enhancing ROS 2 Communications: What's New in Fast DDS v3
38+
- `video <https://vimeo.com/1136157825>`__
39+
* - Agnocast: A ROS 2-Compatible Middleware Enabling True Zero-Copy IPC ...
40+
- `video <https://vimeo.com/1136159023>`__
41+
* - Replay Testing: Fast, Iterative Robotics Testing
42+
- `video <https://vimeo.com/1136204393>`__
43+
* - Rtest - Reliable ROS 2 Unit Tests Framework
44+
- `video <https://vimeo.com/1136205163>`__
45+
* - Formally Verifying Robot Behavior with Statistical Model Checking
46+
- `video <https://vimeo.com/1136157972>`__
47+
* - Cloudini: the Pointcloud Compression Library That You Missed in Your Life
48+
- `video <https://vimeo.com/1136159131>`__
49+
* - Unlock FFmpeg in ROS 2: A Flexible Audio/Video Pipeline with...
50+
- `video <https://vimeo.com/1136204514>`__
51+
* - Smarter Vision Pipelines for ROS 2: Compress, Transport, and Sync at Scale
52+
- `video <https://vimeo.com/1136204802>`__
53+
* - SWAGGER: Sparse WAypoint Graph Generation for Efficient Routing
54+
- `video <https://vimeo.com/1136204717>`__
55+
* - Mapping Together: Collaborative SLAM for Distributed Robot Fleets
56+
- `video <https://vimeo.com/1136163914>`__
57+
* - Roadmap-Explorer: A fast and reliable robot exploration module
58+
- `video <https://vimeo.com/1136177427>`__
59+
* - Peer-2-Peer Agriculture Robotics Communication, Planning, Coverage ...
60+
- `video <https://vimeo.com/1136163436>`__
61+
* - From Sensors to Sensei: Mastering ROS Hardware with Analog Devices
62+
- `video <https://vimeo.com/1136158125>`__
63+
* - Help Me with the Bags: Quick & Easy ROS 2 Data Handling
64+
- `video <https://vimeo.com/1136377079>`__
65+
* - Open-source robotics observability at scale!
66+
- `video <https://vimeo.com/1136163245>`__
67+
* - Simplifying Diagnostics: A Ready to Use Robot Webserver
68+
- `video <https://vimeo.com/1136204915>`__
69+
* - Detecting Complex Events in ROS Data
70+
- `video <https://vimeo.com/1136157744>`__
71+
* - ROS 2 logging subsystem and alternative syslog implementation
72+
- `video <https://vimeo.com/1136772381>`__
73+
* - Traceability System for Autonomous Robots
74+
- `video <https://vimeo.com/1136377674>`__
75+
* - ⚡Lightning Talks 1⚡
76+
- `video <https://vimeo.com/1136163574>`__
77+
* - Open-RMF Project Update
78+
- `video <https://vimeo.com/1136163138>`__
79+
* - Robots at Your Service: Deploying Open-RMF in Singapore’s Hospitality Industry
80+
- `video <https://vimeo.com/1136206211>`__
81+
* - Optimizing Hospital Robotics Deployments with Open RMF
82+
- `video <https://vimeo.com/1136163298>`__
83+
* - Orchestrating Interoperable Indoor Robots at Scale with Open-RMF...
84+
- `video <https://vimeo.com/1136163354>`__
85+
* - Workflows for multi-agent orchestration
86+
- `video <https://vimeo.com/1136377685>`__
87+
* - Gazebo Project Update
88+
- `video <https://vimeo.com/1136158328>`__
89+
* - Infrastructure Project Update
90+
- `video <https://vimeo.com/1136158416>`__
91+
* - ⚡ Lightning Talks 2⚡
92+
- `video <https://vimeo.com/1136158629>`__
93+
* - Our Ten Most Common ROS Questions Answered
94+
- `video <https://vimeo.com/1136376218>`__
95+
* - Practical guide for ROS 2 on Windows
96+
- `video <https://vimeo.com/1136377428>`__
97+
* - Solving ROS package management with Pixi and RoboStack
98+
- `video <https://vimeo.com/1136377632>`__
99+
* - Escape Velocity: Smarter, Cleaner ROS 2 Launch Patterns
100+
- `video <https://vimeo.com/1136376252>`__
101+
* - Build, Iterate, Deploy - A Modular ROS 2 Workflow that Scales
102+
- `video <https://vimeo.com/1136370578>`__
103+
* - Toward Scalable Collaborative Robot Controllers: Internalizing ROS 2 with Zenoh
104+
- `video <https://vimeo.com/1136204650>`__
105+
* - Motions Made Easy: Simplifying Repetitive Robot Motions
106+
- `video <https://vimeo.com/1136163966>`__
107+
* - Running ROS natively on an industrial robot's control box
108+
- `video <https://vimeo.com/1136205077>`__
109+
* - ros2_control goes Industrial
110+
- `video <https://vimeo.com/1136205404>`__
111+
* - Transforming Robotics with Auto Bots from Outer Space
112+
- `video <https://vimeo.com/1136204579>`__
113+
* - Real-Time Meets Cloud Native - ROS 2 on RTOS and Linux with Kubernetes
114+
- `video <https://vimeo.com/1136204466>`__
115+
* - ROS 2: The Backbone for Physical AI
116+
- `video <https://vimeo.com/1136205583>`__
117+
* - From Simulation to Soil: Lessons from a ROS 2-Powered Tractor
118+
- `video <https://vimeo.com/1136158260>`__
119+
* - Easy ROS-based AI Robot Development with genesis/libtorch
120+
- `video <https://vimeo.com/1136370681>`__
121+
* - PlanSys2, the ROS 2 Planning System: Past, present and future
122+
- `video <https://vimeo.com/1136377384>`__
123+
* - Building Foundation Models for Generalist Robots: Insights ...
124+
- `video <https://vimeo.com/1136370637>`__
125+
* - Introducing rclrs: the ROS 2 client library for Rust
126+
- `video <https://vimeo.com/1136376117>`__
127+
* - Realistic Terrain Simulation in Gazebo
128+
- `video <https://vimeo.com/1136377469>`__
129+
* - Evaluation of ROS 2 Simulators 2025
130+
- `video <https://vimeo.com/1136157883>`__
131+
* - Ray-Tracing Everywhere: Vendor Agnostic Ray Tracing in Gazebo
132+
- `video <https://vimeo.com/1136163508>`__
133+
* - Introducing the new ROS simulation standard
134+
- `video <https://vimeo.com/1136376172>`__
135+
* - From Off-the-Shelf Drones to Research Platforms
136+
- `video <https://vimeo.com/1136158052>`__
15137

138+
.. group-tab:: 2024
16139
.. list-table::
17140
:header-rows: 1
18141

source/Tutorials/Advanced/Recording-A-Bag-From-Your-Own-Node-CPP.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Inside the ``ros2_ws/src/bag_recorder_nodes/src`` directory, create a new file c
9494

9595
writer_->open("my_bag");
9696

97-
auto subscription_callback_lambda = [this](std::shared_ptr<rclcpp::SerializedMessage> msg){
97+
auto subscription_callback_lambda = [this](std::shared_ptr<const rclcpp::SerializedMessage> msg){
9898
rclcpp::Time time_stamp = this->now();
9999

100100
writer_->write(msg, "chatter", "std_msgs/msg/String", time_stamp);
@@ -144,7 +144,7 @@ We will write data to the bag in the callback.
144144

145145
.. code-block:: C++
146146

147-
auto subscription_callback_lambda = [this](std::shared_ptr<rclcpp::SerializedMessage> msg){
147+
auto subscription_callback_lambda = [this](std::shared_ptr<const rclcpp::SerializedMessage> msg){
148148
rclcpp::Time time_stamp = this->now();
149149

150150
writer_->write(msg, "chatter", "std_msgs/msg/String", time_stamp);
@@ -162,7 +162,7 @@ We do this for two reasons.
162162

163163
.. code-block:: C++
164164

165-
auto subscription_callback_lambda = [this](std::shared_ptr<rclcpp::SerializedMessage> msg){
165+
auto subscription_callback_lambda = [this](std::shared_ptr<const rclcpp::SerializedMessage> msg){
166166

167167
Within the subscription callback, the first thing to do is determine the time stamp to use for the stored message.
168168
This can be anything appropriate to your data, but two common values are the time at which the data was produced, if known, and the time it is received.

source/Tutorials/Advanced/Simulators/Webots/Code/MyRobotDriver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void MyRobotDriver::init(
2525

2626
cmd_vel_subscription_ = node->create_subscription<geometry_msgs::msg::Twist>(
2727
"/cmd_vel", rclcpp::SensorDataQoS().reliable(),
28-
[this](const geometry_msgs::msg::Twist::SharedPtr msg){
28+
[this](const geometry_msgs::msg::Twist::ConstSharedPtr msg){
2929
this->cmd_vel_msg.linear = msg->linear;
3030
this->cmd_vel_msg.angular = msg->angular;
3131
}

source/Tutorials/Advanced/Simulators/Webots/Code/ObstacleAvoider.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,26 @@ ObstacleAvoider::ObstacleAvoider() : Node("obstacle_avoider") {
77

88
left_sensor_sub_ = create_subscription<sensor_msgs::msg::Range>(
99
"/left_sensor", 1,
10-
[this](const sensor_msgs::msg::Range::SharedPtr msg){
10+
[this](const sensor_msgs::msg::Range::ConstSharedPtr msg){
1111
return this->leftSensorCallback(msg);
1212
}
1313
);
1414

1515
right_sensor_sub_ = create_subscription<sensor_msgs::msg::Range>(
1616
"/right_sensor", 1,
17-
[this](const sensor_msgs::msg::Range::SharedPtr msg){
17+
[this](const sensor_msgs::msg::Range::ConstSharedPtr msg){
1818
return this->rightSensorCallback(msg);
1919
}
2020
);
2121
}
2222

2323
void ObstacleAvoider::leftSensorCallback(
24-
const sensor_msgs::msg::Range::SharedPtr msg) {
24+
const sensor_msgs::msg::Range::ConstSharedPtr msg) {
2525
left_sensor_value = msg->range;
2626
}
2727

2828
void ObstacleAvoider::rightSensorCallback(
29-
const sensor_msgs::msg::Range::SharedPtr msg) {
29+
const sensor_msgs::msg::Range::ConstSharedPtr msg) {
3030
right_sensor_value = msg->range;
3131

3232
auto command_message = std::make_unique<geometry_msgs::msg::Twist>();

0 commit comments

Comments
 (0)