Texas A&M University primary mark

Department of Computer Science and Engineering

Sample Image

CSCE 689-600: Special Topics in Multi-Robot Systems

Docking exercise

Your objective is to write a player client program for the iRobot create that will demonstrate obstacle avoidance (using the bumper) and docking within the provided dock using the IR channels. To do this you will need to process incoming input from sensors and generate the correct controls to produce base-seeking behavior. You can do this any way you see fit. Some examples of how you might structure the controller:-

  • Building seperate behaviors using a subsumption-style architecture.
  • Implementing and tuning a PID contoller.

Perhaps the single most important outcome of this project is that you should become familar with linux, player, and the development environment. To do this you'll have to immerse yourself in the culture of free and open-source software by seeking online help when you need it. You can also share any useful information or techniques with yourclass mates.

The following two figures are from the iRobot Create Open Interface (v2) documentation, and will probably prove to be useful for you. If you need more information, that document can provide it. So too can archives of player support mailing lists and the source code itself.


Evaluation

Your controller will be assessed by the instructor in person in a one-on-one meeting. You will demonstrate the docking behavior of the robot. The following are aspects that will be considered in the evaluation:-

  • Does the robot dock successfully?
  • Is the obstacle avoidance robust?
  • Do different environmental or lighting conditions affect the performance?

Logging in/Running the code

All logins and passwords are netbook.

Run player by typing the following command in a terminal:
 player ~/local/config/create.cfg

In a second terminal, run create test example:
 cd ~/src/create_test
 ./create_test

You can open and edit the source file:
 vim create_test.c

Rebuild the binary using the makefile:
 make

Documentation

Documentation for player is most useful from the following links:

  • C Client Documentation
  • Position2d Device

• Texas A&M University •