Unity Robotics Testing
The field of robotics is a very expensive and time consuming space, especially when it comes to testing them. Because it is so costly, in money and time, to develop and test using an actual robot, simulations will be an important part of robotic application development. Making sure the app works in simulation before rolling out the robot can decrease time by bringing bugs and other issues to the forefront earlier, saving time and money. Plus, it makes it easier to test edge cases or other scenarios that are possibly too dangerous to test in our very real world.
There are 3 elements for effective robotics simulation. The first is the robot’s physical attributes. The second is the environment where the robot operates. Lastly is the software that runs it in the real world. Making sure that these three elements in the are as close as possible to the real world is very important for valid testing and training. Even formant.io is getting in on the virtual testing of robots as of 2020. We will might see similar companies like Boston Dynamics follow soon as Unity 3D robotics testing industry expands.
The most commonly used software for robot software development is the Robot Operating System (ROS). This software provides standard-issue formats for robot descriptions, messages, and data types used by thousands of roboticists all across this planet, for use cases such as industrial assembly, autonomous vehicles, and even entertainment. A heavily populated user community contributes tons of open source packages for common functionalities that can secure the development of new systems.
To make a robotics simulation, first you would need a virtual environment. A basic room or something more complex like a factory floor is a good start, and adding to this environment a virtual representation of the robot to be tested. The Unity Editor can be used to conjure up endless virtual environments. The Universal Robot Description Format (URDF) files are XML files that allow the user to specify visual, collision, and physical properties in an easy to read language. URDF files can also include merge files for specifying complex geometries.
When installed in the Unity Editor, this package allows the user to select a URDF file to import. It parses the XML file in behind the scenes and stores the links and joints in the correct C# classes. Afterwards It creates a hierarchy of Game Objects, where each one of those is an Articulation Body component representing a link in the robot. From the URDF It assigns properties to the corresponding fields in the Articulation Body. When adding a robot to Unity, the URDF Importer will create a keyboard joint controller. You can replace this controller with your own preferred controller using the Articulation Body APIs.
These tools of this amazing and groundbreaking program will pave the way for a new generation of testing and training in simulation, making things easier and smoother than ever to use Unity for robotics simulation and other related fields like machine-learning training for robotics, sensor modeling, testing at scale, and so much more. We can already see this being taught to kids and young adults in schools, giving kids early start in the field of robotics. Robot designers and hobbyist who are looking to build a robot kit can really benefit from this. You can read more about Unity 3D robotics here.