These are demonstrations with a real robot.
The robot employed here is Bioloid, made by ROBOTIS. To execute the following demos, at least, Bioloid Comprehensive Kit is needed. However, you can use the other type of Bioloid Kit by changing the agent scripts of these demos.
Note: we do not guarantee that the demos work with a real robot (but can advise a way to improve :-).
We use the King Spider model of Bioloid.
A crawling task is performed with this robot.
The objective of the crawling task is to move forward as far as possible. So, the reward is designed so that it is proportional to the velocity of the robot. Bioloid has an infrared ray (IR) sensor to observe the distance from the robot to an obstacle. We use the IR sensor and calculate the velocity for the reward.
The following figure shows a setup of the environment.
Each episode begins with an initial pose, and ends if t>50[s], the robot touches the wall (determined by the operator), or some problems arise.
Execute:
$ cd benchmarks/bioloid $ make
See Documentation/Installation Guide for the detail.
Please read Common Usage in advance. The running command is:
$ ./DEMO_PRG -path PATH_LIST -agent AGENT_FILE -outdir OUT_DIR
The demo-specific elements are:
For example, execute the following:
$ mkdir -p result/rl1 $ ./bioloid.out -path ../cmn,m,m/cr -agent ql_dcob1 -outdir result/rl1
To exit the program, press Ctrl+c on the terminal, then press 'Q' (shift+q).
In OUT_DIR (result/rl1), the result files are stored. For example, use gnuplot to plot the learning curve as:
$ gnuplot gnuplot> plot 'result/rl1/log-eps-ret.dat' w l
The following files can be specified as AGENT_FILE.
(This part was written in Jun. 10, 2011)
We tested our bioloid program in some linux distributions, and found that some of them have a trouble in the serial communication. Concretely, the program failed to connect bioloid.
The following way can fix this issue.
First, remove the pl2303 module from the kernel by:
sudo modprobe -r pl2303
Then, reload the same module:
sudo modprobe pl2303
We found that this problem arises in Ubuntu ver. 10.10 and ver. 11.04. This problem is discussed in Ubuntu Forums.