Do this course https://github.com/henki-robotics/robotics_essentials_ros2
Totally free, don't need to buy anything just a computer.
I've been designing electrical hardware for robots for the last 4 years for a big corporation and I can tell you, the fun and money is in the software but having another skill is awesome. Robotics is a place where multiple fields converge and if you find a good team they will help you to grow.
Embedded is the adjacent field after you complete the course. Maybe something like zephyr project.
If you want to get you feet wet with mechanical. Buy a A1 mini and play with onshape (www.onshape.com) to design your first pieces, supports for the motors or the board, try create you own gripper.
As for the electrical engineering, is the one with most pitfalls and the most expensive. A wrong voltage will release the magical smoke and is another 30$ for a board. Tread carefully. Start with the RP2040 or the RP2350, they are cheap and well documented. This skill will evolve hand by hand with the embedded coding. Start small. Learn about H-bridge and brushed motors before doing the jump to the bigboys and FOC control with brushless. Get a cheap soldering iron. If you can, a clone of the JBC C245 tips. Is the most versatile and you can find stuff in alie xpress for 45 or 50$ and would be similar to the tools you will find in the field without breaking the bank.
Search for ROS meetups. I could point you to some depending where in the world you are.
And above all, it will be a long journey. Don't dispear, do at your own time but don't forget the objective.
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 -
>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.
- [deleted]
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.
Couldn't you try implement them in a game engine?
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.
> And above all, it will be a long journey. Don't dispear, do at your own time but don't forget the objective.
My biggest issue with robotics is that I don't see the point in any objective.
Building a cool robot feels like it's just a toy to me, and I don't know how to get around that feeling. I studied mechatronics at uni and spent a long time learning on my own in addition.
Robotics for business is almost a cliff, very hard to get into and make something that works reliably at a reasonable cost, from a solo developer point of view
>very hard to get into and make something that works reliably at a reasonable cost, from a solo developer point of view
I mean yes, otherwise they'd be even more robotic stuff wandering about
In products they have the trade off triangle where you can pick things like fast-cheap-good, pick any two.
In robots it's cheap-reliable-featureful pick any one.
The problem with the term 'cool' is it sets no boundaries. Those constraints limit your costs and scope. That's the hard part for most people when they think about cool.
And reliable is more of a time factor (+effort). QA on products takes a massive amount of time and effort to figure out what is not reliable.
> As for the electrical engineering, is the one with most pitfalls and the most expensive. A wrong voltage will release the magical smoke and is another 30$ for a board. Tread carefully.
I enjoyed reading "Exploring Beaglebone" by Derek Molloy a few years ago, because the book has sections "how to destroy your beaglebone" and "how to interface with electronics". The website seems broken. The book's ISBN is 978-1-118-93512-5. Some of the recommendations there (voltage clamping circuit on the 1.8 V analog inputs) can save your board.
Interesting one thing that is more satisfying with robotics is that because you can see your creations in real world
That is sooooooo much true. The pride and joy to see the robot moving, no words can describe the feeling!
How programming of RP2040 or RP2350 could translate to platforms used commercially like Siemens SIMATIC and others?
Microcontrollers and PLC are historically different fields that have some overlap as the fields converge somewhat. PLC come from relay logic and so learning Ladder Logic and playing with a cheaper Automation Direct PLC might be good if you're looking to do control systems like industrial machines and those robotics. RPi series micros are good to learn embedded electronics, servo controls and Realtime OS. Computer Engineering and Control System Engineering are treated differently even in the California State Engineering License Exams, so they tend to be different paths but the skills have some overlap. My degree was in computer engineering and didn't cover any PLC, but I contract and PLC comes up a lot in one-off things that need to be reliable.
Yeah. As some has said already PLC are more oriented to robotic arms in factories etc, where space is not a premium. Robots like anymal from anybotics, spot from boston dynamics or the unidog from unitree to name a few don't use PLC at all due to lack of space. Also energy efficiency, mcu at most will push less than a watt to move something complex, a motor control for the FOC, I mentioned earlier.
I worked for the past 4 years in HP siteprint.The main problem was developing all to fit inside a pelican case that you could check in on a plane. The smallest PLC was almost the full internal volume of the robot. That's why I said microcontrollers, more ready available to experiment at home, faaaaaaaar more cheaper and those two, very well documented. STM32 in europe is the big player but is harder to get into, the documentation tends to be cahotic.
If you've managed to collect some good documentation, links appreciated! Or PDFs (my Gmail username is the same as my HN username) if inclined.
Thank you!
About stm32 or the rp2040?
The ESP32. Thank you!
Though by total coincidence, it looks like I'm about to inherit responsibility for a fleet of Raspberry Pies that manage dashboards on a factory production floor. But they are older, and it's probably just going to be like managing any other low spec Debian server, albeit connected to a monitor.
> the fun and money is in the software
This could change if there are breakthroughs in AI, which is not unlikely in the coming few years. Any thoughts on that?
Mmmm true, but will not replace a good coder. The software team has been experimenting with AI. Is useful and can guide you to do a Proof of concept fast but if you want to start doing very specific custom stuff all crumbles down fast.
In the next years? Yeah I see resolving path planning without a doubt or reverse kinematics or object recognition, for example. AI will be another tool, one you have to learn to use it. But replacing a full software guy... I don't see it, to be honest. I see it more like in the novel Beyond the Blue Event Horizon. The first chapters explains AI as the AI agents that are being rolling out nowdays. But they will be more like what a junior engineer is to a senior, more than replacing a full team of engineers.
All we really need for the robotics AI revolution is to deploy many tens of thousands of well built, cheap, reliable robots sold at a profit that customers get tons of utility out of, get petabytes of data back from them while complying with data privacy regs, train a model on this data on a few thousand H200s, and then deploy that model back to the robots, repeating the cycle every few weeks. The rest will be easy.
AI trivializes coding: the complexity and scope of robot software will increase.
Robotics-oriented ML trivializes current robot design problems: demand for robotics engineers increases, the projects do cooler things but the day-to-day gets less interesting.
Both: this is probably just AGI right?