3pi Challenges

Running out of ideas, or feeling like a challenge? Try one of ours!

  1. Currently, Project Paw Print relies on channel-changing to support multi-Wixel communications, but this isn't the greatest solution. Conveniently, we've just released a handy library called radio_multi that does this without channel-changing! Why not upgrade Paw Print to use this new library instead?
  2. Design a cyclic barcode course which encodes simple musical values ranging over at least one octave. Using 4-bit values, you should be able to encode sufficient musical data for a short, simple melody. Be sure to consider note durations and rests. Design your program in one of the following two ways.
    • Such that the 3pi traverses the course once and plays the melody after completion.
    • Such that the 3pi continually loops and plays the melody (this is harder).
  3. As with all differential drive robots, the 3pi is unable to travel a straight distance without closed-loop feedback (such as wheel encoders). Use a straight line course to calibrate the 3pi such that it travels straight without any sensor data. Test your system by racing two 3pis (one calibrated, and one not calibrated) down a blank course with a dark finish line marking the end, and time the results. How long can you make your 3pi travel straight?
  4. A PID-based line-following program can be tuned by transmitting proportional error wirelessly, and then by graphing those results to determine how accurately the robot is following the line. An alternative is to continually output sound. Modify a PID-based line-following program so that the proportional error is indicated by a continually emitted tone, whose frequency changes depending on the magnitude of the error. Use this output to tune the performance of your PID controller.
  5. Using Sharp Analog Distance Sensors attached to some 3pis, create a program whereby multiple 3pis travel along a line course and always maintain a fixed distance of 15cm from each other, to create a "chain" of 3pis.

Want to share some challenges of your own and have them posted here?