ROS 2 Collaboration Bulletin Board

Do you have a draft of that overview available yet? If not, would you like me to start working on one?

I think if all the guys work on ROS2 github, everyone can contribute to the community and easy to know the progress and synchronize the patch. If everyone fork one branch to develop , someone don’t know this web page. It will result in many duplicated work.
Contributing to ROS 2 github, it would also make developer feel the ROS2 community very active and open.
All the above , just my suggesiton:slight_smile:

We try to keep things on the ros2 github repository (at least for now), but not everyone has the permissions to create things there, and not everything belongs there. Since all administration of the organization has to go through the owners of the org, sometimes it is easier and more appropriate to have them on a different organization.

I consider this an alternative way to notify people of what your working on, not mutually exclusive with pushing things to the ros2 org.

This is great. How close is this to us being able to bag and playback data without needing the bridge anymore?

I haven’t done any work on rosbag or playback, so that is entirely unimplemented and not working.

As for not using the bridge, you can run rviz using ROS 2 and make use of several of the plugins to avoid having to pass data through the bridge. Some of the interesting working plugins are: tf, laser scan, map, and robot model. Others (odom, path, point) may work but I have not tested them.

Note that to use the robot model plugin it requires a change to the robot state publisher to publish the robot model (see this branch). I just created a PR for these changes.

You said you got tf working to some level of functionality. We have been running into issues when querying for transforms with lookupTransform. We query for a transform at a given time, and we always get a transform back that does not match the time stamp that was asked for. It is anywhere from a few milliseconds behind to 4 seconds ahead of the timestamp that was asked for. The error actually cycles through from being a bit behind to far in the future. Did you run into this when you were getting tf to work? I would give more detail (code, etc.) but did not think this thread was the right place. We can continue this discussion elsewhere if you have any thoughts that could help.

@vsherrod If you can reproduce it and believe that it’s a bug please open a ticket and we can dig into it there. https://github.com/ros2/geometry2

Edit: Actually you’re ahead of me, I see the ticket at https://github.com/ros2/geometry2/issues/38

What is the status of this work? Did you submit this PR? I am mostly interested in diagnostics.

Haven’t had time to work on any of this recently. @karsten created a PR a couple weeks back to update diagnostic updater to work with ros2 ardent (and updated the urg packages as well). The other diagnostic packages have not yet been updated.

I just created this PR to make the ros2 changes more visible and eventually get them merged into a single repo.

Hope this answers your question.

2 Likes

Hi,

I have been working on ROS2 nodes for the Raspberry Pi camera (a.k.a. raspicam) and the AprilTag detector. Both are implemented as components and are therefore composable for intraprocess communication.

I am open for all contributions and also don’t mind if the packages get moved to official ros2 groups like ros2-drivers or ros2-perception.

Raspberry Pi Camera (raspicam2)

This is a port of the original raspicam_node from ROS1.

AprilTag2 detector (apriltag2_node)

The implementation uses the original apriltag2 library from https://april.eecs.umich.edu/software/apriltag.html. For integration with ament workspaces, I am using a CMake version of this library: https://github.com/christianrauch/apriltag2.

Given the camera parameters, apriltag2_node computes the pose of the marker in the camera frame. It also publishes the raw detections (including the quality of the detection for filtering) and therefore depends on apriltag_msgs definitions from https://github.com/christianrauch/apriltag_msgs.

Hi, I have already ported the ROS2 cv_bridge which is necessary for ROS2 image processing in the perception applications with OpenCV, and I am trying to upstream it to hopefully benefit more ROS2 users, please let me know if you find any problems, thanks !

Here is some update to the ros2 cv_bridge, now ros2_cv_bridge has been officially upstream to the original ros-perception vision_opencv with a dedicated ros2 branch, please submit/fix issues there when you find to make it benefit more community users from now on, thanks a lot !

Hi,
Can anyone update me regarding the porting of message_filters to ros 2 environment ? I will be happy to take up this task.

Actually, we have been porting the message_filters to ROS2, however, you know, it has some dependency to C++ Boost in ROS. now it works except for keeping its Boost dependency in ROS2, next to clean its dependency of Boost with the way in C++11/14, I think it’s good if you would like to help, maybe @jwang11 can update you for more details.

1 Like

For message_filters, I have completed functional porting from ROS to ROS2, and pass the unit test. Currently, I am working on drop boost dependency, which can expect done in 2 weeks. Then I’ll open source code ASAP.

@jwang11 I just started to take a look at message_filters for ROS2 yesterday, and it sounds like you may have made more progress. If you could open your code sooner, I have some time available to help collaborate and get this effort done sooner.

Hi, has anyone started porting gazebo_ros_pkgs?

@mjcarroll @sagniknitr Now we’ve already open the code of ros2 message filters and we now host it here: ros2_message_filters , please check there and help submit/fix issues, and we may move it to host underneath ros2 officially later when everything is ready, thanks !

1 Like

The ROS team didnt start work in that direction so far. Porting it would be very beneficial to the community :+1: We encourage potential contributors to open an issue on the upstream repository to start the porting discussion with the current maintainers. The ROS team can pitch in to give additional context or direction if needed.

I will start to work on QtQuick support for RViz soon: https://github.com/ros2/rviz/issues/268

Please take a look at QtQuick support for RViz to build fancy HMIs for an explanation why that is a good idea.

Hi all,
I have successfully ported and tested following packages into ROS 2 version (ardent):

  1. slam_karto: (it actually merges with open_karto pkg)
    https://github.com/Adlink-ROS/slam_karto_ros2

  2. sparse_bundle_adjustment: (needed for slam_karto)
    https://github.com/Adlink-ROS/sparse_bundle_adjustment_ros2

  3. ydlidar: (a low cost 2D lidar provided by EAI)
    https://github.com/Adlink-ROS/ydlidar_ros2

For someone who wants to test these pkgs on turtlebot 2, I also provide a simple ros2 launch file:
https://github.com/Adlink-ROS/adlink_ros2_turtlebot

About slam_karto ros2 pkg, I am working on removing it’s Boost dependencies.

Please let me know if you find any problems, thanks!