From his own efforts trying to program a robotic arm to play chess against him former MongoDB CTO Eliot Horowitz knows that robots have a software problem. Clever hardware has been getting cheaper and more widely available in various forms and functions. The ability to tell it what to do, simply and elegantly, has not.
As he puts it, speaking with The Stack, and based on his early experience setting up a robotics lab at Viam’s offices in New York, when it comes to building things “the hardware people can run laps around the software.”
Horowitz’s new startup, Viam, is dedicated to tackling that problem and democratising access to robotics for developers. Today it released its free public beta; a platform it hopes will be a one-stop shop for configuring and prototyping, coding, managing and scaling robotics fleets, with cloud tools that also make it easy for fleet operators to do more robotics data – whether they are analysing a pipeline for leaks or fixing a road.
We sat down with Horowitz – who was also co-founder at MongoDb, now a $12 billion-by-market-cap cruiserweight in the NoSQL database world – to hear more about his aspirations for the company, which raised $30 million in a Series A round in February 2022, led by by Tiger Global, with Union Square Ventures, and Battery Ventures. (Viam will likely raise again in 2023, he suggests, although it does not for now sound like a priority.)
Viam’s Robot Development Kit (RDK)
Horowitz says: “There are so many people who think that starting robotics business isn't possible. We need to make it clear to them that that's not true. We need to let people actually be creative and think about the kinds of things that they might want to do in robotics, and make them realise that it actually is possible”.
To try and help make this possible as well as gain early adoption, Viam's beta release is free to use (pay for your own cloud compute of course) and open source.
The "why" is simple. Viam's team would like to see robot startups adopt Viam to help take the friction out of the software side of development, allowing them to iterate faster and bring robots to market that are capable of cost-efficiently doing everything from fixing potholes to fishing plastic waste from the ocean.
The "how" is the product of a lot of ongoing work, but also deceptively simple. Viam runs on-robot (via deployment of a single binary under a AGPLv3 license called viam-server) and in the cloud.
The platform includes three buckets of APIs
- Components - e.g. motors, arms, GPS
- Services - computer vision, motion planning, slam
- Cloud Application - fleet management, data management
Configuration lives in the cloud but robots are not dependent on persistent cloud connectivity in any way to run. Robot code can run directly on the robot itself or anywhere else with internet connectivity.
Communication across Viam is done with the open source gRPC framework, directly if wanted, or via the also open source webRTC, which provides authentication and encryption.
The big idea is to “unify hardware and software prototyping” with the Viam platform supporting hundreds of common hardware drivers and providing a Software Development Kit (SDK) to create more.
As Horowitz puts it to us: “We've defined a set of API's for all the pieces of robots that people need, like motors and arms. So there's a gRPC API for every component that you need. And you can also add your own extra ones if you need ones that we don't have… One of the big things we do is we make it easier for hardware engineers and software engineers to work together. It means the hardware engineers iterate faster” he adds.
Once configured, hardware can be tested in Viam’s control UI and software engineers immediately have intuitive APIs to begin coding. Each robot can be remotely accessed via WebRTC, and Viam natively supports higher-level services such as Computer Vision, SLAM, and Motion Planning; it plans to add more in future too.
The elevator pitch: “Centrally manage and secure every robot from anywhere. Organize robots by group and location, view every robot’s status, remotely control any robot, and maintain fine-grained control over access to robots – down to distinct API methods” as Viam puts it in a press release for its beta launch today.
“For example, users can prevent remote access to cameras deployed in sensitive environments; synchronize data from each robot to the cloud, combine and analyze data in the cloud, and then deploy changes to every robot. Viam can collect images, sensor readings, and hardware metrics even through challenging network conditions and limited bandwidth. Once uploaded, users can explore data, export it to run predictive analytics, and train machine learning models. Trained models–or any other data–is easily pushed back down to robots.”
No cloud connectivity points of failure
To those whose Roomba and other minor robots fell offline when AWS’s US-EAST-1 data center fell offline in late 2020 and then again in late 2021, the cloud-centricity may sound like a worrying single point of failure.
Horowitz says the platform has been built to avoid this kind of issue: “We’re using WebRTC, which is sort of the same technology as video conferencing, that is all peer-to-peer. You have to have some signalling service. But that is very robust and doesn't rely on any data centres because it's just sort of an agreement service."
He reiterates, as we push the point: “If you're connected to the cloud, and the cloud goes down, for whatever reason, internet connectivity, massive AWS and GCP failure, like just complete chaos, the robot doesn't care. The robot will not be able to add configuration updates on the cloud or log to the cloud or push data to the cloud. But it doesn't care. You can run it, you can connect to it, you can write code against it [locally]."
For all the scepticism of those watching Elon Musk's "Optimum" shuffle on stage this month at a Tesla event, robot hardware -- unless you're doubling down on trying to build something humanoid -- is simply not the major hurdle to innovation you may think, he reiterates: "We have a partner who is building a pipeline inspection robot for under $1,000. The bill of materials on a robot vacuum cleaner is like $60. We're talking to a new robotics arm company that's trying to come up with an arm almost two orders of magnitude cheaper than other things like it. They don't have to write a lot of software because they use us. So we think we can create way more competition in that space. Let hardware engineers work way faster and actually start spurring some of this stuff [along]!"