Difference between revisions of "Sbot Common Interface"

From IridiaWiki
Jump to navigationJump to search
Line 36: Line 36:
 
#*make
 
#*make
 
#*./twodee -e10003 --experiment-parameters controller=describe_circle
 
#*./twodee -e10003 --experiment-parameters controller=describe_circle
  +
  +
  +
==Write your own common interface controller==
  +
  +
You will need to familiarise yourself with the basics of source code control using svn.
  +
If you are already familiar with cvs this is a piece of cake, as svn commands are by in
  +
large a superset of cvs commands.
  +
  +
When you write your common interface controller, you basically have to implement three functions
  +
*Init()
  +
*ControlStep()
  +
*Stop()
  +
Everything else is done for yo.
  +
  +
  +
Your code needs to live in the directory sbotci/controllers/<your_name>/<controllername>
  +
  +
If this code does not exist

Revision as of 12:56, 28 March 2006

What is the common interface, and why should we use it?

Write Controller Once, instead of modifying for each platform.
  • Save time - no code rewrites. Maintain just one version of your code
  • When developing in simulation, you can do frequent reality checks on real robots.


Why common interface.png


Everyone shares a common build environment. We can stop reinventing the wheel.
  • All controllers stored in common repository. Can easily browse other people's code.
  • Share and jointly improve tools - eg. scripts for copying files to sbots
  • All extra libraries included in common interface - toolchain, sboteyelib etc.


Common Interface QuickStart

  1. Install subversion.
    • apt-get install subversion
  2. Checkout common interface from repository
    • svn checkout svn+ssh://<your iridia username>@iridia.ulb.ac.be/usr/local/share/svn_repositories/sbotci
  3. Compile one of the example controllers for the real robot
    • cd sbotci/real_sbot
    • ./build_scripts/build_support_libs.sh (build toolchain, sboteyelib etc)
    • make controller=describe_circle
  4. Copy binary to sbot and run it
    • tools/sbot_file_copy/describe_circle <sbotnumber>
    • ssh root@sbot<sbotnumber>
    • cd /tmp
    • ./describe_circle
  5. Compile twodee and run an example controller
    • cd twodee
    • ./bootstrap.sh
    • ./configure
    • make
    • ./twodee -e10003 --experiment-parameters controller=describe_circle


Write your own common interface controller

You will need to familiarise yourself with the basics of source code control using svn. If you are already familiar with cvs this is a piece of cake, as svn commands are by in large a superset of cvs commands.

When you write your common interface controller, you basically have to implement three functions

  • Init()
  • ControlStep()
  • Stop()

Everything else is done for yo.


Your code needs to live in the directory sbotci/controllers/<your_name>/<controllername>

If this code does not exist