Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Suppose I've got a motor, a motor driver, and an Arduino. How does ROS work with that?

It does not, ROS is for much bigger systems, usually Linux-based. Some things it can give you:

- IPC for multiple independent processes. So if your navigation process crashes, your drivers and controller still operate. Can save some time if your stack is slow to start up.

- Visualizer - not the best out there, but kinda-working. And because of previous item, you can keep it off (to save CPU) and only start if needed.

- Device drivers for some devices. Those would be "research grade" - any problems would be ignored and may result in invalid data, or they can crash, or be very inefficient... But good enough to get started.

- Logging/replay - log data to file, replay later. Again, research grade - there is no schema evolution (at least in ROS 1), so the moment you add new field, throw away your old logs. You can also use it to make whole-system tests, but because there is no explicit sync, those tests would be janky and flaky.

- some pre-made modules, like localization

it's a lot of small pieces, good enough to start or for prototype, but not for the more "production" robots.

As far as alternatives... All orgs I have seen do their own. Some of them start with ROS and eventually replace every part, others start entirly from scratch.



ROS 1 had schema evolution (rosbag migration) 15 years ago




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: