← Back to context

Comment by korse

6 days ago

I'm in the field and I disagree with the initial direction of this post. You aren't going to 'learn robotics' in a meaningful manner by checking the boxes in a online ROS2 course.

Robotics is a compound discipline which pairs mechanical and electrical engineering knowledge with mathematics and software development. In order to get meaningful practice in all of these areas, I would recommend re-implementing a robot vacuum from 'scratch'.

The actual vacuum part is non-essential, as you're really trying to implement the famous 'turtle' robot and experience all the design steps/compromises/challenges first hand. As a goal, aim for autonomous navigation around your home that works equivalently to a cheap 'throwaway' robo-vac.

Keep in mind you are surrounded by robotics. Most passenger vehicles, consumer drones, micro-mobility devices and modern construction equipment are 'robots in varying degrees of disguise'. Practical knowledge regarding any of these systems transfers well if you know where to apply it.

This feels like the "How to Draw an Owl" meme all over again. Just create a self navigating robot from scratch...

  • It's similar, but the advice should be good for a software professional. It's an actionable, well-documented goal which takes you through the basics you're likely to care about. If any step needs some extra explanations, the choice of project guarantees you can find hundreds of good resources for that step in particular. With that basic background, next steps will be easier to find and understand.

    • There was no advice provided other than to "look it up". That's not particularly helpful for someone new to the field and overwhelmed by the amount of resources and approaches. If you are aware of "documentation" it would be more useful to provide links to such resources for someone just getting started.

      A solid resource for me getting started was the textbook Probabilistic Robotics. It may not be state of the art but I feel it is a great resource on the topic -

      [1] https://robots.stanford.edu/probabilistic-robotics/

>You aren't going to 'learn robotics' in a meaningful manner by checking the boxes in a online ROS2 course.

This is the best answer-- all other answers are saying "Run this simulation of a robot".

but a simulation is not a robot. Even a simple lego tupe robot kit shows you how fiddly and complex real world moving parts make everything.

I did a very basic version of this and it was a lot of fun. I bought a chassis online with tank treads that each had a motor. I used an Arduino to send the signal to each tread to turn and a distance sensor so it knew when it was arriving at an object. If it sensed that something was in front of it, it just turned 90 degrees and kept going.

Super simple but it felt like a big accomplishment to get that far.

Where would you recommend someone to start from a more data-sciencey background, algorithms like VSLAM look interesting to mess around with but building a whole robot just to do so seems daunting.

  • In that case it doesn't sound like you want to learn robotics - you want to learn VSLAM.

    It's like saying how do I learn car manufacturing but really I just want to try to make rubber tyres.