Home | Tasks | Help | Blog | Register | Login

Stats

Players
13

Top players

#1 mlohbihler (-122960)
#2 Raelifin (-126524)
#3 moldy (-132270)
#4 adrian (-142846)

Robotic arm

Level: tricky

Get the robotic arm to touch 1000 targets that randomly appear. Minimize both your time and energy to maximize your score.

For general GoiD concepts visit the help page. For more information on this task, read on.

The agent in this task is a two dimensional robotic arm with two degrees of freedom. It is subject to the classical mechanics rules of a double pendulum, where the upper arm and the forearm have the same length and mass. The arm is also subject to a downward gravitational force. It begins in a motionless state hanging straight down.

The shoulder joint is able to rotate between -π/2 (north) and π*3/4 (southwest). The elbow joint can move from -π to 0, respective to the upper arm. More simply, it can move similar to a human arm if it were constrained to a two dimensional plane. These movement constraints were chosen specifically to prevent the arm from having multiple possible positions to reach the same point, simplifying the task. The actuators allow torques to be applied to the shoulder and elbow joints, similar to how muscles work. Torques in this case, however, can be positive or negative. There is no imposed constraint on the forces that can be applied, but since the usage of energy negatively affects the score it is best to be conservative.

Targets will appear within the dexterous space of the wrist. To collect a target, the wrist circle must completely contain the target. Only a single target is displayed at a time. When it is collected, another will appear somewhere else.

Research shows that humans move their hands in roughly straight lines toward targets. This likely is an energy-minimization strategy, although there are other possible reasons. The sample script for this task attempts to adjust the arm's angle efficiently, but because of angular momentums the outcome is highly dependent upon current state.

Scores are calculated as follows: 50000 - turns - 2*energy. So, conservation of both time and energy is necessary for the best score. The target count of 1000 was chosen to minimize the effects of randomness in the game, and to provide learning algorithms with (hopefully) sufficient time to become proficient.

senses

actuators

Play now: (or use the applet)

All tasks can be played either as applets or with Java Web Start. Applets are convenient, but the rendering in Web Start is much better. Web start is recommended.