The growth of the robotics sector was nothing short of spectacular in 2021. In just one year, robot density in manufacturing processes doubled, leading many to herald the dawn of a new era. Robots are finally here in numbers that matter, and it looks like they’re here to stay.
Robot development, though, is changing. It’s no longer a logical codified process, Instead, it’s more about learning and training, similar to the approach you’d take with a human child.
Unfortunately, getting to grips with all that data is difficult. Not only is the way machines are being programmed changing, but also how engineers and software professionals troubleshoot and analyze outputs.
Working through reams of data is no longer viable when there’s so much information available. Instead, professionals who work with robots have to take a higher level view, almost out of necessity.
The trick to solving this conundrum is data visualization. It’s the idea that you can represent complicated information and nuanced data in a way that empowers people, instead of leaving them confused. It’s essential for robots, since these machines are still data driven, but the complexity of the data is higher than ever before.
Data visualization also helps to get robotics out of the realm of having to be an exact science. It means that engineers can take an empirical, instead of an analytical approach to development, testing what works through trial and error instead of trying to figure out the correct formula beforehand.
The Difference Between Traditional Software Development And Modern Robotics
There’s a vast gulf between traditional software development and robotics. Under the traditional paradigm, programmers essentially created code and then executed it to see whether it had the desired effect. It was very much a “yes/no”, “on/off” binary approach to the problem. If the code did not compile, then it would not compute and the robot would do nothing.
In each scenario, there’s a clear expectation as to what should happen. Programmers first imagine the movements in their minds and then try to translate them into reality using various scripts. Sometimes it works, and sometimes it doesn’t.
Engineers typically spend many months on the debugging process. They follow the robot’s code path and then run tests on each step, checking the expected versus actual outputs, and toggling various features on and off. They then use the results of their investigations to detect problems in the code and fix them, or refine it further.
Debugging trained robots, though, is significantly more difficult. In these cases, it’s not just a matter of going through the code and trying to figure out which step in the sequence failed to produce the desired result. That’s because for autonomous systems, there are multiple reasons why things might have gone wrong.
For instance, imagine two autonomous cars hitting each other. The failure could result from miscalations of trajectories, misidentification of the vehicle, or a misunderstanding of road conditions. In fact, all of these factors could combine to produce an unexpected “corner” result.
Unfortunately, there aren’t established protocols for diagnosing precisely what went wrong in these instances using the principles of classical programming. In many cases, it’s not actually a problem with the coding or the software itself: that’s working perfectly. The issue is in the way statistical solutions have built themselves on the underlying architecture. Or, in other words, there’s no common sense.
The Role of Data Visualization
Fortunately, there is a tool that can be used, but it’s quite different from standard software approaches. It’s called data visualization and operates on more heuristic principles. The idea is to simulate results to find out what aspect of robot learning can be improved to prevent unwanted outcomes in the future.
Because of this new innovation, individuals in the software field or with mathematical backgrounds are looking to get a master of analytics online. The idea here is to develop the skills that will allow them to build the systems for testing and debugging robots.
Thanks to the cloud, we’re also seeing the development of data visualization tools available on the web. These allow teams that are spread over different locations to collaborate with each other on robot projects for debugging.
Data visualization allows engineers to make sense of data from robots quickly. Instead of running through the code (which is close to impossible on training-based systems), they can simply look at the output and ask which aspects of the training they need to change. They can then run simulations to see whether the results improve once they adjust their tack.
What’s great about data visualization is that it also fits smoothly into workflows. Teams can see the next stage of development and explore various non-binary possbibilites, allowing robots to make more judgements for themselves. It’s similar to the principles of software development, but much more rapid.
Rich data sets with easily-understood graphics are also good for non-technical people who also have a role to play in robot development. For instance, teams can send outputs to manufacturers, giving them an indication of the type of specifications that they need to enable proper functioning of robot hardware in the field.
What This Means for the Future
Robot development was stuck for many years because of the need to manually develop systems in highly controlled environments. With machine learning technology, though, the dynamic is changing. As long as robots have sufficiently large datasets to work with, they can essentially learn operations by themselves without requiring a human programmer to hold their hand.
The trouble thus far has been the fact that robot systems relied on classical debugging methods. These were slow and clumsy, and often unable to unearth the source of the problem.
With the advent of data visualization, though, that’s changing. Developers are able to get a better picture of where learning has gone wrong, and can then apply training cases to fix it. It’s a little bit like teaching a human child how to swing a tennis racket properly. Instead of going into the brains and trying to fix them, it’s more about identifying problems with their technique and then training them in a new way.