ROS2 the Occasion: Progress on Our Migration Efforts

ROS2 Testing Improvements:
To bolster our testing capabilities, we’ve started recording new MCAP files for individual testing scenarios. These will serve as valuable tools to validate our migrations and refine our functionality in a controlled environment. We’ve also used some tools to convert our previous ROS1 robot recordings to ROS2 recordings, which has been very useful since we have not been able to collect a variety of recordings using ROS2 yet. Finally, with all these improvements about our recordings, we’ve also standardized the formatting and testing of our recordings, which you can read more about on our wiki here.

USB Camera CV Migration:
We’ve begun testing some of our initial CV migrations to ROS2, specifically focusing on the HSV filtering files for detecting objects like the red and blue bins, the path marker, and the buoy. Using bag recordings, we’ve tested both the bin detector and related files. Other files are close to completion and will be tested before the next pool test. While progress has been steady, we’re continuing to work on connecting the USB cameras on the robot in ROS2. Resolving this will be another significant step toward full system integration.

DepthAI Camera Connection:
The depthai_camera_connect.py script is now migrated with the help of the expert knowledge of our in-house oracle Vedarsh Shah. After debugging connection issues, the camera script publishes images as expected. Moving forward, we’ll begin testing detections from the depthai_spatial_detections.py file. Once this is complete, we’ll proceed with migrating other DepthAI-related files to ROS2.

Other Migrations:
Thanks to the dedication of Hung Le, we’ve successfully migrated the system utils package. It’s ready for review and feedback in a GitHub pull request (which you can view, along with the rest of our ROS2 efforts here). At long last, our task planning package has also been fully migrated and is in review. A big shoutout to Jared Bailey, Satvik Matta, and Avrick Altmann for their diligent efforts on this front. These migrations are crucial steps toward streamlining our overall system functionality and enabling the completion of competition tasks.

We’re proud of the steady progress the team is making as we tackle these migrations and system improvements. Every completed task brings us closer to completing our migration to ROS2, setting the stage for a strong competition season. Stay tuned for more updates as we keep pushing forward!

Our CS team continues to make strides in migrating our codebase to ROS2, tackling challenges and achieving key milestones.