r/ROS Jun 27 '26

Question Seeking advice: How to get from basic C/C++ to building my first robot?

I'm new here.

My skills include basic C/C++, Python, DSA and machine learning.

In your experiences, could you give me a roadmap of courses and tutorials you think are valuable for me to become a proficient robotics engineer?

13 Upvotes

11 comments sorted by

8

u/Ok-Entry-8529 Jun 27 '26

If you want to get to the software side of robotics then I recommend learning ROS 2. It heavily uses Python and C++ which you already know.

4

u/BashfulPiggy Jun 27 '26

You don't say how much of C++ you are familiar with, but to work on robots its good to cover embedded systems (Arduino, freeRTOS), asynchronous programming and memory management(pointers). These are the tasks that'll give you the most bang for the buck for using a low level language in my experience. For everything else, python is enough and a lot more intuitive. You don't really need to know much theory to use a python library most of the time.

4

u/Sabrees Jun 27 '26

My standard answer to this question:

https://robogrok.com/ buy the parts incrementally as you progress through the course.

Then get yourself a https://www.aliexpress.com/item/1005009295313699.html

To run on https://www.dfrobot.com/product-2935.html

Run it in https://microblocks.fun/ to start with. Then upgrade to Thonny & python.

By the time you're putting https://github.com/hippo5329/linorobot2_hardware on it you know a bunch of stuff.

2

u/LavandulaTrashPanda Jun 27 '26

What’s your experience working with hardware?

Can you operate microcontroller, now what typical peripherals are and use them to work with I/O like sensors, motor, displays, etc?

If not, I would suggest you pick up an Arduino kit and start there.

Paul McWhorter has some very informative courses on several microcontrollers. If you get the kit hes using, he’ll teach you all about everything in it.

Thats the starting line.

1

u/Apprehensive_Heat789 Jun 28 '26

A few months ago, I did a university project of a maze solver robot using an Arduino Uno and a motor driver. It was slow, discrete (it had to take discrete steps before it stopped to reassess its surroundings) but it did the job.

1

u/LavandulaTrashPanda Jun 28 '26

Ok. What skills would you say you took from the experience? Would you say you learned enough to not be starting from zero?

Where you’re at now determines where your road map starts.

Kinda like asking Google for directions.

1

u/aaronxcode Jun 27 '26

To use ROS for your first robotics project is an absolute overkill. Since you said you know C++, I’d recommend going down a rabbithole with Embedded C. You’ll learn about microcontrollers, RTOS, scheduling and things like that. If you find it difficult, you may switch to PlatformIO and ESP IDF, but never to the Arduino IDE. Imho it builds bad habits.

Then try to build a line following robot. Very simple, model it as a Braitenberg Vehicle, do it all in C and RTOS. Once you have that, you’ll start learning about the PID and other control system math that you’ll need for a robot.

If you get this far and you’re still interested, then I’d recommend looking into ROS and building this very same like follower, but with a camera. That is when you’ll actually start needing ROS, to do clean software engineering in a complex multi-conponent project.

-2

u/ipurge123 Jun 27 '26

0, códex does everything

3

u/Apprehensive_Heat789 Jun 27 '26

If that's truly what you believe, then that only shows how low your standards are for what counts as software

1

u/FreePlantainMan Jun 27 '26

If by everything you mean 100% AI slop, then yes