Live data from Hacker News

$100 robot kit running ROS2 and Navigation2

blog.hadabot.com

1–10 of 30 posts

Re: $100 robot kit running ROS2 and Navigation2

#2
I'm really struggling in learning ROS in a systematic way. The tutorials are all over the place and somehow unorganized IMO. When trying to replicate stuff on my machine, all kinds of weird errors pop up.

Honestly, I don't even get what ROS is about? Like it seems it is an "amalgamation" of tools and scripts to create a general API with some ideas of robotics application in mind. Also the naming of its stack seems weird to me: tf2, MoveIt!, the over-loading of terms like joint controller, robot controller, etc...

If anyone can point me to a free, coherent and hands-on study plan or guide with exercises that actually build and run fine that would be awesome.

Re: $100 robot kit running ROS2 and Navigation2

#3

I'm really struggling in learning ROS in a systematic way. The tutorials are all over the place and somehow unorganized IMO. When trying to replicate stuff on my machine, all kinds of weird errors pop up. Honestly, I don't even get what ROS is about? Like it seems it is an "amalgamation" of tools and scripts to create a general API with some ideas of robotics application in mind. Also the naming of its stack seems we…

This is exactly what I'm trying to address with Hadabot. A systematic / opinionated way to learn ROS (specifically ROS 2), understand its significance, in a hands-on manner, with a real robot. The next milestone for Hadabot is a very simple introductory ROS robotics curriculum / syllabus that is not as intimidating as a MOOC, requires low mental load to get started and reach various milestones. Lots of hard work ahead to get this right! Don't hesitate to reach out w thoughts and opinions - jack AT hadabot DOT com - Jack

Re: $100 robot kit running ROS2 and Navigation2

#4

I'm really struggling in learning ROS in a systematic way. The tutorials are all over the place and somehow unorganized IMO. When trying to replicate stuff on my machine, all kinds of weird errors pop up. Honestly, I don't even get what ROS is about? Like it seems it is an "amalgamation" of tools and scripts to create a general API with some ideas of robotics application in mind. Also the naming of its stack seems we…

I can't offer any modern links, but some background and framing that might help a bit.

Disclaimer: Everything to follow circa-2010. Modern ROS* may be substantially different.

First, and most importantly, "Why ROS?" To which one might reply "To run robots," but that's not really why.

Historically, ROS' purpose is so that researchers can avoid rewriting boilerplate linking / low-level code, and reuse high-level components developed elsewhere.

To that end, ROS provides two main functional components: a standardized message bus, and a somewhat-structured framework into which one can plug arbitrary modules. So yes, closer to an API/spec than an OS.

So the easiest way to think about ROS (the base framework) is as a no-batteries-, no-motor-, no-X-included kit. Bring your own everything. And for values of everything, where there is likely some component out there that does X... but that component isn't ROS.

So you (as it sounds like) essentially end up with the JavaScript ecosystem problem, except moreso. Do I use X or Y for this purpose? Does X integrate cleanly with A? Does Y?

When you look at ROS as something useful to a PhD student pursuing their robotics dissertation on SLAM, but who doesn't want to write all the other bits, it makes a bit more sense.

Re: $100 robot kit running ROS2 and Navigation2

#5
I'm trying to figure out what ROS2 is -- judging by the docs and tutorials it seems like a very low level and abstract piece of complex software but I'm struggling to understand its practicality.

Can someone provide an ELI5 or like a few sentences of a "pitch" style overview?

Re: $100 robot kit running ROS2 and Navigation2

#6
post #5

I'm trying to figure out what ROS2 is -- judging by the docs and tutorials it seems like a very low level and abstract piece of complex software but I'm struggling to understand its practicality. Can someone provide an ELI5 or like a few sentences of a "pitch" style overview?

ROS is a helper framework, for people who would otherwise be implementing low-level embedded interfaces to arbitrary hardware, so that they can share more of their work.

It's like Rails, if instead of targeting the web your deployment platform were an unmanned autonomous submarine vehicle.

And you needed to support a donated Russian sonar, some second-hand one-off logic boards, some sensors you soldered together in your lab, and implement a navigation algorithm you only have in research paper form.

Re: $100 robot kit running ROS2 and Navigation2

#7
post #5

I'm trying to figure out what ROS2 is -- judging by the docs and tutorials it seems like a very low level and abstract piece of complex software but I'm struggling to understand its practicality. Can someone provide an ELI5 or like a few sentences of a "pitch" style overview?

Basically ROS is a collection of libraries, mostly for and by researchers for interfacing with and controlling robots.

Libraries exist at different levels of abstraction, but it is for the most part not exactly plug-and-play.

It's super useful if you are for example building robots in an academic lab, say, or re purposing existing hardware & software. The further you get from that environment, the less obvious the fit will be. But if you are playing around with robotics, ROS can help you avoid reinventing a whole bunch of wheels just to get started.

Re: $100 robot kit running ROS2 and Navigation2

#8
post #5

I'm trying to figure out what ROS2 is -- judging by the docs and tutorials it seems like a very low level and abstract piece of complex software but I'm struggling to understand its practicality. Can someone provide an ELI5 or like a few sentences of a "pitch" style overview?

The short elevator pitch in my "unofficial" over-simplified own words - "ROS is framework to program complex robotics applications that encourages modularity and shareability of modules. ROS is to robotics development what Django/Rails is to web development."

ROS2 is version 2 of the original ROS framework.

As a results of the ROS framework, a number of modules (packages in ROS-talk) for complex robotics algorithms, functionality has been implemented by companies / the community and shared among each other.

For instance, Hadabot reuses the Navigation package (along with many others) that has been pre-impremented which allows me to employ many robotics functionalities without having to re-invent the wheel.

Re: $100 robot kit running ROS2 and Navigation2

#9

I'm really struggling in learning ROS in a systematic way. The tutorials are all over the place and somehow unorganized IMO. When trying to replicate stuff on my machine, all kinds of weird errors pop up. Honestly, I don't even get what ROS is about? Like it seems it is an "amalgamation" of tools and scripts to create a general API with some ideas of robotics application in mind. Also the naming of its stack seems we…

I have this exact same problem. I'm not exactly sure why, but finding useful examples has been a serious pain point for me. It seems like there's a serious dearth of material between the "here's the absolute smallest thing you can do" and "now we're going to built the F-35, but with ROS!". Like, I want to subscribe to and manipulate the value in a topic. Fine. But how about two topics in the same program? All of a sudden my code won't compile and the tutorials aren't helpful.

Especially with the release of ROS2 (which, frustratingly, seems to be rarely stand-alone, in that the learning process often references or links to ROS(1) code through things like rosbridge), it's just been a frustrating experience. If someone were to release a paid textbook walk-through that actually explains it in a systematic, stand-alone, way with linked repositories, I'd buy it tomorrow.

Which, I suppose, is sort of exactly where this kit is aimed!

Re: $100 robot kit running ROS2 and Navigation2

#10
post #5

I'm trying to figure out what ROS2 is -- judging by the docs and tutorials it seems like a very low level and abstract piece of complex software but I'm struggling to understand its practicality. Can someone provide an ELI5 or like a few sentences of a "pitch" style overview?

ROS itself is basically a glorified message bus, and the ecosystem around it allows you to quickly cobble together a robot from disparate parts (use one thing to publish frames from your specific camera model, feed it into some other module that does SLAM).

Very popular in research, so in practice little of it really works together, much is abandoned and most stuff barely compiles. Lately there have been "smart" people thinking they can just install ROS and presto robot AI startup. These people are in for a harsh lesson.

Post reply on HN