Live data from Hacker News

Towards robot accelerators, democratizing hardware acceleration in robotics

news.accelerationrobotics.com

21–30 of 48 posts

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#21
post #4

While hardware accelerators in robotics are very cool, and needed. The fact that the entire workflow is ROS2 centric is a bummer. FPGA and Accelerator Programming is already a huge PITA, and despite it's success ROS is really one of the worst frameworks I've ever used in terms of DX. It makes an already hard problem, needlessly harder. I wouldn't be surprised if they developed their own FPGA programming environment b…

That's exactly what this work does while remaining ROS 2-centric (with C++, CMake extensions and other friends). Goal in this research was to provide a way for the path of least friction for roboticists.

There's a huge gap between robotics development (more sw-centric today) and the average hardware engineer in big semiconductor companies. Totally different perspectives and viewpoints. We felt bridging the gap was necessary.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#22

As a controls engineer who has implemented and assisted with dozens of robotic manufacturing cells, the problem isn't the motion planning or compute, it's legacy product support and ease of onboarding new hires. Any given cell may be in production for 10 years - some only for 5, but some for 20 or more - and you need The problem is that academia is working in ROS (now ROS 2), writing Python and VHDL, while the real w…

After reading this, I'm persuaded this space would benefit greatly from having a few dominant open-source software frameworks and a few dominant open-source hardware standards, making product support and new-hire onboarding much easier for vendors of all sizes. Alas, I recognize that no established vendor in the space would ever want to see the emergence of industry standards. :-P

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#23
post #22

As a controls engineer who has implemented and assisted with dozens of robotic manufacturing cells, the problem isn't the motion planning or compute, it's legacy product support and ease of onboarding new hires. Any given cell may be in production for 10 years - some only for 5, but some for 20 or more - and you need The problem is that academia is working in ROS (now ROS 2), writing Python and VHDL, while the real w…

After reading this, I'm persuaded this space would benefit greatly from having a few dominant open-source software frameworks and a few dominant open-source hardware standards, making product support and new-hire onboarding much easier for vendors of all sizes. Alas, I recognize that no established vendor in the space would ever want to see the emergence of industry standards. :-P

What this field really needs is a massive push. The reason it always fail to deliver is that the incentive system is screwed. We need something like a Manhattan project capital allocation to a few very talented people to make progress. Building endless frameworks and trying to get thousands of people to cooperate on high level decision making dooms the whole endeavor. The risk for product development is too high for private industry to take and academia can't deliver products.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#24

Did you know it takes almost a hundred ms for a signal to go from your fingers to your brain? Did you know that the brain is constantly predicting the future to make up for its slow reaction time? Did you know even small computers are really really fast? If you did then you'd probably guess that initiatives like this are a waste of time and money. The difficulty is in the software, not the hardware, or the compute la…

The human brain does what it does with roughly 20 watts, if we take the popular figure of the brain taking 1/5th the power of your whole body and the average human body burning 100 watts. How much neural net can you run on silicon with 20 watts?

TBF it takes human brain anywhere from several months to decades to train for its skills. Plus several hundred million years spent on pre-training.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#25

Earlier quoted context omitted.

The human brain does what it does with roughly 20 watts, if we take the popular figure of the brain taking 1/5th the power of your whole body and the average human body burning 100 watts. How much neural net can you run on silicon with 20 watts?

TBF it takes human brain anywhere from several months to decades to train for its skills. Plus several hundred million years spent on pre-training.

Sure it's not fair, but there's no handicap in this game. Silicon isn't given any leg up for being millions of years late. Raw results are what really matters, not results weighted by whatever criteria would render the comparison subjectively fair.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#26

Did you know it takes almost a hundred ms for a signal to go from your fingers to your brain? Did you know that the brain is constantly predicting the future to make up for its slow reaction time? Did you know even small computers are really really fast? If you did then you'd probably guess that initiatives like this are a waste of time and money. The difficulty is in the software, not the hardware, or the compute la…

I agree that one of the major aspects to improve in robotics is software. There's still a lot do there and many are working towards it. Most leading initiatives around ROS 2. I also believe that we need faster robotics simulation, and hardware acceleration will be valuable there, not only with GPUs, but also other accelerators (e.g. FPGAs outperform GPUs in many benchmarks both performance and energy consumption-wise).

I strongly disagree with the rest and your comments indicate a clear lack of (hardware) understanding. I often encounter this in the AI world. Where folks building ANNs just "forget" that this computational abstraction only "grew in popularity" (there were previous accelerators though) when CNNs got implemented as an accelerator in a GPU empowering newer results. The same's likely to happen in robotics.

Robots are real-time systems. Meeting time deadlines in their computations is the most important feature. (robot) Behaviors often take the form of computational graphs, with data flowing between compute abstractions (Nodes), across physical networks (communication buses) and while mapping to underlying sensors, compute technologies and actuators. ROS enables you to build these computational graphs and create robot behaviors by providing libraries, a communication infrastructure, drivers and tools to put it all together.

From a more technical compute architecture perspective, ROS 2 presents an event-driven programming interface. The resulting computational graphs built with it are "event-driven software architectures". Mapping these event-driven software architectures to hardware using CPUs leveraging classic control flow architectures (von Neumann architectures) leads to various issues. A key challenge in applying classic event-driven programming is that CPUs hardly provide real-time and safety guarantees. The de facto strategy in industry to meet the timing deadlines is a laborious, empirical, and case-by-case tuning of the system. This “whack-a-mole” approach is being realized by some, but unsustainable and hard to scale due to the lack of a hardware-supported timing-safe even driven programming interface. This is where accelerators come in. As already adopted in other industries including aerospace, automotive and healthcare, through the creation of custom compute building blocks (accelerators), a hardware/software co-design strategy provides clean behavioral specifications, describing clearly its guarantees in terms of timing (in other words, avoiding memory-centric von Neumann architectures).

Hardware is important. Note the current scarcity of semiconductors, which is one of the drivers of this research. Note also that creating custom accelerators for robotics application not only can lead to performance improvements (i.e. software that runs faster!) but also to more deterministic responses (which affects the downstream pipeline of software!). Rephrasing Alan Kay's quote, if you're serious about robotics, you should care about hardware ;).

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#27

As a controls engineer who has implemented and assisted with dozens of robotic manufacturing cells, the problem isn't the motion planning or compute, it's legacy product support and ease of onboarding new hires. Any given cell may be in production for 10 years - some only for 5, but some for 20 or more - and you need The problem is that academia is working in ROS (now ROS 2), writing Python and VHDL, while the real w…

Well said. Robotics is indeed the art of system integration and such remains (and will) one the biggest tech hurdles.

We wrote about this, and raised-funding, and worked for years on it. Hell, we even created an extension of ROS for it called the "Hardware Robot Operating System" (H-ROS) that aimed to address many of these issues you describe using ROS as the common language and Programmable Logic (FPGAs) to deal with physical interfaces. More on this at https://ieeexplore.ieee.org/document/8046383.

Problem was that the market didn't really accept it. I still believe on the tech problem landscape in here. I'm just not so sure anymore if there's any real market/business for such a solution. After all, vendor lock-ins are great business, and generate business.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#28
post #22

As a controls engineer who has implemented and assisted with dozens of robotic manufacturing cells, the problem isn't the motion planning or compute, it's legacy product support and ease of onboarding new hires. Any given cell may be in production for 10 years - some only for 5, but some for 20 or more - and you need The problem is that academia is working in ROS (now ROS 2), writing Python and VHDL, while the real w…

After reading this, I'm persuaded this space would benefit greatly from having a few dominant open-source software frameworks and a few dominant open-source hardware standards, making product support and new-hire onboarding much easier for vendors of all sizes. Alas, I recognize that no established vendor in the space would ever want to see the emergence of industry standards. :-P

It definitely would. RoboDK is one product that is moving in the right direction.

In the PLC space, Beckhoff controllers using commodity x86/64 hardware and standardized IEC 61131 programming languages are gobbling up Rockwell and Siemens' market share.

Given they're perpetually about 20 years behind the times, perhaps this year someone at Fanuc, ABB, Kuka, and Yaskawa will catch up to the year 2002 and read Spolsky's admonition [1] that says:

> Smart companies try to commoditize their products’ complements.

Stop trying to turn every division of your company into its own product center. I loathe paying $800/year to Rockwell for the privilege of reading "update your firmware" (and subsequently bricking my controller as an unwilling beta tester) on TechConnect. They're a PLC vendor, they should focus on selling PLC hardware, not making their customers hate them by nickel-and-diming them for software licenses and support contracts. They were down for FOUR DAYS this weekend for planned maintenance. FOUR DAYS!

Likewise, Fanuc should focus on selling servos and castings - robotic manipulator hardware - and stop trying to get the training division to turn a profit. If, instead of a 40 hour course costing $2,000, it was free, there would be more people able to use their $40,000 robot arms! If Roboguide software was free instead of $2,650, clients could more efficiently build more robot cells, and sell more yellow paint! Gah!

[1] https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#29
post #6

Earlier quoted context omitted.

What would you use instead of ROS?

Use ROS 2. The misconceptions about ROS have been mostly addressed with ROS 2. Check out industry adoption of ROS 2 in various industries including automotive, healthcare and warehouse automation. ROS 2 is (and will remain as) the de facto standard for robot application development.

The issue with ROS are mostly cultural, and heavily ingrained into the community. ROS2 isn't going to fix that and has been shown to repeat the same mistakes of ROS.

The atrocious build system has stayed the same. People continue to add even more brittle automagic to the pile. (.e.g. automagic compilation of C++ to FPGAs)

The grown semi ad-hoc messaging semantics for services has stayed the same. Even if DDS was an acceptable foundation, adding a ROS message translation layer and ROS semantics on top of a perfectly valid schema language is bringing the same pitfalls that Object Relational Mappers have, in that you now have to understand three systems, the source, the compiler, and the target. And given that ROS1 had a 'wontfix' issue on the message schema checksums being computed wrongly (ignoring the cardinality of fields), which could result in your robot literally ripping your head of when it received messages from two different library versions, I don't trust anybody from the community to get it right this time.

The whole DDS vendor based ecosystem is antithetical to open source. The DDS standard is way too big, and a bunch of vendors meeting every couple years to demonstrate that their systems can send messages about shapes between one another simply doesn't cut it to prove correctness.

ROS(2) is an attempt to make C++ more easy by layering automagic and complexity on top. Most robot shops I know waste most of their time fighting that magic and complexity. The other ones don't use ROS(2).

ROS should have been:

* A bunch of libraries (not frameworks) to solve robotics, vision, and knowledge representation related tasks.

* A bunch of best practices to work with common middlewares, none of which are developed as part of ROS.

* A repository of competing data schemata for the above libraries and middlewares to facilitate interoperability but allow for experimentation.

* Dataviz libraries for common notebooks, e.g. jupyter, observablehq, that work with the common data schemata.

Instead we got one of the hairiest C++ projects and a bunch of shell scripts to open your default text editor more conveniently. Yay.

Re: Towards robot accelerators, democratizing hardware acceleration in robotics

#30

As a controls engineer who has implemented and assisted with dozens of robotic manufacturing cells, the problem isn't the motion planning or compute, it's legacy product support and ease of onboarding new hires. Any given cell may be in production for 10 years - some only for 5, but some for 20 or more - and you need The problem is that academia is working in ROS (now ROS 2), writing Python and VHDL, while the real w…

What are your thoughts on OPCUA? That's the direction they're trying to get to having different vendors be able to talk to each other as it's all pretty much federated.
Post reply on HN