ROS & Simulations

ROS & Simulations

The ROS (Robot Operating System) and Simulations team uses the ROS software libraries and tools to enable communication between the Perception, AI, and Controls code. Members spend a lot of time thinking about the big picture of our codebase, optimizing its design and usability, troubleshooting integration issues, and ensuring the rest of the team’s code is compatible. Additionally, this team is responsible for creating a simulations framework for the AI and controls team to test their code in isolation.

Robot Operating System

This year we made a couple major changes to our ROS framework, and we also had immense progress on the simulations front. With ROS, we upgraded to a Jetson Orin AGX with Ubuntu 22.04 and thus migrated our entire system to ROS2. Further, to incorporate the new LiDAR sensor, we created a new LiDAR node that handles point cloud data and its associated processing algorithms. Below is a schematic of our current setup, which is still subject to change.

ROS1

Simulations

With simulations, we created version 1 of our RoboBoat simulation. This version is created in Unity and uses a ROS TCP connection node to connect our codebase to the Unity client. More specifically, this simulation is capable of testing AI path planning, controls pure pursuit, or both at the same time. It includes a generic map of the RoboBoat competition course, as well as basic capability for level making. Below is an example of path planning code (i.e. follow the buoy) running in our simulation.

ROS4
ROS5

This semester, we also developed a 3D LiDAR simulation to generate all sorts of LiDAR data for the LiDAR team to iterate their algorithms on. We hope that this new project can serve as the basis of an eventual full 3D simulation.