Hacker News new | ask | show | jobs
by iandanforth 1425 days ago
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 layer. With good algorithms our current crop of robots are already fully capable of producing trillions more in economic value than they do today.

We do not need hardware acceleration in robotics. Can we use it if it exists? Sure, but do we care about "democratizing" it? No.

There is a place for hardware acceleration in robotics that is making a huge difference and that's in simulation. GPUs, the once and future king, make training robust neural networks possible and fast. If you're an investor reading this who needs a reminder, bet on software.

3 comments

Did you know that for predicting what you'll see 100ms into the future you need a level of real-time 3D recognition and world knowledge that we haven't ever solved acceptably, not even offline and parts of it in isolation?

While I agree with you that in 50 years, advances in AI will make fast hardware obsolete, it may well be that in 5 years, fast hardware will be able to avoid problems that we cannot yet solve in software. That would mean this company has 45 years to cash in before they get replaced by software.

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.
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 ;).

Yeah, started my own robotics company, early engineer at another that sold for >$200M. You seem to have misinterpreted my statement of "hardware is already good enough" to mean "hardware is unimportant."