This repository provides source code and assets for simulating the ABB IRB 120 robot via Unity. At just 25 kg, the ABB IRB 120 is the smallest robot available in the ABB lineup. We utilize the URDF of the robot and demonstrate the task of pick and place using search space constrained RRT path planning. The robot is also able to track an object, which can be controlled by SpaceMouse inputs.
This simulation has the following requirements:
After installing the required software, clone the repository:
$ git clone https://github.com/robotic-vision-lab/ABB-Robot-Unity-Simulation.git
Then, open Unity Hub and click "Add project from disk." Lastly, select the "ABB-Robot-Unity-Simulation" folder that was just cloned.
In the Assets/Scenes folder, there are two scenes: BinPicking and SpaceMouseTest.
The robot can perform a bin-picking task within the BinPicking scene. To enable the simulation, execute the following steps:
- While in Play Mode, click on "abb_new" in the Hierarchy tab on the left.
- In the Inspector window, clicking the "Next Target" button will highlight a green path to the target.
- Clicking "Next Point" will move the end effector along the interop points of the path until it reaches the target. The robot will return to its neutral state with the target. Note: clicking "Next Point" again will move the robot and target along the path.
- Clicking "Place" will place the object in a bin.
- Clicking "Next Target" will create another path to a new target.
The robot will track the "spacemouse_test" (which can be controlled using a SpaceMouse) object in this scene. In the Inspector tab of the "spacemouse_test" object, the rotation and translation speed can be adjusted.
The current simulation has the following issues:
- The logic of the pick-and-place buttons is not fully fleshed out.
- The inverse kinematics can sometimes cause the joints to rotate outside of the expected range.

