Torpedo

Team 2658’s 2020 robot “Torpedo” was incredible. It is arguably the best robot the team has ever created, won the Quality Award, and placed 5th/58 at the Del Mar Regional. It can also be so much better. So, let’s take a look at it.

Conception

Let’s begin with with how we came up with the idea for Torpedo. In our initial analysis of the game, our main priorities for robot capabilities were as follows:

  • Auto
    • Move away from initiation line*
    • Detect bottom port and place balls in*
    • Detect power port and shoot balls in
    • Detect inner port and shoot balls in
    • Pick up more balls
  • Teleoperated
    • Store 5 balls*
    • Dump 5 balls at once*
    • Intake from the floor*
    • Intake from the bottom bay*
    • Place balls in the bottom port*
    • Shoot balls into the power port
    • Shoot balls into the inner port
    • Be able to autonomously gain Rotation Control
    • Be able to autonomously gain Position Control
    • Intake from the top bay
  • Endgame
    • Be able to climb*
    • Be able to climb on high end*
    • Be able to climb in the middle*
    • Be able to climb and adjust
    • Be able to climb, adjust, and pick up one robot
    • Be able to climb, adjust, and pick up two robots
  • Defense
    • Blocking area

The higher up on each sub-list, the more important we thought that ability was for our robot. Items with an asterisks were marked as necessary to the functionality of the robot and things we would implement for certain. Items with a strikethrough were not to be considered.

If we dig deeper into the reasoning, we can see that being able to shoot low and climb were our most basic criteria, while shooting into top ports and more adjustability with the climb were less important. However, with several reach goals slowly making their way into our “needed” goals pile, we set out to develop an architecture for a robot that could shoot into the low and top port (with software expansion into the inner port) as well as climb.

Profiles:

Three profiles were presented to be considered for execution. All the profiles were short enough to traverse under the control panel (color wheel). Two of the profiles had an elevator flip up and grab onto the bar as a climb. The other had a double reverse four bar linkage system for the climb. Two of the profiles had single flywheel hooded shooters (not on turrets) that were low enough to be able to shoot into the low port. The other a shooter with to flywheels on each side. The two profiles with hooded shooters had a rigid tube system to hold five balls and bring them to the shooter. The other had a pivoting tube to adjust the exit angle of the balls. All the intakes were a relatively similar over-roller design.

In the end, the profile which was chosen had an elevator flip up for the climb and a tube move up and down to adjust the exit angle of balls shot out of a side-wheel shooter.

Execution

While the process of designing, building, wiring, and coding this robot merits itself much analysis, I want to focus more on the robot itself in this blog. Therefore, all you need to know is that the robot was designed, built, wired, and coded. What follows will be an analysis of – after the completion of the robot – the successes and failures of its execution of the desired elements of gameplay.

Mechanical Quality:

The design of Torpedo was definitely the most complex we’ve had to build. That being said, the minute details were done so in a way so as to ensure long-lasting effectiveness. Most mechanisms, due to good design planning and consideration and an increased attention to high tolerances and accuracies in build parts, had few if any failures. There are two notable exceptions to this, however.

The climber had several issues with friction ,associated with the screws driving the elevator, that led to initial climbing problems. This issue was mostly fixed by drilling out the bushings holding the screws in place to allow for more wiggle room. Additionally, the flimsy nature of the shaft coupler on our tube adjustment mechanisms meant that we saw frequent shattering and a need for replacement. This issue was largely addressed by replacing the “springy” shaft collar with a rigid one. A “dead spot” in the handoff between the intake and tube caused some problems with jamming and therefore led to slow intaking. However, after much testing and altering, a solution was finally implemented that achieved the smooth transfer between the two mechanisms. Overall, however, an attention to detail, accuracy, and assembly in both the design and build process led to a robot which deserves the quality award.

Controls Quality:

Torpedo continued to demonstrate its superior quality in our electrical system which, as opposed to the connection and issue riddled 2019 Season, had almost no issues and acted exactly as intended. Torpedo’s software was also able to implement some long-overdue features such as using sensors to adjust and limit movement. We also had a very consistent and reliable autonomous routine. But, a plethora of issues in our pneumatics system and shooting capabilities largely overshadow these successes.

As soon as the robot started running we began encountering pneumatic problems with our compressor and various connections coming loose. Because of its inaccessibility, the system was difficult to fix properly. Through weeks of testing and debugging, the sources were finally pinpointed to some faulty components and badly implemented connections. As soon as these core issues were addressed, the pneumatic system worked as flawlessly as the electrical.

With our software, the main issues lie within the precision of the various functions that were being executed. For example, our shooter shot out balls, we could set angle positions at various locations, and we had an effective driver/operator controller system. However, they were not consistent or precise enough. Our shooter wheels could not maintain a constant rpm and, thus, exit velocity of balls varied drastically. Additionally, the various angles we had set for the tube were off by a small amount each time, resulting in more error. The shooting this year was based around set positions for the tube angle, but this meant the robot would have to be virtually in the same spot each time, and that greatly varied.

These problems will be addressed with better PID implementation and an increased attention to detail. Additionally, some achievable reach goals were not reached. For example, side to side alignment using vision tracking from limelight never fully worked and we therefore heavily relied on driver and operator adjustment for shooting accurately. Further development of autonomous would also have been on the list of things to nail. Many of these issues can and will be resolved with time, but they were consistently one of the greatest failures of this robot.

Drive Team and Strategy

At the end, in terms of execution, it comes down to what drive team will do with the robot. In many ways, drive team was very effective this year. For example, Neel (our driver) was able to adjust with a good amount of accuracy side-to-side for shots from the trench entirely without any assistance. Alli (our coach) was very effective in negotiating and determining effective strategies for our games and executing on those strategies. Some seemingly drive team issues (such as shooting alignment) are, as previously discussed, largely due to other factors. But, similarly to the software, a lot of the performance issues came from drive team.

One particularly frustrating setback was the climbing consistency. In 2019, we had a considerably less reliable climbing mechanism yet were able to climb almost every single match. This year, with a near flawless climb mechanism at the time of competition, we struggled to climb even half the time. A clearer driver-operator communication was necessary as well as a concrete, pre-determined plan for which hooks (top or bottom) would be used. Additionally, many issues were encountered with properly lining up to walls (ie: setting up to shoot up against the port or going back to the human player station) and with traversing underneath the color wheel. While this is definitely a product of a long and difficult-to-control drivetrain, more practice and experience could have brought much better results. Relating to strategy, there were certainly in-game moments that could have benefited from different directions. Things like choosing to shoot from the auto line instead of the trench or communicating with other teams for two robots to climb could have changed the course of some crucial matches. And, finally, timing for intaking balls from the human player station was, most of the time, not perfect. This, paired with human player station misalignment on the robot’s part, led to often times slow intaking times.

Most of these problems can and would be solved with simply more time spent practicing with the actual robot and configurations. Our entire drive team was great with the Deep Space but, since there wasn’t an extensive amount of practice with Infinite Recharge, the results were not the same. Additionally, practicing on as full and realistic field as possible, especially for this game, is crucial to drive team success.

Fundamental Issues

All of the successes and issues mentioned focus on the improvement – or lack thereof – of Torpedo. However, when looking back at the season and matches, some key fundamental issues with the robot architecture arise.

Drivetrain Size

As mentioned during the drive team section, the long nature of the drivetrain turned out to be a major issue. Designed so the elevator could be longer, it made slight adjustments in robot trajectory difficult to execute and therefore overall made the robot harder to control and move.

Intaking Balls

Torpedo’s intaking of balls was not as fast as it could have largely due to the tube restrictions. Because only one ball could fit inside the tube, only one ball could be “sucked in” by the intake at a time. This meant that when approaching balls the driver and operator had to make sure only one at a time was touched. This considerably increased the time spent while also requiring a greater amount of precision in driving. Our ability to only get balls from the bottom human player port also proved to be a hurtle. Many other teams were able to get two balls at a time from the top human player ports while we were only able to get one at a time from the bottom.

Shooting Capabilities

Torpedo relied on side-to-side shooter adjustment using the drivetrain. This, in general, is ineffective because of the inaccuracy and heavy reliance on friction with the carpet. The problems with this were further amplified by the aforementioned drivetrain issues. Up-and-down adjustment was done by moving virtually half the robot up and down a lot. This meant in some cases that adjusting for the up-against angle would take 2-3 seconds and that, because we were moving such a large mass, it was more prone to failure.

Center of Gravity

This is a much more minor problem, but the center of gravity of Torpedo was shifted as much as possible towards the back of the robot. This meant that, when quickly attempting to accelerate from rest or stopping quickly, the robot would lurch and jerk forward or backwards. This was potentially dangerous (for the robot) at times as it lurched and jerked into the bottom of the color panel while passing underneath.

Conclusion

In the end, there are thousands of other small things that can be looked at on this robot, but this covers what are, in my opinion, the essential strengths and weaknesses. An effective future robot to play Infinite Recharge would be able to keep the strengths and fix the few problems we had through a combination of physical and software solutions.

If there is one thing, however, that I would take away from this robot it is that of details. We were super effective (and won an award for it) with our design and build because of the attention to the small details. To a large extent we had a great structure and implementation in the other teams as well, but the details, the miniscule specifics is where we lacked. So, as we continue to build more robots and evolve our understanding of robotics, keep in mind the details and making sure every little tiny aspect of the robot is as perfect as we can make it. Then we can be the team I know we can be.

And, finally, I wanted to just say that the robot is the robot and the team is the team. No individual is responsible for the successes of the robot and no individual is responsible for the failures of the robot. So, as we forge on and continue to strive for better and better, keep in mind that we forge on together as one. E pluribus unum.

✌️

2 thoughts on “Torpedo

Leave a comment

Design a site like this with WordPress.com
Get started