Skip to content

Sharing camera_sensor_broadcaster, lidar_sensor_broadcaster, and related controllers — looking for help integrating them upstream #2574

Description

@GilmarCorreia

Hi ROS 2 community,

About five years ago I started working on a project to deliver online simulation for students and instructors, built on top of CoppeliaSim simulator. The project streamed the full 3D simulation to users' browsers via WebSockets and WebGL, so they could develop and run simulations directly from the browser. Early on, I was responsible for building the communication layer between ROS 2 and the simulation platform. That's when I started working with ROS 2 Foxy and the ros2_control framework, with an eye toward eventually integrating with real robotic platforms.

Some of our applications had a direct dependency on cameras and other sensors. In 2022 I began developing what I called camera_sensor_broadcaster, which later grew into a lidar_sensor_broadcaster, a time_sensor_broadcaster, and a state_machine_command_controller. A year later I started porting this work to Humble, replicating what had been done for Foxy.

Around that time I became the maintainer and owner of the DropS project (video here, if you'd like to check it out: https://www.youtube.com/watch?v=5cxuWUQ_SjQ), and we always intended to share these results with the community. Over time, though, investor interest in the project faded, and I ended up developing most of this on my own. My attempt to keep sharing progress was to try porting everything to Jazzy, but it's been about a year now and I haven't had the time to move that forward.

I don't know whether these controllers/broadcasters would be as useful to the community as they've been to us, but if it makes sense, I'd really appreciate help integrating these packages into the official repositories. If any maintainer or contributor is willing to support this transfer, it would mean a lot to see this work benefit other developers.

The repositories are public and referenced below:

https://github.com/NTU-AI/ros2_controllers/tree/humble (Foxy and Humble versions)
https://github.com/NTU-AI/ros2_control/tree/humble (Foxy and Humble versions)
https://github.com/GilmarCorreia/ros2_control (attempt to migrate to Jazzy)
https://github.com/GilmarCorreia/ros2_controllers (attempt to migrate to Jazzy)

We also have a couple of other packages we'd like to contribute: sim_ros2_manager (a plugin for managing scenes and spawns in CoppeliaSim — https://github.com/NTU-AI/sim_ros2_manager) and sim_ros2_control (a plugin that integrates the ros2_control framework with the CoppeliaSim simulator — https://github.com/NTU-AI/sim_ros2_control). My idea it was to split some development made in sim_ros2_control to sim_ros2_manager, for the manager be more focused on working with the simulation control.

Thanks in advance to anyone who can help. Feel free to reach out on LinkedIn to discuss next steps or new ideas. Really appreciate it.

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions