Sbot Common Interface

From IridiaWiki
(Difference between revisions)
Jump to: navigation, search
(What is the common interface, and why should we use it?)
Line 3: Line 3:
 
;Write Controller Once, instead of modifying for each platform.
 
;Write Controller Once, instead of modifying for each platform.
 
* Save time - no code rewrites. Maintain just one version of your code
 
* Save time - no code rewrites. Maintain just one version of your code
* Allows frequent reality checks on real robots.
+
* When developing in simulation, you can do frequent reality checks on real robots.
   
   
Line 13: Line 13:
 
* Share and jointly improve tools - eg. scripts for copying files to sbots
 
* Share and jointly improve tools - eg. scripts for copying files to sbots
 
* All extra libraries included in common interface - toolchain, sboteyelib etc.
 
* All extra libraries included in common interface - toolchain, sboteyelib etc.
 
   
 
==Common Interface QuickStart==
 
==Common Interface QuickStart==

Revision as of 12:50, 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 and run one of the example controllers on the real robot
    • cd sbotci/real_sbot
    • ./build_scripts/build_support_libs.sh (build toolchain, sboteyelib etc)
    • make controller=describe_circle
  4. 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
Personal tools