by Dallas Downing.
The RoboNav team saw many changes in 2020. The spring semester saw the completion of the third iteration of Jessiii, the robot designed for IGVC (read more here). It also saw the team change its name from IGVC to RoboNav to reflect a shift in focus from a specific competition to autonomous navigation problems in general. With this name change, the team also decided to participate in a new competition: the University Rover Challenge (URC). Throughout the summer and fall semester, RoboNav has been busy working on the next IGVC robot, a swerve drive robot named Swervi, and starting the transition to URC.
Swervi is a robot that the team started working on in the spring of 2020. The decision to create a swerve drive robot came from the members’ desire to explore different drivetrains and branch out from differential drive systems, the standard drive system for many years. Swerve drive refers to the ability to pivot or steer each wheel independently. The result is a robot that can move in any direction at any time, a major benefit in the IGVC obstacle course. However, this benefit comes with the added challenge of more sophisticated designs and additional technology which requires more time for prototyping and testing. While the pandemic has slowed down work in-person, the team has managed to be very productive working remotely. The mechanical team completed the bulk of the CAD for Swervi during the summer semester and held a design review to analyze the design of the swerve module used by each wheel.
In the fall semester, the mechanical team created a test rig consisting of two swerve modules to begin testing and preparing the firmware and software required to control the robot. In the meantime, the electrical team has been busy making the necessary changes to the current electronics to support the new swerve drive. The four steering motors and four wheel motors require new encoders and a different motor controller scheme to work. The team has been revamping the system to use CAN to communicate between the mbed (which receives directions from the computer) and the motor controllers (which drive the motors). Some new members have also been making general improvements to the firmware to benefit Swervi and the upcoming URC robot. The first project is adding joystick control directly to the microcontroller (mbed). This allows members to drive the robot without having to turn on the main computer. The second project is adding small laser rangefinders to the robot’s perimeter to prevent obstacle collision if the software fails to avoid it. While unlikely, an unexpected collision could cause damage to the robot and it’s many fragile components.
Speaking of obstacle detection, the software team was also busy making improvements to the IGVC software stack. The main change was upgrading the ROS (Robot Operating System) version to the latest release, Noetic Ninjemys. The other major project was implementing 3D SLAM (simultaneous localization and mapping). SLAM allows the robot to create a 3D map of the obstacles around it and figure out where it’s located in relation to them. This is beneficial because it makes it easier for the robot to go over the ramps in the IGVC course without losing its location. Since ramps change the field of view of the camera and LIDAR, state estimation (determining where the robot is in relation to other obstacles) would fail in the past due to losing view of points of reference.
Software members have been working on other projects such as inverse projection mapping and point-cloud segmentation to improve obstacle and line detection. Previously, the team projected lines seen by the camera onto the 3D map via forward projection mapping; however, this sometimes resulted in “holes” where no line data was seen by the camera and thus not projected onto the map. The inverse projection mapping fixes this problem by eliminating these holes, which is critical to ensure the robot stays on the IGVC course. The point-cloud segmentation project is a new way of categorizing obstacles (like barrels) based on their shape. The benefit of this implementation is that it can be used to detect irregularly-shaped obstacles, like rocks, which is very important for the new competition, URC.
One of the goals of working on Swervi is to prepare the team for URC in 2022. In URC, teams create rovers capable of performing realistic activities that actual Mars rovers perform. The competition is broken up into four different missions: a science mission, a retrieval/delivery mission, an equipment servicing mission, and an autonomous navigation mission. This means that the rover made for URC will need equipment to perform experiments, manipulate objects and materials, and navigate autonomously, all while traversing the rocky terrain of the Utah desert. Since this is a much harder task than IGVC, RoboNav has already started working on a rover, Walli, in anticipation of design challenges and problems that may come up during its 2-year development.
Despite the challenges posed by the pandemic, the transition to URC has gone very smoothly. An important step was to familiarize all members with the rules of the competition, so they can think about how to tackle the new restrictions and challenges. A few members gave presentations on the rules, and the team also began a partnership with ITU Rover, an established team from Istanbul Technical University, to receive advice and share design ideas. “Overall, we’re moving faster than we originally planned,” says project manager Tan Gemicioglu, “and we’ve had some very exciting progress with the current new member projects.” The new members to RoboNav have been primarily focused on projects directly related to URC so they will be prepared for going to the new competition. On the mechanical team, members worked on researching designs for rover wheels and drivetrains. They created prototypes for the most promising drivetrains, including variations on rocker-bogie and suspension systems, using Lego components and began testing their designs to determine the best choice.
A group of new members from the mechanical and electrical teams have started work on a manipulator (robotic arm) to be mounted on Walli. They researched designs used by other teams and created some rough designs for the arm. Preliminary CAD and some prototypes are in the works and are expected to be finished in January. On the software side of things, a new Github repository for the competition has been created, and the team has begun identifying new issues to be addressed for the competition. RoboNav will shift to using ROS2 for Walli, which will require updates to any reused IGVC code and new software libraries compatible with ROS2. PM Tan has been impressed with what the team has accomplished, “despite the difficulty of juggling school work and [RoboNav] amid the pandemic.”
Of course, the team’s great progress didn’t come without challenges. Software lead Matthew Hannay noted that it’s been a difficult semester for everyone. “Being unable to meet with the [software team] and solve problems on the spot hindered our ability to make big changes in the code,” he said. Delays in shipments of parts and limited in-person shop access made the build process for Swervi longer than expected. But the team’s momentum is looking good for the spring semester. To start things off, the mechanical team will hold a final design review for Swervi as a whole and begin the full manufacturing process. Electrical members will be able to hit the ground running with testing the firmware for the new swerve modules. The software team will be able to test their new code on Jessiii as soon as possible, which will make coding and debugging for Swervi easier. And all of RoboNav will continue working on prototypes and plans for competing in URC in 2022.