Live data from Hacker News

Robotics Development Environment with ROS in C++ and Python

github.com

11–20 of 59 posts

Re: Robotics Development Environment with ROS in C++ and Python

#12

If you want to really enjoy the ingenuity of people that otherwise might be considered "simple", check out the ROS for Agriculture group and slack channels. People converting 70s and 80s era farm equipment to be automated, and it's pure gold.

any specific links to these groups??

Re: Robotics Development Environment with ROS in C++ and Python

#13

If you want to really enjoy the ingenuity of people that otherwise might be considered "simple", check out the ROS for Agriculture group and slack channels. People converting 70s and 80s era farm equipment to be automated, and it's pure gold.

any specific links to these groups??

Website: http://rosagriculture.org/ Slack: http://rosagriculture.slack.com/ GitHub: https://github.com/ros-agriculture Twitter: @ROSAgriculture YouTube: https://www.youtube.com/channel/UCnr6AObsHnHSGPge0HVlBpA

Re: Robotics Development Environment with ROS in C++ and Python

#14
post #2

I was reading up on ROS the other day when the thought occurred that Erlang is, in many ways, similar to some of the core functionality of ROS, and might be a good substitute for [parts of] it.

I was wondering about the same, and have been trying to seek prior work along those lines. Here's what I've come across so far, regarding use of Beam VM (Erlang/Elixir) for robotics:

1. Nerves seems like a promising platform: https://nerves-project.org/

2. There's also Grisp ("Erlang on bare metal")

3. Jean Francois Cloutier's DDD talks on using Elixir for behavioral robots (3 annual updates; I really liked these)

4. A handful of talks on YouTube when searching for "erlang robotics" or "elixir robotics", but I haven't had a chance to check out all of them yet.

The superficial catch is that most ML progress in the recent past has focused on exploiting data parallellism (SIMD; rather than concurrency / task parallellism), and I don't know whether Erlang is as great at that. But supposedly it has a very good FFI, because it was designed to interface nicely with C programs running on network equipment.

ROS "feels" like clunky/heavy scaffolding for what should be simple and transparent plumbing. Instinctively, the Erlang VM seems like the perfect platform for building an agent doing fault tolerant concurrent computations -- but I don't have any Erlang/Elixir experience. I'd love to hear about any other pointers, or discussion along these lines.

Re: Robotics Development Environment with ROS in C++ and Python

#15
post #7
post #2

I was reading up on ROS the other day when the thought occurred that Erlang is, in many ways, similar to some of the core functionality of ROS, and might be a good substitute for [parts of] it.

It’s true, the reason for choosing C++ and Python as first class languages is because of their strength in numerical computing and AI capabilities (for python anyway), which erlang mostly lacks. It would definitely be cool to be able to use erlang though.

No offense (I use Python all the time), but Python seems almost like the worst of all worlds, except for ease of use in the first month of using it -- with its only advantage being library inertia (which is a massive advantage in practice though).

As eg: here's an excellent talk on the cruft in Python internals by Armin Ronacher: https://www.youtube.com/watch?v=qCGofLIzX6g

For more discussion on why Python is slow: https://news.ycombinator.com/item?id=12025309

There is, after all, a graveyard littered with big-money attempts to speed up (mutually incompatible) subsets of Python.

But lack of inertia not something that should deter someone seriously invested (after all, Google/FB created Tensorflow/Pytorch respectively, and now Google might be getting behind Swift). It's a judgement call on whether one feels that most of the work/innovation still needs to be done, or is already done. If it is yet to be done, building on top of a better platform is almost a no-brainer.

Re: Robotics Development Environment with ROS in C++ and Python

#17

If you want to really enjoy the ingenuity of people that otherwise might be considered "simple", check out the ROS for Agriculture group and slack channels. People converting 70s and 80s era farm equipment to be automated, and it's pure gold.

People who would regard farmers as 'simple' don't know any real farmers.

Re: Robotics Development Environment with ROS in C++ and Python

#18
post #14
post #2

I was reading up on ROS the other day when the thought occurred that Erlang is, in many ways, similar to some of the core functionality of ROS, and might be a good substitute for [parts of] it.

I was wondering about the same, and have been trying to seek prior work along those lines. Here's what I've come across so far, regarding use of Beam VM (Erlang/Elixir) for robotics: 1. Nerves seems like a promising platform: https://nerves-project.org/ 2. There's also Grisp ("Erlang on bare metal") 3. Jean Francois Cloutier's DDD talks on using Elixir for behavioral robots (3 annual updates; I really liked these) 4.…

Sadly I know very little about about ROS considering I'm personal friends with one of the maintainers. One of the more exciting things about nerves is that they are making it "easy to do the right thing" in terms of using end to end encryption for all of the parts of your nerves network when you deploy.

I would say that ffi on elixir is... Hard. Not impossible. (I'm currently writing a zig ffi library that aims to make it as painless as inlining the ffi code) If you're an abject beginner at both elixir and robotics I don't recommend going beyond what nerves has to offer off the shelf. If you're an expert in one of either the underlying robotics c interfaces or elixir, I think writing your own ffi might be neat and worth giving a go. The documentation on how to do things isn't terrible.

Re: Robotics Development Environment with ROS in C++ and Python

#19
post #9

Can this be easily setup on Windows? Was my biggest obstacle to using ROS in the past.

I've never tried it, so I don't know how easy it is, but there has been a lot of work recently to improve ROS on Windows: https://microsoft.github.io/Win-RoS-Landing-Page/

Why?

Re: Robotics Development Environment with ROS in C++ and Python

#20
post #11

Can this be easily setup on Windows? Was my biggest obstacle to using ROS in the past.

Are you using WSL? It's usually good enough to make linux only software run without any issues.

It's probably not very smooth and stable if you need stuff like RViz, RQt, etc.
Post reply on HN