Master Thesis in Robotics - Aalborg University
View Demo
Table of Contents
This project focuses on the transformation of chemistry laboratories into autonomous environments that can accelerate the discovery of new materials. The main goal is to optimize chemical processes that are typically performed by humans and can thus be slow and prone to errors.
The project utilizes robotic solutions and simulation to achieve this goal. The autonomous laboratory will be implemented on the AAU Matrix Production setup. This setup consists of five Kuka robotic manipulators, the B&R Automation Acopos 6D magnetic levitation platform, and various custom-made parts.
For development purposes, Nvidia Isaac Sim is used to create a simulated environment that replicates the physical setup. This allows for the execution of different experiments in a virtual setting. The Robot Operating System (ROS1) is used to control both the simulated Kuka manipulators and their real-world counterparts.
The simulation experiments demonstrate that the system is capable of automatically completing a chemical process. However, transferring these capabilities to the physical setup poses a significant challenge.
The project is the outcome of a Master's thesis in Robotics at Aalborg University.
Ubuntu 20.04 together with Isaac Sim 2022.2.1 and ROS Noetic was used for this project.
To get a local copy up and running follow these example steps.
[06/06/2023]
- Isaac Sim requirements: Some minimum requirements are needed to install Isaac Sim, check the Link for more details.
Element | Minimum Spec | Good | Ideal |
---|---|---|---|
OS | Ubuntu 20.04/22.04, Windows 10/11 | Ubuntu 20.04/22.04, Windows 10/11 | Ubuntu 20.04/22.04, Windows 10/11 |
CPU | Intel Core i7 (7th Generation), AMD Ryzen 5 | Intel Core i7 (9th Generation), AMD Ryzen 7 | Intel Core i9, X-series or higher, AMD Ryzen 9, Threadripper or higher |
Cores | 4 | 8 | 16 |
RAM | 32GB* | 64GB* | 64GB* |
Storage | 50GB SSD | 500GB SSD | 1TB NVMe SSD |
GPU | GeForce RTX 2070 | GeForce RTX 3080 | RTX A6000 |
VRAM | 8GB* | 10GB* | 48GB* |
Note: GeForce RTX 2060 6GB VRAM is also compatible.
Note: The asterisk (*) indicates that the specified amount is the minimum required, but more is recommended for better performance.
- Isaac Sim and MAPs Extension
- ROS
- MoveIt
- KukaVarProxy
- Planar Motor Controller API
-
To install Isaac Sim, follow the instructions in the Isaac Sim documentation. Once Isaac Sim is installed follow the steps in MAPs Extension
-
To install ROS, follow the instructions in the ROS Noetic documentation
-
To install MoveIt, follow the instructions in the MoveIt documentation
-
To install the KukaVarProxy, follow the instructions in the KukaVarProxy documentation
-
To install the Planar Motor Controller PMC API, follow the instructions in the planar motor controller API documentation
The following image shows the communication workflow between ROS and physical robots (blue), Simulation environment (green) and Magnetic levitation platform (orange). Machine Readable Recipe is not implemented.
-
Launch
roscore
-
Open Isaac Sim and launch MAPs Extension. Check MAPs Extension for troubleshooting.
-
Press Play in Isaac Sim GUI
-
Launch
roslaunch isaac_moveit kuka_isaac_execution.launch
from a sourced workspace -
Start the simulation by pressing the
Start
button in the extension GUI
-
Launch
roscore
-
Open Isaac Sim and launch MAPs Extension. Check MAPs Extension for troubleshooting.
-
Check the computer is in the same range as the PMC (by default, PMC IP: 192.168.10.100)
-
In the MAPs GUI press Connect PMC
-
Press Start Real Setup
Note 1: To send random targets for each shuttle, uncomment the following line: #self._world.add_physics_callback("sim_step_move_acopos", callback_fn=self.send_xbots_positions)
under async def _on_real_control_event_async
Note 2: Adjust self._number_shuttles = 4
with the number of shuttles in the physical setup
This work is licensed under a Creative Commons Attribution 4.0 International License.
Daniel Moreno - LinkedIn - [email protected]
Andrei Voica - LinkedIn - [email protected]
Project Link: https://github.com/AndreiVoica/P10-MAP