Live data from Hacker News

Robotics and ROS 2 Essentials

henkirobotics.com

51–60 of 107 posts

Re: Robotics and ROS 2 Essentials

#51

Earlier quoted context omitted.

Sure. A ROS system, being a collection of independent nodes coupled with a publish/subscribe messaging system, allows you to mix and match nodes for whatever. So as a researcher, it is great. It gives you a "good enough" robot for the 98% that is necessary infrastructure for the 2% where you want to experiment/innovate. In an commercial setting, yeah, you run into scaling issues all over the place. Also, the code qua…

One of my pet peeves with the algorithm/science ecosystem surrounding ros is that almost all of these algorithms are not usable without ROS. Deep down inside some planning algorithm, you find ros data structures, ros publishers etc. This is poorly designed code. It's like letting raw SQL queries infect an entire ecosystem of libraries. IMO, this pattern is holding robotics back. Two examples come to mind of packages…

Yeah, it makes it a real pain, because you have to rip a whole bunch out, and often there's a much smaller and cleaner library underneath, once it doesn't need to deal with the extra crap ROS inflicts on it.

Re: Robotics and ROS 2 Essentials

#52
post #36
post #34

Earlier quoted context omitted.

Highly recommend to avoid any companies that would touch ros with a 10ft pole. It's an unmitigated pile of endless shit, and any projects that don't recognize this are also.

What would you recommend instead for the ones that would be interested to start learning robotics stuff? (Not trying to be snarky but actually curious)

If you are a hobbyist, academic or garage startup, absolutely use ROS. It will take you from nothing to something faster than anything.

But, the moment you ship your first product, open your task tracker and add “Epic: Migrate off of ROS to a custom framework”.

Source: I’ve been working full time building a custom ROS replacement for a large company for several years. Results are good.

When robotics moves from the lab to the field, expensive certainty becomes more attractive than cheap flexibility.

Re: Robotics and ROS 2 Essentials

#53

I tried to use ROS2 twice in my professional career. Both times ended up with massively bloated build pipeline code, significantly longer build times, and massively bloated Docker images. Don't use ROS2. The benefits just aren't worth it. It's great for school but it's terrible for production.

I have worked in two failed and failing startups that invested heavily in ROS. I could fill several volumes with "ROS Gotchas". Everything in the ROS stack is either a useless curio or an on-fire clown car.

Using ROS is a great way to turn your project and business into a cautionary tale.

Re: Robotics and ROS 2 Essentials

#54
post #16

Earlier quoted context omitted.

Trust me, having your own crufty cobbled-together robotics code base that gets more and more insipid over time is way worse. 10/10 would start anything new with ROS.

We replaced ROS with GRPC, foxglove and our own code. Works reliably, much better to handle. Would recommend everyone else to try it

We replaced it with an open source pub/sub framework and implemented our own autonomy on top.

Works well.

Re: Robotics and ROS 2 Essentials

#55

Earlier quoted context omitted.

We replaced ROS with GRPC, foxglove and our own code. Works reliably, much better to handle. Would recommend everyone else to try it

That's really interesting. I've thought about trying to replace ROS with GRPC before too. I could never find a report of anybody actually doing that in the robotics space. Can you share more? How did it go? What pitfalls did you run into?

GRPC is very performant. A few points, ensure you have a script to compile the GRPC protobuf, ideally in docker so that you don’t pollute your local environment. That other pitfall, is don’t save raw protobuf binaries, you will face backwards compatibility issues as you change the definition of the protobuf, just write everything into MCAP’s. GRPC essentially replaces ROS messages with protobuf definitions and is not a publish, subscriber model, but you can build publisher/ subscribers out of it. It is managed by Google, used in android, web dev etc so it is very performant and reliable.

Re: Robotics and ROS 2 Essentials

#56

I tried to use ROS2 twice in my professional career. Both times ended up with massively bloated build pipeline code, significantly longer build times, and massively bloated Docker images. Don't use ROS2. The benefits just aren't worth it. It's great for school but it's terrible for production.

Sounds like your build system is the problem, not ROS.

Last time I used ROS, it forced you to use its build system. Catkin or something? It was a layer on top of Cmake.

Re: Robotics and ROS 2 Essentials

#57

For a while new grads had a severe lack of hands on ROS experience. Though many companies don't use ROS, it is so entrenched in the industry that most solutions look similar enough for transferrable skills. (Src: was hiring mgr in robotics) Highly recommend if you want to get into robotics you have ROS experience and demos / stories at hand.

Been 10 years in and around the robotics industry and I'd recommend exactly the opposite. I've assisted companies refuse to work with anything touching ROS. Most successful things I've seen in production that are with ROS use a large non-ROS core with a thin ROS layer on top for compatibility. Companies that do use ROS have needed several times the resources of those that don't, to achieve the same thing. Usually peo…

Ok, I've been 10 years in it as well, if that's important.

There's simply no reason to skip ROS as a student. My advice was not for businesses, whatsoever. And every single ROS replacement I've seen is ROS-like enough that the language ROS defined for all of us is effectively lingua franca.

But the antibodies that are triggered by even mentioning ROS should tell anyone how much it is not a fun thing to learn or work with. But it is a common touchpoint. It's really hard to understand _nearly any_ design decision in robotics software without first understanding why it isn't ROS.

Re: Robotics and ROS 2 Essentials

#58

Earlier quoted context omitted.

Sounds like your build system is the problem, not ROS.

Last time I used ROS, it forced you to use its build system. Catkin or something? It was a layer on top of Cmake.

My colleagues and I used to joke that any build system issue you encounter will be addressed in next year's build system.

* https://wiki.ros.org/rosbuild

* https://wiki.ros.org/catkin

* https://docs.ros.org/en/jazzy/Tutorials/Beginner-Client-Libr...

* https://docs.ros.org/en/jazzy/How-To-Guides/Ament-CMake-Docu...

It doesn't feel like a joke anymore.

Re: Robotics and ROS 2 Essentials

#59
post #58

Earlier quoted context omitted.

Last time I used ROS, it forced you to use its build system. Catkin or something? It was a layer on top of Cmake.

My colleagues and I used to joke that any build system issue you encounter will be addressed in next year's build system. * https://wiki.ros.org/rosbuild * https://wiki.ros.org/catkin * https://docs.ros.org/en/jazzy/Tutorials/Beginner-Client-Libr... * https://docs.ros.org/en/jazzy/How-To-Guides/Ament-CMake-Docu... It doesn't feel like a joke anymore.

You forgot ament.

Re: Robotics and ROS 2 Essentials

#60
post #44

Is ROS 2 approachable for a teenager interested in electronics and what hardware would you recommend for them (considering it as a present for a family member)?

for a teenager, I definitely wouldn't recommend Ros, unless they're already very deep into Linux, c++, build systems, etc - I'm sure there are kids out there that can handle it, but I'd say most would find Ros endlessly frustrating. I think it makes grown men cry. robot wise, I'd recommend something they can program with a raspberry pi and python, if they have some light background in programming. I had a quick look…

Can confirm. I am a grown man and my professional work with ROS has made me cry.
Post reply on HN