We are attending the Commercial UAV Expo 2023 in Las Vegas, NV. Visit us at booth #332!

Simulation: Driving Efficiency and Innovation in Robotics Development

Physically Simulated Drone

Introduction

Let’s face it: building a robot can be a daunting task. Engineers have the challenge of getting multiple systems – perception, planning, navigation, telemetry, control, communication, power, etc. – to work together in an environment where mistakes are at best extremely expensive, and at worst plain dangerous.

It’s no wonder that simulation is rapidly becoming the backbone of an effective robotics product development strategy. With the ability to design and test systems without physical prototypes, or train AI models without the need for real-world data collection, simulation is streamlining development, limiting risk, and drastically reducing costs. In this article, we will cover the ins and outs of simulation in robotics, and explore the current opportunities, challenges, applications, and ongoing trends.

What Simulation Is and Isn’t

Simulation in robotics, broadly speaking, is the process of creating a model of a robot and its environment for the purpose of evaluating designs, testing operations, or answering performance questions that are difficult or impossible to evaluate in the real world. For example, a simulation of a drone in a suburban environment could be used to evaluate a newly developed navigation system without ever putting real hardware or people at risk.

However, it is important to remember that the best simulation of the universe – including your robot – is, well, the universe. Simulations and their underlying models are not replacements for real-world evaluation, nor are they meant to be. Rather, the goal of simulation is to model the important features of a system at a high enough level of detail to acquire meaningful results for the application at hand. For example we may want to determine the performance of the perception system, or solve a functional design problem to within a certain tolerance.

This gives us a useful policy when creating simulations: make them as simple as possible – but not simpler. Too much detail may be unnecessary or even impossible to compute, while too little detail may lead to incorrect conclusions.

Opportunities & Challenges

Using simulation for robotics development is not without its challenges. In this section, we highlight some of the major opportunities and challenges of you will likely encounter in your workflow.

Benefits

  • Reduced risk: simulations enable engineers to anticipate, test, and correct for problems before they cause real accidents or harm. Simulation is key to getting to a higher technology readiness level (TRL) and optimizing for safety and capability. 
  • Reduced cost: simulations are often exponentially more cost effective than real-world evaluation. Liabilities, timelines, engineering, people, and physical equipment can all be minimized by leveraging simulation for robotics development. 
  • Faster Iteration: simulations drastically reduce the time needed to move through the concept and design phases because they can allow for rapid prototyping and testing of ideas. This enables engineers to get to better solutions faster.
  • Richer data: data sets derived from simulation can be richer, bigger, and more complete than when collected in the real-world. Uniquely, these data sets can contain data points that are extremely rare or impossible to capture using real world data collection techniques.
  • Superior integration testing: simulation can leverage hardware in the loop (HITL) or software in the loop (SITL) methods to test multiple components simultaneously. Prototype development, on the other hand, often requires the entire system to work correctly before progress can be continued.
  • Scale and automation: simulations can be scaled, parameterized, and automated. This means you can cover more test cases, achieve better optimization, and reduce manual labor all at once.
  • Better products: all of the above enables the development of more capable, safer products. By improving and extending product functionality through simulation, organizations build more trust and differentiate themselves from the competition.

Challenges

  • Required level of detail: some tools may be insufficient for modeling the the level of detail needed for deployment of the robot for the real world. Furthermore, it can be difficult to always know beforehand what level of detail is even required.
  • Accuracy: simulations generally have accuracy limitations – both practical and fundamental. For example, numerical errors in the estimation of various material properties can make part design a challenge. Similarly, chaotic systems (such as weather or traffic) are mathematically limited in their accuracy on large time scales.
  • Infrastructure: because of the large number calculations involved, simulations require significant computation resources to run in a reasonable timeframe. If you are planning to use simulation for your workflow, first assessing the infrastructure needs for your goal is critical.
  • Limited scope: but cross-domain simulation is still a major challenge. For example, you may be modeling the joints and arm setup for motion planning with one tool, but evaluating the joint wear and tear with another.
  • Setup: getting a simulator set up with all the correct model parameters, variables, ranges, and constraints can be time-consuming and tedious. Finding tools that can support rapid setup of a model and environment is critical to making simulation an effective accelerator, rather than a point of friction.
  • Interfaces: developing intuitive real-time interfaces can make integration of simulation into a more complex development workflow challenging. 

Major Applications

Design Evaluation

Simulation can be used to design, test, and validate the material properties prior to parts ever being manufactured. Even better, these parts can be learned by running simulations with generative AI or genetic mixing techniques.

A component generated with lattice structures and analyzed in Inspire. Image courtesy of solidThinking.

Autonomous System Development

Simulation is used widely in the development of algorithms for control, navigation, and planning in autonomous systems. Development of scenarios and analysis of edge cases is critical for robots to operate safely in the same space as humans.

Synthetic Training Data

Simulation can be used to produce massive quantities of low-cost, high fidelity data for a variety of sensors to train deep learning models. This data also enables researchers and engineers to capture edge cases important for robots to learn from before being deployed.

Synthetic data extracted from Adinkra Sim to generate ground truth labels for the purpose of computer vision model development.
Simulation is used to train a reinforcement learning algorithm for a pick and place application. Courtesy of OpenAI.

Integration Testing

Simulation is used extensively for developers integrating multiple systems together. In particular, software in the loop (SITL) and hardware in the loop (HITL) integration testing are widely used to validate the functionality of all subsystems working together. Many of these tests can be automated as part of the software development release process to further accelerate development.

Training

Because high-fidelity simulation can look and feel like the real world, there is an opportunity to use simulators to train pilots, operators, and teams to operate real world world systems without risking real world assets. Remote operation and the use of virtual reality are making this especially important today, for example in combat simulation training.

Pilot training using a simulator and virtual world. Image courtesy of defense.gov.

Where Simulation is Headed Next

Simulation is rapidly becoming essential to the development strategy of many companies and organizations. And with the majority of future AI training data projected to be synthetic, harnessing the power of simulation for your development is more important than ever before.

Synthetic data projected growth. Source: Gartner, “Maverick Research: Forget About Your Real Data – Synthetic Data is the Future of AI,” Leinar Ramos, Jitendra Subramanyam, 24 June 2021.

As you begin to integrate simulation into your project, keep in mind the following trends:

  1. Use of generative AI: generative models such as Stable Diffusion, Chat-GPT, or NeRF are taking the world by storm and will continue to do so. The ability to rapidly generate training data – especially 3D scenes and 3D models – is critical for creating the large variety of worlds, assets, and scenarios necessary for robotics development. Simulation solutions will increasingly adopt these models for the purpose of producing broader training data and reducing setup time.
  2. Rapid infrastructure scaling: organizations must scale their infrastructure to meet the throughput demands of simulation and remain competitive. It’s no secret that massive amounts of data are needed to train state of the art AI models and this will likely continue. With the wide-spread diffusion of foundational AI architectures, focus is shifting from “who has the best architecture” to “who has the ability to generate the best data.”
  3. Cross-domain support: simulators will be increasingly tasked with supporting cross-domain tasks and evaluating complex multi-agent systems such as autonomous swarms. Additionally, robotics platforms are increasingly deriving value from the ability to quickly adapt to new domains, which will require broader simulation solutions.
  4. Human on the loop: for autonomy to flourish, a significant amount human supervision will be necessary. Simulation will increasingly require intuitive interfaces and real-time support for humans to effectively evaluate and train such systems.

About Adinkra

Adinkra is an R&D engineering firm helping customers create state of the art robotics and AI products while minimizing costs and time to market. We combine a world-class engineering team with a flexible project management framework to offer a one-stop development solution and unlock your product’s full potential for your customers.