The System Performance will be broken up into six sections. First, the performance of each subsystem will be discussed individually; then, our total system as a cohesive robot will be addressed.
The mobile platform performed exactly as designed. It was a secure and sturdy base for the rest of our robot components. The 80/20 frame made connecting our motor mounts and gantry support frame very easy and the platform bed gave us a lot of room to mount all of our electronics. It was adaptable enough so that as our constraints were tweaked, we were able to easily adjust the wheel positioning and add additional platforms for electronics. The mobile platform also passed our testing criteria of being able to support at least 15 pounds and maintain stability with at least 15 degrees of tilt. The robust platform we created was able to support 20 pounds and withstand 20 degrees of tilt.
Our gantry system performed exactly as intended. The motion was smooth and consistent and properly aligned our end effector system every time. The SKR board did a great job controlling the gantry system and the stepper motors we chose were the perfect strength for driving the system. The testing of our gantry system was very straightforward. Since it was designed like a 3D printer or CNC machine, all we needed to do was give an X and Y coordinate and make sure our gantry was moving to the correct position. After some adjustments with the current going to the stepper motors and the proper conversion from motor steps to distance, the gantry system achieved the desired position to within two millimeters of accuracy.
The end effector system also performed well considering the variety of components our robot needed to interface with. The finger was the perfect shape, size, and strength to successfully rotate all the valves and flip all the circuit breakers. The linear actuators were also a really good choice for our design as they made adjusting the end-effector orientation simple and efficient. The linear actuators kept a consistent travel distance which corresponded to a constant end effector finger location. This is why our end-effector was able to interface with most of the testbed components so reliably. Our end effector system was put through two tests to ensure robustness: a position test and a strength test. The position test essentially just confirmed our geomety and trigonometry calculations in that the full stroke lenth of the linear actuators should correspond to a 90 degree change in orientation. This test was successful and both the finger and drawbridge were able to transition between the vertical and horizontal orientations. For our strength test, we applied forces to the tip of our end-effector finger. Flipping the circuit breakers was the task where the end effector would need to withstand the most force. We measured that about 6 pounds of force was required to successfully flip the circuit breakers. Our end effector repeatedly was able to withstand this force. We knew going into the finger design that it would have to be strong, so when setting up the 3D print, we selected 100 percent infill and chose a printing orientation that would maximize the material strength. This proved to be very effective as our end effector finger never broke.
The electronics design worked very well for our robot. Although it took several weeks to develop, once we had each of the electronic subsystems functioning properly, they were integrated onto our robot. The DC motors responded well for the locomotion of the robot, although we found it sometimes difficult to attain precise movements given our encoder feedback design. Besides this, the linear actuators and stepper motors worked great for actuation, and the Jetson Nano was more than fast enough to handle all the communication between subsystems.
The perception stack performed worse than we expected. During tests, our detection accuracy was well over 90% with any missed detections caused by significant distortion in the captured frame. However, during actual testing, we found that oftentimes, the neural network misclassified the detections. Additionally, differences in lighting conditions threw off classical methods used to detect the valve rotations. We were able to work around this by using a ring light and by fixing the exposure/white balance of the RealSense to more closely match the color profile of the test videos. Our planning stack worked exceptionally well. We could reliably move distances with a 5% error. However, we did have some trouble with turning, especially as the batteries drained. Despite the shaky nature of the mecanum wheels, the feedback controllers worked well to remove any tracking errors we encountered.
When looking at our final robot as a cohesive package of the individual systems described above functioning together, our robot performance was fantastic. The Drunken Sailor was able to confidently visit every station given in the mission file and reliably actuate the ball valves and circuit breakers. The rotary valves proved to be a little more difficult, but our robot was able to attempt every time with about a 50 percent successful completion rate. The robot finished the course in 4 minutes and 35 seconds and earned 11 out of 15 points. Additionally, our robot was within the give size constraints and our team finished the project $15 under budget. These overall results earned us first place in the ShipBot competition in addition to the award of fastest run time. Our team was very proud of our final robot performance.