(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Wam-V RobotX Challenge made easy with openai_ros

Description: This tutorial teaches you how in a few simple steps, you can use openai to make your Wam-V robot learn how to do the InWaterTask Demonstrate Navigation Control.

Keywords: RobotX, Wam-V, OpenAi

Tutorial Level: BEGINNER

Introduction

The Maritime RobotX Challenge is focused in gathering people from around the world to try to complete a series of challenges with a robotic autonomous water vehicle called WAM-V.

In this tutorial you will learn how to integrate OpenAI with ROS through OpenAI_ROS package. This will give you access to an easy way to use AI algorithms to improve your performance in each challenge.

You will learn this by an example on how this would be done for one of the first challenges called Demonstrate Navigation Control.

You can get more information in the offitial documentation:

RobotX_2018_Task_Summary

RobotX Main Page

Wam-V

Example: Use OpenAI ROS for Qlearning or DeepLearning To solve a challenge

This challenge consists of the following, extracted from the official documentation Draft linked above:

The Demonstrate Navigation and Control challenge is a mandatory
task. The Autonomous Maritime System (AMS) must autonomously
navigate through two sets of buoys, placed approximately 30m
apart. This task is mandatory prior to teams being permitted entry
to the courses for practice, qualifying, semifinals, and finals. Teams
must demonstrate that their Autonomous Maritime System is able
to autonomously and safely transit through the navigation channel.

Essentially is make the Wam-V go from point A to point B, without crossing a certain workspace, defined by ¡¡four colored buoys.

Demonstrate Navigation and Control challenge

Step 0: Download the needed files

To do this , you have two options:

* Execute locally:

  • 1) Download the needed files:

cd ~/catkin_ws
git clone https://bitbucket.org/theconstructcore/openai_examples_projects.git
git clone https://bitbucket.org/theconstructcore/openai_ros.git
cd openai_ros;git checkout version2
cd ~/catkin_ws;catkin_make;source devel/setup.bash

* Use a Plug&Play ROSject:

  • 1) Just click on the provided OpenAI-ROS ROSject link, here you will find a collection of examples and ready to go simulations, among which you will find the **wamv** for Qlearning and DeepLearning. 2) Let's launch the Qlearning example:

roslaunch wamv_openai_ros_example start_training_v2.launch

3) Want to lauhch instead the DeepLearning?:

roslaunch wamv_deep_qlearning start_wamv_deepqlearning_v2.launch

This should launch the world, spawn the robot and start the learning with Qlearn.

Wam-V Simulation

You should get something like this:

Wam-V Simulation

And thats it! So now its your turn to change the AI algorithm, maybe create TaskEnvironments for openai_ros of other challenges of the RobotX.

Video Tutorial

Wiki: openai_ros/Wam-V RobotX Challenge with openai_ros (last edited 2019-04-11 16:59:21 by Miguel Angel Rodriguez Martinez)