In the robotics team, I was in charge of updating our robot Dokalman's software from ROS1 to ROS2.
This meant rewriting the whole codebase. I wrote code to talk to the GPS and motor controllers over USB via
UART,
conntected to camera feed for processing using OpenCV, as well as starting on Nav2 by simulating the robot with
URDF/XACRO.
Additionally I rebuilt the whole network from scratch as the base station's network links to Dokalman's network.
This allows for easy remote access to Dokalman as well as providing internet to it on the field. I also worked
on some of the mechanical hardware design and electrical work throughout this process.
I worked with the UC Football Marketing department to take the T-Shirt cannon onto the field and shoot shirts
to the student section. This cannon was a senior design project, so I did not build it, but I improved many of
the
electrical aspects of the robot.
I learned how to take a live camera feed and apply a transformation to the image so it is top-down instead of
angled.
I also learned how to detect lines from images using OpenCV. I placed these processes into C++ ROS2 nodes and
created
a reusable vision pipeline for our robot to utilize.
The team worked on a sub-project which is this RC Car. We set it up to chase barrels of specific colors.
It is also driveable over ROS2 using an offboard computer with a USB controller plugged in on the same wifi
network.