0 To Autonomous: Episode 1

Hello!

6814’s lead programmer has begun production on a series of tutorial videos with the goal of walking through the first steps of driver control all the way to non-linear spline-following autonomous driving algorithms.

This is a big undertaking, and we’re happy to announce that episode 1 has been published!

29 Likes

Just watched the first one.

Pros:
Good pace
Clear voice-over
Simple to understand

Cons:
Only one video :grin:

4 Likes

Really love the simplicity of the video. Visuals and voice-over are especially helpful.
Definitely will be making this required viewing for our rookie programmers!

I agree with Fields. Only downside is that there’s just one video (for now, hopefully). Keep it up!

Bookmarking. Can’t wait to check this out.

Very helpful and perfect length. I’ll be watching for more episodes.

@BryceHanson The video is great! One suggestion: I think it would be great if you could make a video on making your basic robot drive straight.

Hey guys,

Thanks for checking out my video! If you know someone who would enjoy this, please share it with them!

The philosophy for this series is: Not to create the most efficient algorithm or to the shortest code using “black-box” libraries, but to give an intuition of how everything works.

I will be making more of these (it takes a lot of time and thought for one of these). So stay tuned!

Sean Sun
6814 Programming Lead & Electronics Lead
0 to Autonomous

6 Likes

While as an engineer I appreciate the reasons behind this philosophy, I feel it’s important to also show how the provided libraries can be used to streamline things and create powerful code easily. Abstractions are important for making complex systems understandable and increasing efficiency of implementation. There are many levels of black boxes, so you need to choose the level of black-boxing that makes sense for your audience and goals, as going into too much detail can lose the audience in minutia that actually is not relevant to solving problems they care about, or create code smells because people mimic what they see instead of using a cleaner higher level abstraction. One way to balance this might be to combine the more detailed explanation with a wrap-up that shows the more black-box abstracted version showing how 2 lines of code can do what the 50 lines you just walked through can do in a much more readable way?

3 Likes

I’m writing some in-house curriculum and exercises to teach rookie software students. I was thinking I’d get them to write some simple code that would do bang-bang motor movement by manually reading encoder ticks and if/else logic. They’d try it out and see the flaws with that approach. We’d talk about how we could theoretically apply some logic to smooth it out (e.g. PID control). Then we’d go into Talon Motion Magic and essentially say “see, this black box does it, but better than we could, in just a few lines of code!”

I should pause a moment and watch your video series before I go too far down the road of probably reinventing the wheel.

I really like your way of teaching PID–by showing other feedback controls, and by comparing their pros and cons. This way they get a sense why PID works rather than a magical equation that is proven by math. That is how I’ve been coaching my team, and I am doing something similar in my future videos.

Great video. Simple, and very well thought out. Can’t wait to see more. Maybe some command based examples??

Thanks again
Russ Riker
FRC 5534 - Onaway Onabots.