Controlling an octopus arm

Task Description

The goal of this task is to control an octopus arm in order to reach a desired goal region. Additionally, the agent is required to reach the goal in minimum time. The simulator offers a graphical display, for visualization. This can be turned off during training. A screen shot (with the two red dots representing targets) is below.

Octopus arm bringing food to mouth


The main binary distribution package contains all files needed to run the simulator and to create and run agents. Template agents are provided in C, Java, and Python. As the simulator is written in Java, there is only one download for all platforms.

Please refer to the included readme file for specific system requirements and usage instructions.

Additional documents:

Source code

The files above are sufficient to use both the simulator and the random agents. However, we also provide the source code, for anyone interested:


For support, please e-mail Danny Castonguay (dan.cast at mail dot mcgill dot ca) or Eric Vigeant (evigea at cim dot mcgill dot ca) and cc Doina Precup (dprecup at cs dot mcgill dot ca)

Possible extensions

The current code distribution allows for two types of tasks to be defined: