Coding for robots: Need-to-know languages and skills

0 Comments

KODA advising CTO John Suit discusses the skills and languages that are important for developers who want to build software and systems for modern robots.

Robots come in all shapes and sizes, but typically, they’re autonomous devices that operate on their own to help us complete a task. If you’re a developer looking to get into the growing field of robotics, what are the right skills to have? What languages should you know? In this episode of Dynamic Developer, we’re going to talk with John Suit, advising CTO of KODA, who can answer these questions and more. The following is a transcript of the interview, edited for readability. You can listen to the podcast player embedded in this article, watch a video above or read a transcript of the interview below, edited for readability.

Bill Detwiler: So, let’s talk robotics. We’ve seen a lot of developments recently in 2020. We have the Boston Dynamics news around Hyundai, looking to acquire them. Then, on the positive side of things, a recognition that robotics is really taking off. On the flip side of that, you have some announcements in November 2020 around Walmart ending one of its partnerships with Bossa Nova Robotics. It seems like there’s a lot happening in the field of robotics right now. From your take, what can we expect to see in the field in 2021 and then beyond?

Must-read developer content

John Suit: I agree–there’s a lot going on in robotics. My background is actually in cybersecurity for the last 20-25 years, but also in decentralized artificial intelligence, and big information analytics systems, which becomes really, really important to robotics. When I was approached by KODA to take a look at their super cool robotic dog, it became pretty apparent that the things I was interested in were the things that you’ll need on a robotic platform, if that platform is going to interact with people and it’s going to learn. One of the first things I had asked, and a buddy of mine is one of KODA’s co-founders, and said, ‘Hey, John, you got to take a look at this.’ He and I had worked together in several different companies and he kind of knows what I like and what I don’t, or what I choose to work with and what I don’t.

He said, ‘You’ve got to see this dog.’ First, instantly I thought of the YouTube robotic dog Boston Dynamics video. So I asked him right off the bat, I said, ‘Does it have a head?’

Bill Detwiler: It’s not that creepy looking, is it?

John Suit: I instantly had visions of this militarized robotic dog thing. And he said, ‘No, no, no, no, no, no.’ He sent me a picture of it, and it’s this metallic blue, very cute looking, but very capable, robotic dog. I said, ‘Well, what are you going to use these for? What’s the application?’ He told me the first application that they’re going to use them for are visually impaired kids, to help not just learn from real organic dogs, but to help learn the environment–these are true learning systems.

KODA robot dogKODA robot dog

Image: KODA, Inc.

So I think what you’re going to see in 2021, it’s not just the advancements in motors for walking robot’s gait–which is one of the hardest things to accomplish for a robotic anything. You’re going to see a variety of sensors that are coming into play which weren’t available. Think about it like the camera array that’s on your Roomba vacuum cleaner is VSLAM. That’s pretty advanced. Then you have LIDAR systems that are very good at depth, and very good at building an array of images for something. All these things, all these sensors, audio sensors, directional sensors, come into play when you’re talking about robots. To put all that together and actually do something with it, you’re talking now decentralized artificial intelligence. You have to have a decentralized file system to deal with that–blockchain has made great advancements in that area.

SEE: Robotics in the enterprise (free PDF) (TechRepublic)

I think a lot of people, they hear blockchain, and they think digital currency. That’s true, but it’s also a great way for a lot of things that are all learning something to report in to a general ledger, so they can share information in order to all learn how to do something. Let’s say I had a KODA that was in New York City and it was helping a visually impaired kid navigate the streets and stop at intersections and things like that, and understand when a siren goes, understands the direction of an ambulance that’s coming and knows to stop on the curb. That kind of stuff. When a KODA in Aspen learns how to walk in the snow, and then that KODA that was in New York goes on vacation to somewhere where there’s snow, for example, they’ll have that knowledge because the other KODA learned it. That’s the kind of thing that I think is particularly cool.

Building a robot that shares information with other robots

Bill Detwiler: I’d love to drill down on that a little bit and talk about those technologies that are making robotics really possible in ways that we didn’t think about just even a decade ago, because I think most people think about how we’ve got automation, we’ve had that in factories for decades. We understand that. We understand how robotics maybe can work in warehouses and distribution. We understand how robotics works in drones. I think a lot of people also understand how there may be a client-server relationship between a robot and the cloud. But, there’s still this concept that you talked about as distributed computing, and being able to do processing on the devices. And then not just share that information up to a central location, but actually to have processing done on the devices that then is shared with other devices. That part of the overall system is kind of new, at least in the robotics field.

John Suit: It’s very new. The whole concept of decentralized artificial intelligence gives you the benefit of learning something that the rest of the devices, or peer devices, may not have the opportunity to learn, simply because they may not have the terrain, or they may not have a particular circumstance just like people. One of the things you have to do right off the bat to deal with this stuff is, obviously you have security. You have to give permission what to share, what not to share. You have to have infrastructure, data in-motion, data at rest–all of that needs to be taken care of. Once you have that all figured out though, it really opens up the advantage of what you’re saying is I can now not just share things that I learned, but I can learn things differently, even in similar environments because of this concept called ephemeral memory.

SEE: Hiring Kit: Robotics Engineer (TechRepublic Premium)

If you can get any robotics to this level where they learn something, and then I force them to forget and to learn it again, then if you keep doing that, you end up with many different ways to solve a problem. You find out the optimal way to solve a problem for any given condition, which is very similar to how we work. That’s the idea. You have a robot, in this case, I got interested in a robot dog, that once it learns how to climb stairs, I want it to forget how to climb stairs, because I want it to reason another way. I want it to reason another way again, and then again. Then what you get is a better and better robot dog over time.

When the dog gets to a point where it can share that information of all this aggregate learning to other dogs, you have this refined knowledge at that point. Maybe not wisdom yet, but you definitely have knowledge that it can share. That happens because of the ability to reason on the device. Everybody thinks of rules engines and inference engines, but there’s true reasoning that can take place–it happens because of the variety of sensors. Obviously, there are many GPUs, there’s lots of memory, there’s a lot of processing power on these devices and on these robots, but it’s having the availability of what’s happening in the real world being brought in by the sensors. In some cases, more than we have. We hear and see a very narrow bandwidth of the energy around us. They have a little bit higher aperture. In some cases they have more information, in some cases they have less. But, it’s the ability for them to take that information and mesh it and reason and all that, that you ultimately get something that can really work well in multiple different environments.

KODA’s robotic dog

” data-credit=”Image: KODA”>asset-koda-product-for-release.jpgasset-koda-product-for-release.jpg

KODA’s robotic dog

Image: KODA

Bill Detwiler: How critical is that to the development of robotics in general? I mean, robotics need to be able to serve a specific purpose. I think when you say ‘robot’ to person, they think of the sci-fi version that we’ve seen for generations, going back to automatons. We think of a general purpose robot that looks humanoid in shape and can do everything. And that doesn’t seem to be the way… Although there have been some advances in robots that do look that way, but it seems to be that we’re having success with robots that are maybe more specialized in what they look, and the functions that they do. Where do you see that going? How specialized do you see robots being? KODA is a dog. It looks like a dog. It functions like a dog. But you’re talking about a purpose that isn’t just for a pet, right?

John Suit: That’s right.

IoT can be a roadmap for purpose-built robots

Bill Detwiler: So we’ve all seen the toys that you would call toys that are dogs, that are designed to be for entertainment. But what you’re talking about is a much higher level use and role for this device to play.

John Suit: Yeah. You’re right. It is a very high-end computing platform. And it’s not just a computing platform, it’s a very high-end reasoning engine. Let’s say you have a KODA and it needs to recharge, and you want it to a mine for digital currency, that’s the kind of processing power we’re talking about. So it literally makes money for you while it recharges and sleeps. It’s that level we’re talking about. And it’s a good point. Purpose-built robotics or even purpose-built IoT devices. I mean, there’s huge advancements in IoT just recently. Look at what happened at MIT with their MCU-Net.

They figured out a way, because you have such limited resources on IoT devices, and they figured out a way to optimize the engine, basically the search space and optimize the engine. So that you’re not hindered by that limited availability, because algorithmically it can adjust to whatever it has available at that moment in time. And I think what they will figure out, or maybe they’ve already figured out, is that they’re going to ultimately be able to do that dynamically. At least what’s available that they figured out is now they don’t have to tailor it for every platform, which is amazing.

SEE: 5 Internet of Things (IoT) innovations (free PDF) (TechRepublic)

But I think they’re also going to then very quickly figure out now they can adjust their algorithms dynamically as resources become available or are no longer available, and so it can tune itself on the fly. And that’s when that’s when you can start to mesh IoT devices, and you get all this stuff and all that kind of stuff. So to your point, yeah, I think you’ll see some robots that are specialized, but I also think you’re going to see robots that can do a lot of different stuff, and they can work together. Is that only possible through some type of distributed computing?

John Suit: Yeah.

Bill Detwiler: An AI driven system that just wasn’t possible in the past?

John Suit: Yeah.

AI is crucial for next-generation robots

Bill Detwiler: I think back to the first Roomba I had that, that used basically bug logic, in terms of turn this much, go until you hit a wall, turn this much. And it was amazing what you can accomplish at the time with some just rules-based algorithms, right? But it seems like in order to progress to the next level, that’s not going to be enough. There’s only so much you can do with that simple code. You need an AI approach that you’re describing to really step to the next level.

John Suit: Correct. You really do. And you also need a data transfer platform. IPFS and a planetary file system is perfect for that. So this gives you the ability to move data around and do it in a way that doesn’t have to be necessarily directed from any particular source or destination, think of it as a meshed storage array for the planet. I didn’t name it, but it sounds sci-fi, interplanetary file system, but it really is that. You can host pretty much anything on it, and you don’t have to be specific about where you store data. And so it’s that kind of thing, which will really, I think, launch more devices that take advantage of things like that. Instead of getting this stair-step approach to things, you’re going to get this, and it’s pretty exciting.

Roomba 980 removing the outer shellRoomba 980 removing the outer shell

Bill Detwiler removing the outer shell on the Roomba 980

Image: TechRepublic/Bill Detwiler

C and C++ still rule the roost on many robots

Bill Detwiler: Let’s talk about getting into the field of robotics. So if you’re in IT, you’re a developer and you’re thinking about robotics as a career path, or, ‘Hey, this is something that I see taking off, that I want to get into.’ What are the skills that companies like KODA and other robotics companies are looking for, that people should be developing to really find a place within the industry?

John Suit: Specifically, there’s the physical side and there’s the instructional computing side. Obviously, people that came out of Semantic Web, people who came out of ontological systems. Understanding the big data lake, AI stuff as well. But really understanding discrete reasoning engines and discrete inference engines are always a plus. I will say, right off the bat, C and C++ still rules the roost, especially on devices that have limited resources. That’s not necessarily KODA, because it has a lot of resources. But for the smaller IoT type devices, you need to be efficient. And we do this thing where we are ultra-efficient with memory, we’re ultra-efficient with storage. Then we get all this storage and memory available to us. And so we can abstract languages and things like that. And then we miniaturize, and it goes back and forth. And now we’re back and we’re looking for C and C++ guys all the time with the people I’m talking to, so it’s important.

SEE: C++ programming language: How it became the foundation for everything, and what’s next (free PDF) (TechRepublic)

Security matters because we have 100 years of sci-fi robots to overcome

Bill Detwiler: Beyond miniaturization, and being able to work within limited resources, what is unique about building software, building systems for robots like KODA?

John Suit: I think one of the things that no one talks about, but it’s close to me because I’ve been in this space for a long time, is people who understand and get security. A lot of it is, how do I build it? How do I get it to work? That’s all great, but if people are fearful of what you’re building, you need to address that right from the ground up. You need to understand what data can be shared, what can’t be shared. You need to understand data at rest. You need to understand data in-transit and data in-motion protection. It’s all that stuff and understanding it from the ground up. Getting it is a really important skill to have.

There’s a lot of people who’ve jumped into cybersecurity in the last 10-15 years, but not so many people who actually lived and breathed when everything was open and a problem and things like that. In IoT and in robotics, it is like that. And you need to be aware of how things can be exploited. I think that’s a great skill to bring to the robotics industry, and something that’s sought after is not just being able to make something function or be efficient or optimized. It’s making sure that it’s secure enough that people will actually consume it and will want to use it. And you’re not fearful of utilizing the technology–that’s huge, because we have 100 years of sci-fi to overcome when it comes to robotics.

Bill Detwiler: Yeah, everybody has the image of either the helpful or the evil robot, right? There’s not really a lot in between. I mean we’ve talked about DevOps for a very long time. And not too long ago, DevSecOps really became a watch word. And I have done some work with David Brumley, from Carnegie Mellon and ForAllSecure around that. And he talks about that in an interview that he and I did around making sure that that’s ingrained in every aspect of the production process, from the very beginning to the middle and the deployment, to after. Bringing everything full circle. How do you manage that with a product as closely integrated to people in the consumers as a robot dog?

We all have cameras in our homes these days, in some respect. You and I both have one on the devices we’re talking on. We have microphones with smart speakers everywhere. We have smart thermostats. We have smart security systems. We’ve seen some issues with data privacy around IoT devices. But to me, something like KODA with the array of sensors that it has and the interactions that it’s going to have with its customers is even maybe next level above that, I guess.

SEE: An IT pro’s guide to robotic process automation (free PDF) (TechRepublic)

Bill Detwiler: Also, when you think about the distributed nature of the system, so it’s not just, hey, I’m talking with my device. It’s communicating, waiting for a watch word on the smart speaker to talk to Amazon’s, Google’s, or whoever’s servers, and then provide the response back down. But maybe it’s talking to the KODA next door, or maybe that information is being shared, not just up and back in a one-way, but it’s really being shared up, back, down. How do you manage that?

John Suit: Well, obviously from the ground up, you have to have the most state-of-the-art security available in terms of data protection and data in-transit. But also, there are simpler things. The first thing I asked when I was introduced to this whole concept of a robotic dog was, ‘Does it have a physical on off switch?’ That was the first question I asked, because it’s just how I think, and it does. And so I said, ‘Okay, that’s a good first step. I want to know you can turn this thing off, and it will get turned off.’

It’s more ground up than checking boxes. For me, I don’t need a compliant with security robotic device or IoT device. I need an actual security, well-thought-out device. That’s the most important thing. So you’re right, if I have a variety of sensors and they’re listening and processing and all that, I need to be able to define how those are used, and how that data is moved and where it is stored and all that stuff. And so that’s configuration. Obviously, there are defaults, and obviously there are different levels of acceptability, depending on what you want it to do, but you get to decide that. You get to say, ‘This is what I’m okay with. This is what I’m not.’ On the most shareable setting, your KODA may learn faster, but you may not care about that. You may care more about not sharing information. So it really is what you’re tolerant of. The most important thing is to be thinking about this when you start, not thinking about it as an afterthought, because that always happens.

Bill Detwiler: Do you think that most developers are thinking about security enough? I mean, there’s always work to be done somewhere–you can always improve. So I don’t want to say that, ‘Hey, we’ve reached a pinnacle and here we are,’ because I don’t think that’s ever realistic with anything.

John Suit: Yeah. I think software engineers want to solve problems. And if the problem is for my camera to be able to identify movement and be concerned about battery life and things like that, I think a software engineer will want to solve that problem. The software engineer has to be told part of the problem’s security. You don’t win… To a software engineer, I won when I solved the problem. They need to understand they don’t win until you’ve solved it in a secure way. I think if you instrument and instantiate that into your development process, then it’s a very gratifying win as a software developer, but it’s one that it’s not going to come back that the thing you did caused all these problems.

SEE: Quick glossary: Robotics (TechRepublic Premium)

There are a couple of software companies out there today that are probably not proud of where they came from, and that’s unfortunate because a lot of people do a lot of hard work. If, from day one, you were instructed to make sure this part of you solving a problem is you solving a problem that securely handled everything it needed to, I think that’s where you win. And I think that that needs to be instilled in the culture, not just for robotics, I mean, obviously it’s for everything. But it is important for robotics especially, because these things move, and they see, and they listen, and they interact. IoT devices, same problem for all the same reasons you said.

So I think culturally, if we thought more about how to solve problems with these things in mind as part of the answer, I think we’ll go a long way. People are starting to figure this out, by the way. This isn’t a revelation on my part. People are figuring it out. I will say 20 years ago, not many people outside of the intelligence community and people working in hostile environments were thinking about this stuff. But certainly, at least, this is front and center for a lot of companies that already had their CEOs on the front of newspapers.

Bill Detwiler: Yeah. No engineer wants to have their work and their code be the reason that the CEO has to issue an apology.

John Suit: That’s right.

When will KODA be available?

Bill Detwiler: When can we expect KODA to hit the market? I think it’s out as a prototype, and you have a pre-production models available. So when are you all going to release it as something that folks can actually buy?

John Suit: We are going to announce something very soon. No one has told me I can say when it is, so I’m not going to do that. I’ll maintain that level of security–but soon. Think of KODAs… they’re going to be very cool. And they are high-end devices, so we’re not planning on a mass launch of anything. They’ll become available. You’ll hear of somebody who has one, maybe, kind of thing. And the reason is, this really is a platform for decentralized AI. And we want to innovate decentralized AI just as fast, if not faster than the robotics platform. So if that means we don’t sell as many KODAs off the bat, so be it. If it means we get to sell a lot more KODAs later with a lot better decentralized AI, that’s the idea, to get them out there. But they will be available.

Bill Detwiler: I guess that sounds to me very similar to other companies that have tried to reshape markets, who release a product that is high-end to early adopters, and then they plan to iterate with software–and that works a lot of times. I can think of one company that it’s worked very well for.

John Suit: It has.

Bill Detwiler: And so that’s what I hear you describing. I haven’t seen pricing yet on the devices, but I imagine given the computing power, we’re not talking about a $29.95 toy dog that you buy in your favorite big box toy retailer.

John Suit: We are not.

Bill Detwiler: This is a serious device.

John Suit: It is.

Bill Detwiler: And so it’s important when you’re making that kind of investment, that it is able to adapt and to grow and to be around for a while with you. Am I correct?

John Suit: Yeah, absolutely. That’s entirely correct. Yeah.

Dynamic Developer interviews and more