Live data from Hacker News

Show HN: Basis – a production focused robotics framework

github.com

31–38 of 38 posts

Re: Show HN: Basis – a production focused robotics framework

#32
post #25
post #23

Earlier quoted context omitted.

We do have https://docs.basisrobotics.tech/guide-getting-started/enviro... and https://github.com/basis-robotics/basis-examples/tree/main/c... but I want to improve our first time user experience. (we call them units)

Oh very cool. Would it be crazy to try and connect it to Gazebo?

Only a little crazy - you'd have to use ros1msg or write a ROS2 message plugin. And then link together basis+Gazebo or write a bridge (bridges aren't too hard - see https://github.com/basis-robotics/basis/blob/main/cpp/plugin...).

Re: Show HN: Basis – a production focused robotics framework

#33

Hmm, why not Cap'n'Proto? Also this seems to be multi-process like ROS. I wanna see something adopt the Isaac model of nodes and codelets.

We're single process! Multi-process is opt in (it's useful to toss your telemetry and other non-critical code in a separate process so a crash doesn't take down everything), our units are libraries by default. When you make a launch file you're actually composing together libraries at runtime. We also support passing CUDA handles (or any runtime only struct) within a process. See https://github.com/basis-robotics/basis_test_robot/blob/main... - this is a struct containing a CUDA handle, it isn't copied to CPU nor serialized unless you request it over network (ie with Foxglove) or serialize it to disk.

As for why not capnproto - I'm more experienced with protobuf. No good reason, in this case, other than popularity.

Re: Show HN: Basis – a production focused robotics framework

#34
post #33

Hmm, why not Cap'n'Proto? Also this seems to be multi-process like ROS. I wanna see something adopt the Isaac model of nodes and codelets.

We're single process! Multi-process is opt in (it's useful to toss your telemetry and other non-critical code in a separate process so a crash doesn't take down everything), our units are libraries by default. When you make a launch file you're actually composing together libraries at runtime. We also support passing CUDA handles (or any runtime only struct) within a process. See https://github.com/basis-robotics/bas…

See https://docs.basisrobotics.tech/guide-tools/launch-files#pro... - our launch file documentation needs some work, and I think it's probably good if I put the nodelet/codelet/process stuff in the main README, you aren't the first to make that assumption.

Re: Show HN: Basis – a production focused robotics framework

#35
post #33

Hmm, why not Cap'n'Proto? Also this seems to be multi-process like ROS. I wanna see something adopt the Isaac model of nodes and codelets.

We're single process! Multi-process is opt in (it's useful to toss your telemetry and other non-critical code in a separate process so a crash doesn't take down everything), our units are libraries by default. When you make a launch file you're actually composing together libraries at runtime. We also support passing CUDA handles (or any runtime only struct) within a process. See https://github.com/basis-robotics/bas…

There's at least one other good reason to pick protobuf over capnproto: they don't have real polyglot support and most folks are using at least two languages in their stack these days (https://capnproto.org/otherlang.html)

Also, if you do embedded, there's a lack of something akin to nanopb for capnproto.

Post reply on HN