|
|
|
|
|
|
|
|
# Reinforcement Learning with Cozmo and Unity |
|
|
# Reinforcement Learning with Cozmo and Unity |
|
|
@Author: Tobias Hassel |
|
|
@Author: Tobias Hassel |
|
|
|
|
|
|
|
|
This project uses Reinforcement Learning to teach a virtual Cozmo-Robot to follow a Line drawn on the ground.The plugin ML-Agents for Unity is used to train the robot. A camera together with OpenCvSharp identifies the Line. Based on the Center of Gravity the reward is calculated for the robot. After the training the result is a model file which can be used by the real robot. A python project controls the real cozmo using the pretrained model. |
|
|
|
|
|
|
|
|
This project uses Reinforcement Learning to teach a virtual Cozmo-Robot to follow a line drawn on the ground.The plugin ML-Agents for Unity is used to train the robot. A camera in combination with OpenCvSharp identifies the line. Based on the Center of Gravity the reward is calculated for the robot. After the training the result is a model file which can be used by the real robot. A python project controls the real Cozmo using the pre-trained model. |
|
|
|
|
|
|
|
|
# Testing the project: |
|
|
# Testing the project: |
|
|
|
|
|
|
|
|
The different models are already pretrained and can be used out of the box. To test the real robot you need to: |
|
|
|
|
|
|
|
|
The different models are already pre-trained and can be used out of the box. To test the real robot you need to: |
|
|
|
|
|
|
|
|
1. look if you have a smartphone that is able to use the app for the cozmo robot. A list can be found here: https://support.anki.com/hc/de/articles/360004696273 |
|
|
|
|
|
|
|
|
1. have access to a smartphone which is able to run the app for the Cozmo-Robot. A list of supported devices can be found here: https://support.anki.com/hc/de/articles/360004696273 |
|
|
|
|
|
|
|
|
2. install the app on your smartphone and connect it to the robot: |
|
|
|
|
|
|
|
|
2. install the app on your smartphone and connect it to the robot. The connection works as follows: |
|
|
https://support.anki.com/hc/de/articles/230119948-Wie-kann-ich-Cozmo-aufwecken-und-eine-Verbindung-herstellen- |
|
|
https://support.anki.com/hc/de/articles/230119948-Wie-kann-ich-Cozmo-aufwecken-und-eine-Verbindung-herstellen- |
|
|
|
|
|
|
|
|
3. set the cozmo app to use sdk mode and connect your smartphone to your pc using a cable |
|
|
|
|
|
|
|
|
3. set the Cozmo-App to use SDK mode and connect your smartphone to your PC using a cable. |
|
|
|
|
|
|
|
|
4. open a command prompt and go to the PythonProject\BachelorarbeitCozmo\venv\Scripts folder |
|
|
|
|
|
|
|
|
4. open a command prompt and go to the PythonProject\BachelorarbeitCozmo\venv\Scripts folder. |
|
|
|
|
|
|
|
|
5. execute the CozmoController.py by typing into the shell "python cozmocontroller.py" |
|
|
|
|
|
|
|
|
5. execute the CozmoController.py by typing "python cozmocontroller.py" into the shell. |
|
|
|
|
|
|
|
|
Alternatively you can open the project in PyCharm and Run the CozmoController.py |
|
|
|
|
|
|
|
|
Alternatively you can open the project in PyCharm and run the CozmoController.py. |
|
|
|
|
|
|
|
|
If the program complains you might need to install some modules. These requirements are listed in the requirements.txt file which can be found in the PythonProject\BachelorarbeitCozmo\venv folder. Usually it should be enough to install the specific versions of "cozmo", "Pillow", "opencv-python" and "tensorflow", because all other modules are installed together with theses by default. |
|
|
|
|
|
|
|
|
If the program complains you might need to install some modules. These requirements are listed in the requirements.txt file which can be found in the PythonProject\BachelorarbeitCozmo\venv folder. It should usually be enough to install the specific versions of "cozmo", "Pillow", "opencv-python" and "tensorflow", because all other modules are installed together with theses by default. |