Frame
The frame held up well in competition. We designed it to be robust and durable. The selections of 20mm 80/20 extrusion and .25" acrylic ensured that the robot would not yield in the event of falling down the stairs. During competition, we opted to prevent any potential falls through direct human intervention. Although this prevented the robot from being autonomous, it saved our ability to reach the second round of competition and other future testing.
Drive Train
Our drivetrain, while possessing enough power and torque to move our robot, was lacking torque that would have made our motions in a particular direction more consistent. For instance, we discovered that after setting all four wheels to the same speed when driving left or right, the robot would drift off at an arc and smash into the next step or fall off the current step. Furthermore, the material and structure of the stair testbed was considerably difficult to traverse on. We often found that while driving on the ground was perfectly doable, the stairs posed another problem and our motors would often stall.
The size of our wheels and castors posed a different issue where the ridges on the top and bottom stairs made it difficult to have consistent traction. This was an issue we had considered but took on the risk due to the high mobility. This factor coupled with the mild slope of each stair caused our drivetrain to have extra difficulty moving left and right across each step.
In theory, the robot is fast enough to easily clean a whole step in the one minute permitted in the Final System Demo requirements. However, it is far too inconsistent to clean a single step without getting stuck, getting heavily misaligned, or falling off the step, much less repeating this for eight consecutive steps.
Lift Mechanism
The lifting mechanisms presented a unique challenge in that each lift was able to smoothly operate alone, but the integration of two lifts moving at once proved to be sensitive. Each lift had a different fraction of the robot’s weight placed upon it, and since we chose DC motors to actuate the lift, they would operate at different speeds when given the same commands in code. This required significant code tuning to ensure that the robot would not ascend on a diagonal, causing the center of gravity to shift and a motor to stall due to the increase in distributed weight on that half of the robot. Ultimately we found that the lift system operated in a satisfactory manner and was not a major issue in our performance.
Cleaning System
Our cleaning system was not able to pick up any debris during our demo, but in testing we had been able to get consistent suction using one nozzle that was fairly strong. When using both nozzles our suction was greatly reduced and the nozzles ended up being mounted too high off the ground to pick up debris during testing. Our suction motor was rated for 12V; however, we had only been able to supply it 7.2V due to the motor ESC being unable to accept the 12V from our buck converter, which contributed to a much lower performance than we expected. Furthermore, the buck converters were severely current limited relative to the desired current draw of the ESC. Since a very large chunk of the Final System Demo is to suck up dirt, which we could not do at all, it was expected that we horribly failed at this category.
Sensing
Our ultrasonic sensors were not as accurate as we would have liked which made it difficult to implement controls to correct any error while cleaning across each step. This also made it difficult to align for climbing and severely limited our accuracy. Our limit switches, while accurate, were placed in locations that were not easy to trigger on the stairs, especially when our robot could hardly travel in a straight line and head-on into a wall. In the event of a limit switch being pushed during the demo, the robot was able to successfully lift itself onto the next step. However, most of the time, manual intervention was required, thus resulting in several penalties during the demo.