Skip to content
pluteski edited this page Apr 3, 2017 · 30 revisions

Welcome to the first2017mp wiki!

Origin Story

This began as an exploratory motion planning problem posed by Valkyrie Robotics, a FIRST Robotics team, for the 2017 competition.

The challenge is to automatically find a path to goal from any position and heading within striking distance of the goal.

Then the robot could provide driver assist by moving itself towards the goal along an efficient trajectory unless overridden by the driver or bumped off its trajectory by collision with a moving obstacle.

Ending

As many FIRST robotics teams will attest, some designs don't make it into the competition robot even after much investment. Likewise, the code in this repo was not deployed in the competition robot for the 2017 season because of competing priorities and resource constraints. It turned out that it wasn't possible to implement the required dependencies. This approach required a state estimation system that could determine the position and heading of the robot on the field based on data obtained from several sensors, including vision, gyro, accelerometer, and wheel position sensors. However, compared to other teams who invested thousands of dollars into hardware and associated control systems only to scrap it before competition, the cost of this investigation was primarily coding time and some additional time running and evaluating simulations. It was instructive as to what could be achieved with circular arcs and quickturns*, which was useful knowledge for the driver team to have, especially because the motor control system of the robot was designed around circular arcs and quickturns.

About what happened in between

See first2017mp/wiki/Background for background, summary results, and pointers to additional visualizations and simulation results.

See first2017mp/wiki/RelatedApproaches for approaches that are suitable for real-time motion-planning.

  • A "quickturn" maneuver is a rotation about the robot vertical axis, changing the heading without changing the (x,y) location.

Welcome to Pluteski's Repo. Welcome to Pluteski's Repo (pronounced PLUTE-ski)

Clone this wiki locally