by Dallas Downing
This Fall was a productive semester for RoboNav. The team made great progress on Swervi, the newest IGVC robot, since plans for it started in the Spring of 2020. As the manufacturing and assembly are nearing completion, the team has also made great progress on the electrical components for the diagnostic system. With the new drive train (swerve drive instead of differential drive), the software and electrical teams have been busy working together on the new controls system. The team is currently on track for IGVC 2022 with big plans in the works for the new University Rover Challenge (URC).
The primary goal for Fall 2021 was to complete the manufacturing and assembly of Swervi. Despite starting on the designs and prototypes in the previous year, the CAD for Swervi was finalized during the summer of 2021. The mechanical team was finally able to start the bulk of production this semester. The hardest part of the job was building the frame. While the general design principles stayed the same with a main cabin for the electronics and separate spots for batteries and a payload, Swervi required a much different frame than Jessiii. It also required a new case to be made by Protocase, who has sponsored RoboJackets in the past. Due to previous prototype work, the team already had the swerve modules ready (which is made up of the wheels, steering motors, and brackets to hold it all together). The team was able to assemble all the major components (the frame, swerve modules, sensor tower, and electronics case) together in December.
On the electrical side of Swervi, the team was able to start implementing many design changes that have been in the works for the past year. One of the biggest changes to come was a new battery. If you are familar with the IGVC team’s past, you may remember the massive yellow lead-acid batteries previous robots used. Since the old batteries were starting to fail, the team finally decided to switch to a much smaller 24V lithium ion battery to save weight and space. The other significant change was the motor controls. Jessiii only had two motors for driving, but Swervi has eight (one to drive and another to steer each wheel independently). This required more robust motor controllers, so the team got some off-the-shelf controllers designed specifically for robotics applications (ODrive controllers). While there is still work to be done to finish the firmware and logic board coordinating Swervi’s behavior, the team’s been able to get everything to move.
Besides the motor controls, the electrical team has also been involved in a number of smaller PCB projects that improve Swervi’s performance and facilitate future development. Over the past year, the team has been developing a system of boards which the team was able to solder and assemble this semester. Here’s the highlights of each board and what they do:
- Fan Control: This board runs fans in the electrical compartment automatically based on the temperatures inside.
- Error Lights: Using some NeoPixels (addressable LEDs), the logic board can display error codes to make debugging easier.
- Current Sensing: This board can read the battery’s current for monitoring power consumption.
- Remote Display: This board exists outside of Swervi and displays important diagnostic information for the team.
- Power Hotswap: This board is an important addition to the power distribution of Swervi. Someone can switch power from the on-board battery to a wall outlet, which makes working on the computer and other components easier without depending on a fully charged battery.
The last PCB the team is currently working on is a redesigned logic board for the Mbed, which bridges the computer and motor controllers together. The electrical team was able to make great progress on each board and is ready to put it all together next semester.
While Swervi is not entirely complete for testing, the software team has had their fair share of things to work on this semester since the new control system poses many challenges. Primarily, the ROS nodes used for path planning needed to be redone to account for the ability to move laterally. With the changes to path planning, the team has also been working on using the GTSAM library for SLAM (simultaneos localization and mapping). The GTSAM library is a robotics library developed by GT professors and students that uses factor graphs for various robotics uses. On top of this, the vision system needed a refresh to account for the new cameras. Since Swervi can move in any direction, it needs more camera coverage to see the lines and barrels around it. The team shifted to using three cameras with 130 degree wide angle lenses to cover the full 360 around the robot. The software team has been fine-tuning a pre-trained neural network model to support multiclass segmentation for these new cameras. The new members of the software team have been working on a new project: a new testing framework, including new unit tests, that the team can use to check different parts of the software stack without relying on the simulation.
Of course the work towards URC has not stopped. Following the 2021 IGVC, the team decided that they would work on both competitions as there would still be a lot of work to do before competing at URC. The mechanical team has been designing the mechanical arm necessary for the future rover during this semester too. They plan on having a design review for it this coming semester. The software team has also been laying the groundwork. A new GitHub repository has been made and the basic ROS framework has been set up. For URC, the team is using ROS 2, the newer version of ROS. One of the biggest challenges for URC currently is the science challenge. During the competition, the rover will need to take a soil sample and perform various tests on it. To do that, the team will need to create mechanisms to perform the tests, which is something a RoboJackets team has not done before. The team is currently looking for new members that have experience in this area to form a new subteam, the science team.
RoboNav members have a lot to look forward in the coming year and semester. Completing Swervi, the tenth IGVC robot, is the ultimate goal. With the 2022 IGVC quickly approaching, the team will begin testing the diagnostics system and wiring up the completed Swervi chassis. In addition to the motor controllers changing, the e-stop circuitry needs to change to compensate for the additional motors. The software team also hopes to revamp their simulation for Swervi until it’s ready to drive. The new drive train posed some challenges during this semester, but the new testing framework should help resolve those issues. And once Swervi is ready to go, the team can turn its attention to preparing a design and presentation for the URC acceptance process.