Robotics and ROS 2 Essentials
19 comments
·January 17, 2025margalabargala
throwup238
Can you explain what ROS does/is to the uninitiated? Why is everyone still using it if its such a trainwreck?
liendolucas
I suffer it so much every single time I have to interact with it that sometimes I really really want to do something else, but I can't. Unfortunately is not my call, is part of my job. I have already made my opinion about ROS in a previous thread, but another user synthesized it very clearly: it's a trainwreck. Now we can be more precise: it's an academia trainwreck tool.
oarfish
Trust me, having your own crufty cobbled-together robotics code base that gets more and more insipid over time. 10/10 would start anything new with ROS.
sashank_1509
We replaced ROS with GRPC, foxglove and our own code. Works reliably, much better to handle. Would recommend everyone else to try it
forrestthewoods
What is your opinion of ROS? I can’t find the previous thread you mention.
contingencies
ROSCon Macao, 2019. As a time hack (our food robotics R&D facility, the "Noodleplex", was right across the border) I dragged all the academics down to the best bar (little resistance offered) instead of attending. While an interesting set, I was gobsmacked how little industrial nous attendees had and came to form the opinion that ROS use goes hand in hand with a "ROS can do CV ... everything is a nail" mentality. CV is a niche tool. Deployed, commercially relevant engineering generally uses something else unless the explicit system goal is visual input, because something else is always faster, cheaper, more reliable and has a supply chain stability half life greater than six months.
jvanderbot
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.
brutus1979
I'm really intrigued by robotics as future career. How would you rate it for the next 10-15 years? I'm seriously thinking of investing in a masters degree focused on robotics (CMU). I'm close to 50 and already have a cs PhD. Just intrigued by it and feel it might have a longer career (when it takes off).
sashank_1509
Wow, you’re still interested in learning at close to 50. That’s commendable. I did my masters at CMU robotics, and I would recommend doing it. Most students will be under 30, but CMU is a very practical school with an actual focus on building and programming robots, so if you’re proactive you can wet your feet plenty during your masters programme. Don’t expect to learn much from courses though, most of the learning happens in your off time in robotics projects or when doing robotics research with professors, and in that CMU is really good
liendolucas
Robotics is a very hard topic. If on top of that you add ROS which almost everyone is using you will end up very disappointed and without much enthusiasm to do robotics at all. My major criticism to ROS is that because robotics is already hard, ROS does not make it a single bit enjoyable or easy, all the opposite as a matter of fact.
corysama
Robotics is already taking off. It’s just not evenly distributed. I think several companies are being highly optimistic in their projections of millions of humanoid robots in five years. But, I think it’s the common mistake of overestimating the short term and underestimating the long term.
f1shy
You have a CS PhD? I highly doubt you can learn something there. If it is about knowledge, find out what books are used in the masters. With a PhD you must be able to learn yourself
fyhn
Those of you who use ROS in production, do y'all use ROS 1 or 2? Do you maintain your own fork? I'm curious how people do this, with the upcoming Noetic deprecation.
f1shy
Where I was, 1 was standard, 2 experimental and nothing worked really. Slowly a half assed, bug ridden internal implementation of ROS 2 was started… a sh*tshow to be honest. The discontinuity between R1 and R2 was for me just unacceptable, unprofessional and just awful.
If I could decide (and in the area where I am, we did) I would ditch the whole thing. After all, if you squint, ROS is a collection of things:
- a launcher (which is a very bad scripting language embedded in horrible XML). Can be very easy be substituted by some python or shell scripts. - a description language of messages, that can be read by C, Python and Lisp; can be substituted by raw sockets or google protocol buffers or whatever. - a parameter/configuration distribution system, which can be implemented based on libconfig (https://github.com/hyperrealm/libconfig)
All that options are pretty much standard, stable and well supported, with bindings for any mainstream language.
I would run away from ROS2 to avoid another disaster when ROS3 comes.
exe34
hi, I've dabbled in robotics from a hobbyist perspective, and I've gotten as far as installing ROS and following some tutorial and online courses a few times.
I agree with what you said about launcher/ipc/config - my plan if I ever use Ros is to keep it in a box and use my own communication layer to connect with things in various environments (rather than trying to solve incompatible conda environments).
however one thing you've missed, which may well be the biggest offer from Ros and the reason why I haven't sworn off it entirely is the library of robotics functionality such as SLAM and various planning algorithms.
in your opinion, are these at least well implemented? would they be easy to rip out and run separately?
im_down_w_otp
What's that old robotics industry saying?
"You either die trying to scale ROS to production, or you live long enough to repeatedly reinvent it?" - Johnny 5
wslh
Based on the Andino robot project [1] the price is greater than USD 250 [2] I wonder how far we can push the price down for schools. For example, putting an [old] mobile phone (with a camera and replacing the battery), and moving to ESP32 and use another OS.
[1] https://github.com/Ekumen-OS/andino/
[2] https://docs.google.com/spreadsheets/d/1TMbENKlHr4g9bBA-EPNu...
While it's used in industry sometimes, ROS is really one of those by-and-for-academia tools. There's a reason it's near-universally reviled, and why "migrate off of ROS" is a standing goal at a lot of robotics companies.
There's also a reason why it's a standing goal, rather than a completed goal.
It does little or nothing really well, but it does everything kind of okay.
There's a lot of "alternatives", most of which do something much better, sometimes much much much better, than ROS, but none of which can replace it all completely. PyRobot, Viam, OROCOS, Webots, all of these do some things much better than ROS, but none of them can drop in and easily replace everything without a lot of developer time, often adding new features to the platform.