Team 401 2019

Team 401 is proud to present our 2019 robot: Ouroboros.

Robot features:

  • Custom ball shifting 3 Neo gearboxes (10 and 19 FPS free speed)
  • 2+4 West Coast Drive with chain in tube
  • Telescoping “Not-Quite-Pink” arm with 1 second to max extension and 1.5 second for 270 degrees of rotation
  • 360 degree range of motion wrist with cargo and hatch tools
  • 0.5 second tool change
  • Internal ground hatch intake with automated handoff sequence
  • Level 2 and 3 capable rack and pinion climber (not pictured :wink:)

We’re excited to compete at the CHS Hampton Roads and Blacksburg events!

12 Likes

was wondering why you went with ouroborous as a name but then I remembered Overkill was taken

3 Likes

oh, and we can also do this

6 Likes

That’s such a neat concept. Good luck at your competitions!

Some videos

First arm move: https://drive.google.com/open?id=1BYefeGkZLy5EhL2u-GXVEKMd_D9wbkej
First climb: https://drive.google.com/open?id=1Dl8gQY3jEq_uZAKtV0X7jSw3GirUjVSW
First auto pathing: https://drive.google.com/open?id=1G0ezgmXSeCgLoZATQT-ez5h5K4NlCi7Q
Tossing cargo: https://drive.google.com/open?id=1xKdOqx8DKYaQk4OhJ8SrknIScctfFSM8

3 Likes

Yeah this is cool. Thanks for sharing. A not-quite-pink (medium well?) arm has been on our offseason design project wish list for a while now, and I’m excited to see it this weekend.

3 Likes

Cool robot, I always enjoy seeing what you guys have.

2 Likes

I have been calling it lightish red arm, but if anyone can think of a better name let me know.

5 Likes

Mauve

2 Likes

It’s more like a dark yellow

This robot is awesome well thought out and very clean and well built

3 Likes

when i call your robot overcomplicated but you win DCMP anyway

9 Likes

We definitely do build overly complex, and it normally does hurt us at our first event. But on the other hand it’s a lot of fun and learning and our programmers would die of boredom if we didn’t. :man_shrugging:

The controls for this bot were an order of magnitude more complex than last year, hopefully we can step it up even more next year with no bag.

5 Likes

Now that official competition season is over and we have a bit more time to spare we’re happy to release our 2019 robot CAD and 2019 robot code. While we didn’t manage to pick up any technical awards this year we’re still proud of what we accomplished and wanted to share.

CAD:

  • 2019 Robot CAD - Includes a STEP file of the robot and native Inventor files. If you want to you use the native assemblies you’ll need our parts library.
  • Parts Library - Our current library of COTS parts, relied on by robot projects.
  • Symbol Library -We’ve been making full robot schematics in AutoCAD Electrical for a couple of years now, the symbol library has all of the component symbols that we’ve made.

Code:
2019-Robot-Code

The majority of our development efforts this season went into controlling our arm as best we could. We ended up doing motion planning on the RIO to produce trapezoidal velocity profiles for arm rotation and synchronized positional setpoints for arm extension and wrist angle.

Some highlights:

  • Superstructure motion planner that would obey constraints on minimum possible radius, not rotating through the floor, not violating 30" extension, and not crashing on any other robot parts.
  • Path planner that would attempt to optimize end effector trajectory in Cartesian space by finding linear moves if possible and generating linear moves tangent to the circle of minimum arm radius if a purely linear move was not possible.
  • Superstructure controller with feedforward voltage calculations for changing arm length,angle, and velocity.
  • Simulation for commanded arm moves to validate setpoints and ensure our trajectories were obeying constraints. Here’s an example simulated arm move as both a gif and some plots of the same move:

https://i.imgur.com/y4jN2iI.gif

Other neat programming things we did this year:

  • SnakeSkin - Our modular domain specific language, now at v2.0 with several new features including improved fault management.
  • SnakeSkin-Units - statically compiled units of measure that leverage Kotlin inline classes to prevent boxing and avoid heap allocation.
  • Taxis - our port of 254’s 2018 pathing code with some customizations to make it work well with SnakeSkin.
13 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.