upvote
It is wild to me out the embedded engineering and robotics communities are isolated. Robotics includes mechanical engineering not part of embedded, but it seems the tools, outlook, and approaches between the two are different.

Starting, but not limited to a "T".(ROS: Robotics community; RTOS: Embedded community)

Involving anything managed by a GPOS (e.g. Linux) in robotics is something I would use with extreme caution, and for limited cases like a CV module.

reply
I'd also suggest starting with Arduino, but also recommend moving towards STM32 for doing more advanced stuff. The hardware abstractions Arduino imposes can get really annoying once you start doing more advanced timing dependent stuff.
reply
good advice, im yet to take the plunge into robotics but it seems like the way you make things move is with motors so best to learn about those, how to power them, how to control them, then stick a bunch of them together in a coordinated way and you have a robot!
reply
Nth-ing the ROS thing. That garbage needs to gracefully back itself into a pool of lava.
reply
The thing that most people don't appreciate is that ROS was co-designed with the PR2, which had a very idiosyncratic architecture: two separate computers in the base, ethercat for comms, not at all modular, and very high end parts (for 2010ish). Most of the weirdness of ROS looks less weird in light of the design of the PR2, and most of the evolution of ROS was to get away from the PR2 model for more general platforms.

If you were in robotics prior to 2010, you probably would have used something called Player/Stage (by some of the same people who developed ROS). Believe it or not, another big motivation for ROS was solving the (many) problems that popped up as people tried to get Player/Stage running with robots like the Pioneer 3-DX.

reply
ROS is dozens of projects crammed into a single workspace. Avoiding this ecosystem will not work in your favor in the long term.

* robotic software projects are often abandoned, and only ROS keeps the driver packages working

* Yes it is terrible, but the alternatives are even worse

Almost all modern reasonably good platforms will already offer a tested ROS configuration. Even the UR5 had simulation and control options out of the box.

People can't avoid standards.. even the awful ones.. =3

reply
Yeah, for professional robotics you just accept that this is the world we live in. But for learning and hobbyist stuff, it's better to play with simple hardware and build the things that ROS is ultimately abstracting over before you try to pick up ROS.

I've seen people get sucked into ROS + simulation who end up never touching real robots. Which is fine if that's what you want to play with, but it's debatable if "ROS + sim" alone is even "robotics."

reply
I usually recommend building the Arduino turtle-bot first, try the maze solver with the classic wavefront algorithm, and then a ROS Arduino setup tutorial.

Also not a fan of simulators for simple platforms, as a lot of stuff breaks when the environment is chaotic. =3

reply
I'd enjoy if someone could elaborate, in the style of Erik Naggum ideally.
reply
I was at a ROS conference a few years ago. A presenter went up and gave a talk about lidar and point clouds, speaking about how obsolete optical cameras were now that lidar was readily available.

The next person gets up and gives a talk about all the advancements in generating point clouds from optical cameras.

By far the best part is how tied to specific versions of Ubuntu each ROS release is, just getting all the packages installed and running requires sacrificing a cat while chanting Hail Mary backwards in Latin.

reply
> By far the best part is how tied to specific versions of Ubuntu each ROS release is, just getting all the packages installed and running requires sacrificing a cat while chanting Hail Mary backwards in Latin.

100% this. I had a very, very miserable time setting up two systems and trying to get them running a version that was supported. The worst part is SBCs that stop getting OS updates and become permanently locked in to a specific version. Which also forces the rest of your hardware to use the same version. Using a Jetson Nano with Ubuntu 18.04 in 2022 was lots of fun...

Last year I met a couple of university students working on a robot and out of curiosity I asked what they were using as a microcontroller and the software stack. They were running ROS. When they said they still hadn't upgraded to ROS 2 yet, I could feel their pain...

reply
IMO the worst part about canonical having a tight grip on it.

Reinventing the build chain every other year is miserable too.

reply
Cameras have all the same problems of lidar, and none of the advantages. Show a lidar a 45' mirror/weather-glass to test what your $60k bought.

Monocular feature extraction has been around for decades, but is only reliable for people that never go outside in the sun/dust/rain. =3

reply