# articulations-robot-demo
**Repository Path**: jasonsang/articulations-robot-demo
## Basic Information
- **Project Name**: articulations-robot-demo
- **Description**: Unity官方工业机器人案例
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 1
- **Created**: 2021-02-25
- **Last Updated**: 2024-10-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Unity Robotics Demos
The recent integration of [Nvidia's PhysX 4](https://news.developer.nvidia.com/announcing-physx-sdk-4-0-an-open-source-physics-engine/) into Unity has dramatically improved the quality of robotics simulation that is possible in Unity.
* The new [articulation joint system](https://docs.unity3d.com/2020.1/Documentation/ScriptReference/ArticulationBody.html) (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](https://gameworksdocs.nvidia.com/PhysX/4.0/documentation/PhysXGuide/Manual/RigidBodyDynamics.html#temporal-gauss-seidel) also supports more accurate simulation.
## Installation
Unity 2020.10b1 or later is needed for the new joint system.
#### Install Unity
If you do not have Unity 2020.1.0b1 or later, add the latest 2020.1 beta release
through [Unity Hub](https://unity3d.com/get-unity/download). This demo has been
last tested on Unity 2020.1.0b5.
#### Clone the Articulations Robot Demo Repo
Clone this repository:
```sh
git clone https://github.com/Unity-Technologies/articulations-robot-demo.git
```
Then, open the `ArmRobot` project in Unity.
## UR3 Robot Arm
This is a simulation of the [Universal Robotics UR3e](https://www.universal-robots.com/products/ur3-robot/) 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.
#### Manual Controls
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](docs/Building-With-Articulations.md).
## Robotiq Hand-E Gripper
This simulation focuses on picking up objects with the [Robotiq Hand-E Gripper](https://robotiq.com/products/hand-e-adaptive-robot-gripper).
Open `Scenes` > `GripperScene`, and press play. Try to pick up the cube and drop it!
#### Manual Controls
Use the following keyboard commands:
```
G - down
H - up
X - close pinhcer
Z - open pincher
```
## ML-Agents Integration
The Articulation Robot Demo has been integrated with the [ML-Agents Toolkit](https://github.com/Unity-Technologies/ml-agents) on [this branch.](https://github.com/Unity-Technologies/articulations-robot-demo/tree/mlagents)
__Note:__ The integration is not up to date with the latest `master` branch.
## Survey
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.
[Fill out the survey](https://docs.google.com/forms/d/e/1FAIpQLSc77ah4azt6D4AOxCWhjpCBgM6Si6f0DA_dunM-ZhDf5xJlgg/viewform)
## License
[Apache License 2.0](LICENSE)