← Back to context

Comment by csullivan107

5 days ago

There are many ways to start with a more academic knowledge of robotics. Courses, ROS, Programs etc. Just picking one is a fine start and you will learn something, but you may not have fun or appreciate the context for what you are learning, which makes it hard to care.

It also depends on what you're trying to learn. Programming? control? electronics? mechanism design? There are many different aspects that require their own expertise. I personally think of a roboticist as someone that can be functional in all the disciplines and bring it all together. Some one that can build a robot from scratch.

This advice is targeted towards someone starting in robotics with an emphasis on building a totally custom robot. You are doing the whole thing from scratch, no kit. (kits are super useful, but I personally like building everything and making hardware that works for me). In my eyes, if you haven't built it in hardware, it probably isn't a robot.

As a research roboticist, my best advice is forget Learning it all up front and just start building. You will probably have strengths and weaknesses, but robotics is a very multi-disciplinary problem and at the start, requires some head banging in what we like to call integration hell. Just Trying to build something does a couple things. It gets you acquainted with the interaction of all aspects (mechanical, electrical, software) of a robot and how they interact. Most importantly it gives you context for sll the things you learn later on. Build something, come across a problem, and google/brute force your way to a solution. You will stumble across context relevant resources and lessons in the moment. Especially at the start, a more "formal" education is too broad and comprehensive for the curious roboticist.

My simple advice is to just come up with something simple and SEND IT!

For mechanical - Onshape for 3D design (free tier) and a bambu A1 mini 3d printer can get you building anything you want for <$400. A couple nights of CAD tutorials will get you started. Hell you can even start with cardboard and hot glue if this is cost/time prohibitive.

For electronics - Browse www.adafruit.com or www.sparkfun.com for sensors and microcontroller boards. They both support QWICC connections which makes getting sensors plugged in and running super easy for a beginner. For computation and control a basic Arduino Uno or one of the adafruit feathers will do just fine. Don't get caught up in the internet debate on what the best microcontroller/single board computer is. The best robot is one that works and it is VERY easy to get in over your head in this realm and fall into the premature optimization track. Better to get something working that under performs than to never build at all.

For software - Most lower level robotics uses c++, which I think scares people. It is mostly because it is one level above hardware. Arduino/common libraries take care of all the hard stuff and you don’t have to worry about large scale things like garbage collection, memory leaks, or efficient code off the bat. The websites above have libraries, examples, and tutorials for every sensor. Even a non programmer type can smush the example code together in a functional way and get something up and running.

As you try to build you will learn and get more complicated. Robotics is so vast and large its best to focus on learning the skill you need at the time. But my main advice is just go build the thing and the learning resources/skills will present themselves when they are needed. Otherwise it is just too much to take a more planned approach.