[Documentation] [TitleIndex] [WordIndex

Planet ROS

Planet ROS - http://planet.ros.org

Planet ROS - http://planet.ros.org[WWW] http://planet.ros.org


ROS Discourse General: ROS News for the Week of March 3rd, 2025

ROS News for the Week of March 3rd, 2025



If you plan to be in the Bay Area for NVIDIA GTC we are organizing a special edition of ROS By-The-Bay on 2025-03-19T01:00:00Z UTC in conjunction with our friends at Silicon Valley Robotics and Circuit Launch. All are welcome to attend!



The 2024 ROS Metrics Report has been released. We’re happy to report that ROS community continues to grow and the vast majority of ROS users have moved on to ROS 2. New this year we’ve added some basic contributor metrics from Github.

yourname2

OSRA Membership badges went out this week and the internet was full - of - people showing their support. If you would like to join the OSRA and support ROS, Gazebo, Open-RMF, ROS Controls, and the infrastructure we all depend on, you can do so using this form the OSRA website.


faster
Our colleague @rkent has done a ton of work improving the end-user experience of ROS Index. This week we pushed a couple of updates that make the search experience both faster and more accurate. Thanks a lot @rkent!


model_test
Check out this amazing project where the Turtlebot 3 navigates with deep reinforcement learning.


Events

News

ROS

Got a minute :stopwatch: ?

We seem to have a problem where RCLPy’s quality of service API documentation is not rendering on docs.ros.org. We’re looking for someone who can contribute a few hours and figure out the issue. The core team would really appreciate some help with this issue. :heart_decoration:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/ros-news-for-the-week-of-march-3rd-2025/42431

ROS Discourse General: Migration of build.ros2.org to Ubuntu 24.04 [Scheduled Buildfarm Downtime]

Hello ROS Community,

The OSRF Infrastructure Project is planning to migrate https://build.ros2.org to new servers based on Ubuntu 24.04, as part of our ongoing efforts to maintain and improve the ROS buildfarm infrastructure. To facilitate this migration, the following services will experience downtime during the maintenance window:

The migration is scheduled to begin on Tuesday 2025-03-11T12:00:00Z UTC (12:00 UTC) and is expected to last for 8-12 hours. During this time, the buildfarm will be offline, and all queued jobs will need to complete before Jenkins is taken offline for the data transfer. Given the large volume of build artifacts and log files to transfer, we are planning for a full workday of downtime to ensure a smooth transition.

Once the migration is complete, I’ll update this thread to confirm that services are back online. I’ll also be monitoring for any issues that may arise as a result of the migration.

Thank you for your patience as we work to improve the ROS buildfarm infrastructure. If you have any questions or concerns, please feel free to reach out in this thread.

Att,

Cristóbal

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/migration-of-build-ros2-org-to-ubuntu-24-04-scheduled-buildfarm-downtime/42427

ROS Discourse General: Pika: A Fast Data Collector Solution for Embodied Intelligence

Pika: Fast Data Collector Solution for Embodied Intelligence #embodiedai #robot

Introducing Pika: A Fast Data Collector Solution for Embodied Intelligence

I’m excited to share AgileX Robotics latest contribution to robotics research—a fast, robust data collection solution named Pika. Designed with the needs of embodied intelligence in mind, Pika minimizes setup time while maximizing performance, making it an ideal tool for both research and rapid prototyping.

Key Features
Streamlined Two-Step Clamp Mechanism:
Transition from power-on to operational mode instantly. Our innovative clamp design eliminates lengthy calibration, ensuring that your robot is ready for action in virtually zero preparation time.

Zero Latency & Maximum Efficiency:
The system’s ultra-synchronized motion control ensures smooth, real-time data capture. This means you can reliably record dynamic movements with precision—critical when working on high-performance robotics projects.

Lightweight & Ergonomic:
Pika’s design is optimized for continuous operation. Its featherlight construction not only reduces the overall load but also allows for seamless integration into existing robotic systems, enhancing your workflow without adding unnecessary complexity.

Why Pika Stands Out
Insta-Ready Setup:
Eliminate the need for time-consuming calibrations and adjustments. Get straight to data collection and experiment iterations faster than ever.

Precision & Reliability:
Enjoy high-precision measurements with a system that maintains performance even in fast-paced research environments.

Ideal for Rapid Innovation:
Whether you’re training AI models or deploying robotic systems in the field, Pika is built to support the rigorous demands of modern robotics research.

For more details, please visit the AgileX website.

Looking forward to your feedback and discussions on integrating Pika into your projects!

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/pika-a-fast-data-collector-solution-for-embodied-intelligence/42418

ROS Discourse General: New packages for ROS 2 Rolling Ridley 2025-03-06

Hello everyone!

It took a minute but we’re happy to announce 20 new package and 254 updates are now available in ROS 2 Rolling Ridley :rolling_head: :rolling:

Among the new packages is fastdds which was renamed from fastrtps and more importantly bumped to v3.1.2 which is now utilized by rmw_fastrtps :party_popper:

This sync was tagged as rolling/2025-03-06 .

Package Updates for rolling

Added Packages [20]:

Updated Packages [254]:

Removed Packages [0]:

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley-2025-03-06/42416

ROS Discourse General: New Packages for Noetic 2025-03-06

We’re happy to announce 35 new packages and 108 updates are now available in ROS Noetic. This sync was tagged as noetic/2025-03-06.

Thank you to every maintainer and contributor who made these updates available!

Package Updates for ROS Noetic

Added Packages [35]:

Updated Packages [108]:

Removed Packages [0]:

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/new-packages-for-noetic-2025-03-06/42411

ROS Discourse General: 2024 ROS Metrics Report

2024 ROS Metrics Report


:down_arrow: Download the full metrics report here: 2024 ROS Metrics Report.pdf (2.9 MB)

(For reference, the 2023 report is available here)

Once a year we check up on the general health, well-being, and growth of the ROS community by collecting metrics from the various ROS projects and services in a report. The goal of this metrics report is to give the community a snapshot of the growth and composition of the ROS community. As part of our ongoing quest to better understand the ROS community this year we’re publishing some basic Github contribution metrics (total contributors, total pull requests, etc).

We take the privacy of the ROS community seriously, and we try to minimize the collection of user data, which makes constructing this report difficult. We lean heavily on proxy measurements to estimate the overall growth and health of the community. This year the metrics report consists of aggregate statistics from various ROS and Gazebo services, including:

Now, let’s get to the good news! We are happy to report that the ROS community is healthy, growing, and that we are over the hump on the ROS 2 transition! Just shy of 72% of all downloads from our servers are now ROS 2 as of October 2024. ROS 2 questions also make up 93% of ROS questions asked on Robotics Stack Exchange! ROS 2 Humble had nearly twice as many downloads in October 2024 as ROS 1 Noetic (39.39% vs 22.18%).




This year we’ve added some new metrics to help us better understand our contributor community. For the ROS 2, Gazebo, and Open-RMF Github projects we calculated basic metrics about code contributions and contributors. For each of these three organizations the total number of contributors was up for the year (3.2% for ROS, 30.59% for Gazebo, and 23.08% for Open-RMF) while the total number of pull requests was a mixed bag (up 20% for ROS, down 1% for Gazebo, and up 6.87% for Open-RMF). It is worth noting that these numbers only reflect our core project Github repositories, and things like ROS packages, and ROS distro reside outside the scope of these Github projects. Fun fact: for the past two years running the ros2 documentation repository has had the most number of pull requests, by almost 3x the next most active repository (ROSBag2). We really are working hard to make the ROS documentation better!

On the Gazebo front about 3.5 million Gazebo packages were downloaded in December of 2024, that would put us at about 42 million Gazebo package downloads per year. Unfortunately, how that number precisely breaks down between Gazebo versions is a bit difficult to determine. By the raw numbers modern Gazebo makes up a whopping 86.6% of all Gazebo downloads, but we noticed a lot of mirroring behavior on our servers by multiple IP addresses, which may skew these results.

This year, most of the ROS metrics we checked have demonstrated fairly substantial growth, usually in the range of 10-20%. However, certain parts of the ROS community are shrinking, and in some cases that’s a good thing! For example, ROS Wiki page views are down 5% and the wiki barely grew in 2024. This is a good thing, ROS 1 and the ROS 1 Wiki goes end of life in about three months!

ROS downloads were also down slightly for 2024, about 3% from last year. We suspect that ROS Docker downloads are starting to significantly outpace ROS binary downloads. We’ve reached out to DockerHub in the past to see if we can get granular DockerHub statistics, but so far we’ve been unsuccessful (if you can help here please reach out).

Similarly, ROS Discourse participation numbers are down, or flat on the year. However, ROS Discourse page views are up by 18% on the year, and the total number of ROS Discourse users has increased by about 2600 users. People are obviously coming to ROS Discourse to get their news, but they don’t seem too interested in using the platform for discussion. One theory we have for this is that the ORSF Discord, OSRA Slack servers, and PMC meetings are absorbing some of the regular discussion that used to happen on Discourse.


Here are some highlights from the report that illustrate how the ROS community is growing.

We’ve included exports of a few key slides that may be useful to everyone. Please feel free to use these slides however you see fit.







![2024 ROS Metrics Report (6)|690x388](upload://l5bg5N3RHuwiv3VNSWs3GV2fvX.png

We would love to hear what you think, what metrics should be included next year? Keep in mind that we don’t track our users, which makes the use of more traditional telemetry tools difficult.

3 posts - 2 participants

Read full topic

[WWW] https://discourse.ros.org/t/2024-ros-metrics-report/42354

ROS Discourse General: Next Client Library WG Meeting: Friday 7th March 8AM PST

Hi,

The next meeting of the Client Library Working Group will be this Friday, 7th March 2025 at 8 AM Pacific Time.

The group is currently reviewing some updates to the executors: introduction of multi-threaded events executor in C++, bug fixes in the multi-threaded “waitset” and introduction of events-executor in Python.
Last meeting we also started discussing about performance evaluation of ROS 2 systems.

Everyone is welcome to join and bring their own topics for discussion!

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/next-client-library-wg-meeting-friday-7th-march-8am-pst/42350

ROS Discourse General: Interop SIG March 6, 2025: Memory-safe High-performance Async ROS Programming: A Preview

Community Page

Meeting Link

Calendar Link

2025-03-06T15:00:00Z UTC

Interoperability often involves managing complex interactions between devices. These interactions may be transmissions of data or they may be physical activities that need to take place according to a specific procedure. In either case, good use of async programming is necessary to prevent processes from stalling while waiting for units of action to finish. Async programming is especially important when one process is managing multiple agents simultaneously.

Async programming is also notoriously difficult to do correctly. Traditional imperative programming is good for describing linear sequential steps, but quickly becomes difficult to follow when it needs to describe multiple interwoven activities. Race conditions are endemic in async programming, including data races which can violate memory safety, leading to bugs that are extremely difficult to fix. Even worse, these bugs can open programs up to security vulnerabilities.

This talk will provide a preview of some work in progress being done for rclrs, a community-driven ROS client library for the Rust programming language. The upcoming features will allow rclrs to support Rust’s high performance async programming capabilities, with memory safety guaranteed at compile time. We will look at the (working draft) API for these features and especially cover how the API differs from rclcpp and rclpy in order to take advantage of the unique characteristics of the Rust language, making many common use cases of async programming intuitive and fool-proof.

4 posts - 3 participants

Read full topic

[WWW] https://discourse.ros.org/t/interop-sig-march-6-2025-memory-safe-high-performance-async-ros-programming-a-preview/42331

ROS Discourse General: ROS News for the Week of February 24th, 2025

ROS News for the Week of February 24th, 2025


Join us on 2025-03-10T08:00:00Z UTC for our first ever Open-RMF Community Forum. The Open-RMF core development team wants to meet with the community and discuss the future of the project.



Want a better way to build realistic Gazebo worlds? Check out this Gazebo terrain generator that can use digital elevation maps (DEMs) and images to build Gazebo worlds.


Our friends over at the Le Robot team have released their own low-cost mobile manipulator.

tb4
Sometimes it is the little wins! Our friend @RobotDreams has a working example of a TurtleBot4 navigating around their home using a Raspberry Pi 5.


wizard2
Do you need a simple URDF model for Gazebo? Check out this new wizard that automates the process of making simple robot models.

Events

News

ROS

Got a Minute? :mantelpiece_clock:


We could really use some help over in the ROS documentation!

This week someone pointed out that you can use Ament CMake to automatically set environment variables for your robot. This feature is really handy for things like configuring your RMW settings or your Gazebo simulation. The feature has existed for some time, but since it is undocumented people rarely use it. We would really appreciate it if someone would write the docs for it. We’ve got a couple of example use cases so writing the documentation should only take an hour or two. :heart:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/ros-news-for-the-week-of-february-24th-2025/42296

ROS Discourse General: Module X-by-Wire Chassis for Autonomous R&D

Hey everyone! This is Weiwei, super excited to introduce an awesome chassis platform for autonomous driving testing (X-By-Wire). It’s designed based on Autoware, supports the “ROS” system, and comes with a modular design that allows precise electronic signal control for the vehicle. It helps development teams quickly validate algorithms, integrate hardware, and test systems—making the jump from prototype to real-world testing way faster. If you’re interested, feel free to reach out, and I’d be happy to give you all the details! :blush:

4 posts - 3 participants

Read full topic

[WWW] https://discourse.ros.org/t/module-x-by-wire-chassis-for-autonomous-r-d/42268

ROS Discourse General: ROS Deliberation Community Group Meeting - Mar 3, 2025

The next ROS Deliberation Community Group meeting will be on 2025-03-03T15:00:00Z UTC. The focus will be on behavior trees.

Google Meet link: https://meet.google.com/njs-ieym-dgk

Agenda:

Feel free to propose additional agenda items, join the mailing list, or the Discord server.

- Sebastian

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/ros-deliberation-community-group-meeting-mar-3-2025/42236

ROS Discourse General: Allow for more complex joints in URDF

We have a robot using MoveIt & OMPL for its movements. In our robot, we have some parts that are not actuated but depend on the state of other joints.

Example: we have a cable that is pushed&pulled depending on the extension of our arm. We managed to integrate it in the URDF using multiple mimic joints, but this solution is limited to a linear relation between one joint and the mimic joint.

We would like to be able to specify a complex kinematic relation between joints, for example using a passive joint and an IK plugin. This IK would be used to update the robot model when checking collisions, for example.

I believe this is not too far from the already existing transmission API of the URDF format.

Is there anyone out there with the same issue? What do you think of this use case?

12 posts - 7 participants

Read full topic

[WWW] https://discourse.ros.org/t/allow-for-more-complex-joints-in-urdf/42234

ROS Discourse General: ROS News for the Week of February 17th, 2025

ROS News for the Week of February 17th, 2025


TurtleBot3 66 Multi-Robot Control with TurtleBot3

Events

News

OSRA News

ROS

Got a Minute :mantelpiece_clock:

We had one item this week that are looking for feedback.

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/ros-news-for-the-week-of-february-17th-2025/42191

ROS Discourse General: Cloud Robotics WG Meeting 2025-02-24

Please come and join us for this coming meeting at 2025-02-24T17:00:00Z UTC2025-02-24T18:00:00Z UTC, where we will discuss the latest in Cloud Robotics news. The session will be more of an informal chat.

Last meeting, we tried out KubeEdge using cloud Ubuntu instances and Raspberry Pi boards. We were unable to get a full setup working, but we did see some KubeEdge functionality and were able to provide feedback to the writers. If you’re interested to see the meeting, it is available on YouTube.

If you are willing and able to give a talk on cloud robotics in future meetings, we would be happy to host you - please reply here, message me directly, or sign up using the Guest Speaker Signup Sheet. We will record your talk and host it on YouTube with our other meeting recordings too!

The meeting link is here, and you can sign up to our calendar or our Google Group for meeting notifications or keep an eye on the Cloud Robotics Hub.

Hopefully we will see you there!

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/cloud-robotics-wg-meeting-2025-02-24/42125

ROS Discourse General: QR Code Vision Tracking: Machine Vision Intergeration Into ROS

In this article, I will share the process of bringing a Python-based robotic arm QR code tracking system into ROS and running this project in a simulation environment.

video (6)

Youtube:

myCobot 280 | ROS Visual Tracking Case Tutorial

Environment Setup

For this project, it is recommended to use the following development environment and dependency versions:

Operating System : Ubuntu 20.04 LTS

ROS Version : Noetic

Python Version : Python 3.8 or higher

Library Version Requirement : pymycobot 3.6 or higher

Installing Key Dependencies

Run the following commands in the terminal to install the necessary Python libraries:

pip install stag-python opencv-python scipy numpy pymycobot

Creating a Workspace and Package in ROS

Creating a ROS Workspace

  1. Open the terminal and create a new ROS workspace called catkin_ws:
mkdir -p ~/catkin_ws/src
  1. Enter the workspace directory and initialize it:
cd ~/catkin_wscatkin_make
  1. Set up the environment variables to ensure ROS can locate the workspace:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrcsource ~/.bashrc

Tip : This configuration will load the workspace settings automatically each time a new terminal is opened.

Creating a ROS Package

  1. In the src directory, create a new ROS package called qr_tracking with required dependencies (such as rospy and std_msgs):
cd ~/catkin_ws/srccatkin_create_pkg qr_tracking rospy std_msgs

2.Verify the package creation. The qr_tracking directory should contain a standard ROS package structure, including CMakeLists.txt and package.xml files.

  1. Update dependencies: Open the package.xml file and ensure the following dependencies are included:
<?xml version="1.0"?>
<package format="2">
  <name>mycobot_280</name>
  <version>0.3.0</version>
  <description>The mycobot 280 package</description>

  <author email="lijun.zhang@elephantrobotics.com">ZhangLijun</author>
  <maintainer email="lijun.zhang@elephantrobotics.com">ZhangLijun</maintainer>

  <license>BSD</license>

  <url type="website">https://github.com/elephantrobotics/mycobot_ros</url>

  <buildtool_depend>catkin</buildtool_depend>

  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>actionlib</build_depend>
  <build_depend>mycobot_description</build_depend>
  <build_depend>mycobot_communication</build_depend>

  <build_export_depend>mycobot_communication</build_export_depend>
  <build_export_depend>mycobot_description</build_export_depend>

  <exec_depend>roscpp</exec_depend>
  <exec_depend>rospy</exec_depend>
  <exec_depend>std_msgs</exec_depend>
  <exec_depend>actionlib</exec_depend>
  <exec_depend>joint_state_publisher</exec_depend>
  <exec_depend>joint_state_publisher_gui</exec_depend>
  <exec_depend>robot_state_publisher</exec_depend>
  <exec_depend>xacro</exec_depend>
  <exec_depend>joy</exec_depend>
  <exec_depend>rviz</exec_depend>
  <exec_depend>controller_manager</exec_depend>
  <exec_depend>python-tk</exec_depend>
  <exec_depend>mycobot_description</exec_depend>
  <exec_depend>mycobot_communication</exec_depend>

  <export>
    <!-- Additional information for other tools can be added here -->
  </export>
</package>
  1. Rebuild the workspace to apply the ROS package configuration updates:
cd ~/catkin_wscatkin_make

Ensure that the URDF file for the robotic arm is correctly configured within the ROS package to display the model accurately.

Importing Python Files into the ROS Package

Setting Up the Scripts Directory

In your ROS package qr_tracking, create a folder named scripts to store the Python scripts. Use the following commands:

cd ~/catkin_ws/src/qr_tracking
mkdir scripts

Move your Python files (such as camera_detect.py, uvc_camera.py, marker_utils.py, etc.) to this scripts directory:

mv /path/to/camera_detect.py ~/catkin_ws/src/qr_tracking/scripts/
mv /path/to/uvc_camera.py ~/catkin_ws/src/qr_tracking/scripts/
mv /path/to/marker_utils.py ~/catkin_ws/src/qr_tracking/scripts/

Modifying Python Files for ROS Compatibility

To ensure the Python scripts work with ROS, you need to make some adjustments, such as importing ROS libraries, initializing ROS nodes, and defining message publishers/subscribers. Using camera_detect.py as an example, here are the primary modifications needed:

  1. Import ROS Libraries

At the top of your Python file, add imports for rospy and any necessary ROS message types:

import rospy   from std_msgs.msg import String
  1. Initialize the ROS Node

Initialize a ROS node at the beginning of your code:

rospy.init_node('camera_detection_node', anonymous=True)
  1. Define Topic Publisher/Subscriber

Based on the requirements, define a publisher or subscriber. For example, to publish QR code detection results:

pub = rospy.Publisher('qr_detection', String, queue_size=10)   rate = rospy.Rate(10)  # 10 Hz

Then, you can set up a function to detect QR codes and publish the results. For example:

# Assuming there is a function to detect QR codes
   def detect_qr_code():
       while not rospy.is_shutdown():
           # Detection logic here
           detection_result = "QR code detected"  # This is the detection result
           rospy.loginfo(detection_result)
           pub.publish(detection_result)
           rate.sleep()

Code Example

Below is a simplified code snippet showing how to publish QR code detection results in camera_detect.py:

#!/usr/bin/env python
import rospy
from std_msgs.msg import String

def detect_qr_code():
    pub = rospy.Publisher('qr_detection', String, queue_size=10)
    rospy.init_node('camera_detection_node', anonymous=True)
    rate = rospy.Rate(10)  # 10 Hz

    while not rospy.is_shutdown():
        # Replace with actual detection logic
        detection_result = "QR code detected"  # Simulated detection result
        rospy.loginfo(detection_result)
        pub.publish(detection_result)
        rate.sleep()

if __name__ == '__main__':
    try:
        detect_qr_code()
    except rospy.ROSInterruptException:
        pass

Note : Ensure the Python files are executable by running chmod +x ~/catkin_ws/src/qr_tracking/scripts/*.py.

Configuring the CMakeLists.txt File

Overview of CMake Configuration

In ROS, the CMakeLists.txt file is a core configuration file for each package, specifying how to compile and install files within the package. It includes configuration details like compiler options, library dependencies, and installation paths. For Python scripts to function as ROS nodes, we need to make a few necessary adjustments to this file.

Modifying CMakeLists.txt

To make the Python scripts executable within ROS, follow these steps:

  1. Add Catkin Build Dependencies

Ensure CMakeLists.txt includes a find_package statement to locate catkin and the necessary ROS dependencies, such as rospy and std_msgs. Here’s an example:

cmake_minimum_required(VERSION 2.8.3)
   project(mycobot_280)
   add_compile_options(-std=c++11)

   ## Find catkin and any catkin packages
   find_package(catkin REQUIRED COMPONENTS
     roscpp
     rospy
     std_msgs
     actionlib
     image_transport
     cv_bridge
   )
  1. Install Python Scripts

Use catkin_install_python to specify the installation path for Python scripts and to ensure they have executable permissions. Assuming your Python scripts are located in the scripts directory, add the following section to CMakeLists.txt:

catkin_install_python(PROGRAMS
     scripts/follow_display.py
     scripts/slider_control.py
     scripts/teleop_keyboard.py
     scripts/listen_real.py
     scripts/listen_real_of_topic.py
     scripts/simple_gui.py
     scripts/follow_display_gripper.py
     scripts/slider_control_gripper.py
     scripts/listen_real_gripper.py
     scripts/detect_stag.py
     DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
   )

This command installs the Python scripts to the ROS package’s binary directory and ensures they have executable permissions after compilation.

  1. Add Dependencies

Before calling catkin_package(), declare the dependencies to ensure ROS correctly resolves them. For example:

catkin_package(     CATKIN_DEPENDS std_msgs actionlib   )
  1. Complete Example

Here is a sample configuration for the CMakeLists.txt file:

cmake_minimum_required(VERSION 2.8.3)
   project(mycobot_280)
   add_compile_options(-std=c++11)

   ## Find catkin and any catkin packages
   find_package(catkin REQUIRED COMPONENTS
     roscpp
     rospy
     std_msgs
     actionlib
     image_transport
     cv_bridge
   )

   ## Declare a catkin package
   catkin_package(
     CATKIN_DEPENDS std_msgs actionlib
   )

   ## Include directories
   include_directories(include ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})

   ## Install Python scripts
   catkin_install_python(PROGRAMS
     scripts/follow_display.py
     scripts/slider_control.py
     scripts/teleop_keyboard.py
     scripts/listen_real.py
     scripts/listen_real_of_topic.py
     scripts/simple_gui.py
     scripts/follow_display_gripper.py
     scripts/slider_control_gripper.py
     scripts/listen_real_gripper.py
     scripts/detect_stag.py
     DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
   )

   ## Install launch and config directories
   install(DIRECTORY launch DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
     PATTERN "setup_assistant.launch" EXCLUDE)
   install(DIRECTORY config DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})

   ## OpenCV requirements
   find_package(OpenCV REQUIRED)
   add_executable(opencv_camera src/opencv_camera)
   target_link_libraries(opencv_camera ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
   add_executable(camera_display src/camera_display)
   target_link_libraries(camera_display ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})

With these modifications, the Python scripts will be part of the ROS package, given executable permissions, and runnable using ROS tools such as rosrun.

This section is crucial for guiding users on how to compile, start, and verify the project’s functionality in ROS.

6. Compiling and Running

Compiling the Workspace

After configuring all aspects of your ROS package, you need to compile the workspace to generate and configure the necessary resources.

  1. Ensure you are in the root directory of the workspace:
cd ~/catkin_ws
  1. Run catkin_make to compile the workspace:
catkin_make

If the compilation succeeds, you should see output similar to:

[100%] Built target qr_tracking

Launching the Node

Once compilation is complete, you can use rosrun to start the QR code tracking node.

  1. Ensure that the workspace environment variables are loaded, and launch the simulation model:
cd ~/catkin_ws   source devel/setup.bash   roslaunch mycobot_280 detect_marker_with_topic.launch port:=/dev/ttyUSB0 baud:=115200

  1. Use rosrun to start the camera_detect.py script:
rosrun qr_tracking camera_detect.py

You should see output indicating that the ROS node has been initialized, and it will begin publishing QR code detection results.

GitHub:

https://docs.elephantrobotics.com/docs/mycobot_280_m5_en/3-FunctionsAndApplications/6.developmentGuide/ROS/12.1-ROS1/12.1.4-rivzIntroductionAndUse/

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/qr-code-vision-tracking-machine-vision-intergeration-into-ros/42116

ROS Discourse General: GaussianRPG v2.0: the first open-source hardware-in-the-loop simulation system demo using 3D Gaussian Splatting tech

GaussianRPG v2.0 has been launched!!The first open-source hardware-in-the-loop simulation system demo using 3D Gaussian Splatting tech.
(GitHub - GimpelZhang/GaussianRPG: 3D Gaussian Rendering PlayGround: an open-source autonomous driving closed-loop simulator demo using 3D Gaussian Splatting tech)
In v2.0 version, a hardware-in-the-loop simulation system demo is developed based on v1.0 and a D-Robotics RDK X5 suite, similar to the RaspBerry PI (https://developer.d-robotics.cc/rdk_doc/en/RDK).

The other key part of the HIL system is the image stream injection device, which simulates the camera. I find a chip suite which works as a HDMI to USB converter. So this RER-H2U-V2 chip can take the image stream from HDMI as input, and output it through USB interface, working as an USB camera connected to the RDK suite.

I believe that this kind of 3DGS simulator and robot-controller-in-the-loop frame can also be used in embodied intelligence robot simulation.

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/gaussianrpg-v2-0-the-first-open-source-hardware-in-the-loop-simulation-system-demo-using-3d-gaussian-splatting-tech/42073

ROS Discourse General: ROS News for the Week of February 10th, 2025

ROS News for the Week of February 10th, 2025



Our friends at ros-controls have joined the OSRA family of projects. Welcome to the team @bmagyar, @christophfroehlich, @destogl and @saikishor!



There is now a dark theme configuration for RViz / RViz2!



Our colleague @sAmUko has released the MoboBot Robot. It looks like a really well put together educational robot using ROS 2 and Gazebo.



Check out this really cool LLM-based CLI utility for creating simulation worlds. The entire Gazebo team was really impressed with this project. Here’s a Discourse post on the project that went up right after I posted the news

Events

News

ROS

Got a Minute :mantelpiece_clock:

We had two items this week that are looking for feedback.

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/ros-news-for-the-week-of-february-10th-2025/42070

ROS Discourse General: New packages for ROS 2 Rolling Ridley 2025-02-14

Hello everyone!

We’re happy to announce 4 new package and 204 updates are now available in ROS 2 Rolling Ridley :rolling_head: :rolling:

This sync was tagged as rolling/2025-02-14 .

Package Updates for rolling

Added Packages [4]:

Updated Packages [204]:

Removed Packages [0]:

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/new-packages-for-ros-2-rolling-ridley-2025-02-14/42068

ROS Discourse General: Rethink Robotics Baxter robot - retrofit?

Anyone have any documentation on the Rethink Robotics Baxter robot? I have picked up a set of arms from one, and eventually I should have the torso portion with the computer. I’m certain that I’ll be missing various components to it. So I was wondering what options might be out there for the control of the arms? It appears that there are 7 motors/axis in each arm. Made from brushless motors with resolvers. I plan to mount it all on a old electric wheelchair base. I’d also like to add in a stereo camera system to allow depth perception and operation from a headset.

5 posts - 2 participants

Read full topic

[WWW] https://discourse.ros.org/t/rethink-robotics-baxter-robot-retrofit/42062

ROS Discourse General: New packages for Humble Hawksbill 2025-02-14

Package Updates for Humble

Added Packages [16]:

Updated Packages [357]:

Removed Packages [0]:

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

1 post - 1 participant

Read full topic

[WWW] https://discourse.ros.org/t/new-packages-for-humble-hawksbill-2025-02-14/42061

ROS Discourse General: New Packages for Noetic 2025-02-13

We’re happy to announce 0 new packages and 2 updates are now available in ROS Noetic. This sync was tagged as noetic/2025-02-13.

Thank you to every maintainer and contributor who made these updates available!

Package Updates for ROS Noetic

Added Packages [0]:

Updated Packages [2]:

Removed Packages [0]:

Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:

7 posts - 4 participants

Read full topic

[WWW] https://discourse.ros.org/t/new-packages-for-noetic-2025-02-13/42039

ROS Discourse General: Ros2: use_sim_time leads to inconsistent clocks

Hello everyone,

I think, the current design of simulated clocks and the parameter use_sim_time lead to major problems and should be reworked. Here are my issues:

The use_sim_time parameter is available on every node and instructs that node to use the /clock topic as a time source. This allows nodes to run slower or faster e.g. during simulation or playing a bag file.

In ROS1, this was a global parameter, so every node had the same configuration. However, in ROS2, this parameter needs to be set on each node individually. This is a major design flaw because it is very easy to end up with an inconsistent clock source, leading to unexpected and undefined behavior.

Every node means:

To make matters worse, ros2 launch does not have the functionality to set this parameter, so you need to manually insert it in every launch file that you want to start individually in simulation, cluttering the file. And it is very easy to forget to set it.

How many of you created a dedicated launch file for rviz to start it with use_sim_time for simulation? Probably not many. If not, you ended up with an inconsistent time setup, probably without even realizing it.

It is not a use-case to start a setup with inconsistent clocks. Therefore, it should not be possible. The time source should be unique and identical for all nodes by design.

I think, there is a pretty straight-forward solution. During the transition from ROS1 to ROS2, the robot description was moved from a global parameter to a topic, probably for the same reason. Consequently, the clock should follow the same approach and the /clock topic exists already.

9 posts - 7 participants

Read full topic

[WWW] https://discourse.ros.org/t/ros2-use-sim-time-leads-to-inconsistent-clocks/42030

ROS Discourse General: RobotCAD 6 - Reforged released!

It gives a set of new tools and improve old ones. Adds new controllers: Mecanum drive controller (with option to generate all code of wheels friction), GPIO controller. Adds new sensor - Wide angle camera.

This release has fixed all found bugs and has reforged collision and inertia generation system that let you create collisions, meshes and calculation of inertia/mass for complex Parts (with many bodies inside) bound to the robot link.

Change log

https://github.com/drfenixion/freecad.robotcad

2 posts - 2 participants

Read full topic

[WWW] https://discourse.ros.org/t/robotcad-6-reforged-released/42024

ROS Discourse General: 📢 ros-controls Joins the OSRA Family of Projects

Today, we are excited to share that ros-controls has officially joined the OSRA family as a governed project! The Open Source Robotics Alliance (OSRA) was created a little less than a year ago with the goal of becoming an umbrella organization for our open source robotics community, and we are excited to bring ros-controls into the organization as our first outside, community-led open source project. ros-controls is a collection of packages for real time robot control using ROS 2. ros-controls is used by a number of well-known robotics organizations such as PickNik Robotics, ROS Industrial, and PAL Robotics and by our estimates ros-controls and its related packages were downloaded close to ten millions times in 2024. For over a decade, ros-controls has played a crucial role in the ROS ecosystem, providing a robust framework for real-time robot control. With OSRA’s support, we are excited to expand our capabilities, strengthen our community, and ensure the future of open-source robotics control software.

What does this mean for ros-controls?

With OSRA’s backing, ros-controls will benefit from:

What does this mean for ros-controls contributors and users?

ros-controls users and contributors probably won’t notice changes to the current development process, but over the next few weeks the following will happen in the background to align the ros-controls project with OSRA’s governance norms:

What’s Next?

We invite developers, researchers, and robotics companies to contribute and be part of this journey. If you’d like to get involved, check out our project at control.ros.org or join our discussions on ROS Discourse and Github.

A huge thank you to our contributors, maintainers, and users who have helped make the ros-controls a success. Your dedication has brought us to this incredible milestone, and we’re looking forward to the next chapter together!

4 posts - 3 participants

Read full topic

[WWW] https://discourse.ros.org/t/ros-controls-joins-the-osra-family-of-projects/41983

ROS Discourse General: ROS users meet up at NVIDIA GTC 2025?

Next month, it’s again the NVIDIA ‘GPU Technology Conference’. I expect/hope @ggrigor to post interesting tracks in the next weeks, but this post is to check who’s going and available for a drink/meet-up?

4 posts - 3 participants

Read full topic

[WWW] https://discourse.ros.org/t/ros-users-meet-up-at-nvidia-gtc-2025/41982


2025-03-08 13:25