The recent integration of Nvidia's PhysX 4 into Unity has dramatically improved the quality of robotics simulation that is possible in Unity.
-
The new articulation joint system (available in 2020.1) is much better suited to building things like robot arms than the older joint types available in Unity. It uses Featherstone's algorithm and a reduced coordinate representation to gaurantee no unwanted stretch in the joints. In practice, this means that we can now chain many joints in a row and still achieve stable and precise movement.
-
The new Temporal Gauss Seidel (TGS) solver also supports more accurate simulation.
Unity 2020.10b1 or later is needed for the new joint system.
If you do not have Unity 2020.1.0b1 or later, add the latest 2020.1 beta release through Unity Hub. This demo has been last tested on Unity 2020.1.0b5.
Clone this repository:
git clone https://github.com/Unity-Technologies/articulations-robot-demo.git
Then, open the ArmRobot
project in Unity.
This is a simulation of the Universal Robotics UR3e robot. You can steer it by directly rotating all six joints of the arm. You can also rotate the end effector, and open and close the pincher.
Open Scenes
> ArticulationRobot
, and press play.
You can move the robot around manually using the following keyboard commands:
A/D - rotate base joint
S/W - rotate shoulder joint
Q/E - rotate elbow joint
O/P - rotate wrist1
K/L - rotate wrist2
N/M - rotate wrist3
V/B - rotate hand
X - close pincher
Z - open pincher
All manual control is handled through the scripts on the ManualInput
object. To disable
manual input, just uncheck this object in the Hierarchy window.
You can learn more about how this robot was built with articulations by following our guide here.
This simulation focuses on picking up objects with the Robotiq Hand-E Gripper.
Open Scenes
> GripperScene
, and press play. Try to pick up the cube and drop it!
Use the following keyboard commands:
G - down
H - up
X - close pinhcer
Z - open pincher
The Articulation Robot Demo has been integrated with the ML-Agents Toolkit on this branch.
Note: The integration is not up to date with the latest master
branch.
Your opinion matters a great deal to us. Only by hearing your thoughts can we continue to make Unity a better simulator for robotics. Please take a few minutes to let us know about it.