<commit_before>Robot Kata
==========

A [web application](http://robot-kata.herokuapp.com) to explore a simple robot
programming problem.

### The Problem ##

This simple robot (the gray circle with the black outline) needs to get back to
its dock (the black and blue blob) to charge.  The dock emits infrared lobes
(the green, yellow, and red blobs) to guide the robot in.  The robot has a
single sensor (the small black circle at its front) that can sense the color of
the infrared beams.  Each test starts the robot at a different orientation in
the environment.

Program the robot to navigate to the blue part of its dock without crossing the
black part.

### How to program the robot ###

To program the robot, you can overwrite two functions in the JavaScript console:
`robot_kata.robot.init_robot_state` and
`robot_kata.robot.get_new_robot_velocity`.  (Best to edit in an external editor
then copy and paste in.)  `init_robot_state` is called at the beginning of each
test run to initialize any state you want to maintain.  `get_new_robot_velocity`
is called at each 20Hz tick of the simulation to determine the new commanded
velocity of the robot.  For example, here is how the robot is programmed<commit_msg>Initial attempt to show screenshot in README<commit_after>Robot Kata
==========

A [web application](http://robot-kata.herokuapp.com) to explore a simple robot
programming problem.

### The Problem ##

![Screenshot](screenshot.png)

This simple robot (the gray circle with the black outline) needs to get back to
its dock (the black and blue blob) to charge.  The dock emits infrared lobes
(the green, yellow, and red blobs) to guide the robot in.  The robot has a
single sensor (the small black circle at its front) that can sense the color of
the infrared beams.  Each test starts the robot at a different orientation in
the environment.

Program the robot to navigate to the blue part of its dock without crossing the
black part.

### How to program the robot ###

To program the robot, you can overwrite two functions in the JavaScript console:
`robot_kata.robot.init_robot_state` and
`robot_kata.robot.get_new_robot_velocity`.  (Best to edit in an external editor
then copy and paste in.)  `init_robot_state` is called at the beginning of each
test run to initialize any state you want to maintain.  `get_new_robot_velocity`
is called at each 20Hz tick of the simulation to determine the new commanded
velocity of the robot.  For example, here is how the robot is programmed
{'fraction_non_alphanumeric': 0.05929487179487179, 'fraction_numerical': 0.0016025641025641025, 'mean_word_length': 4.5488888888888885, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '547111', 'n_tokens_mistral': 701, 'n_tokens_neox': 670, 'n_words': 374}