Difference between revisions of "Sbot Common Interface"

From IridiaWiki
Jump to navigationJump to search
Line 1: Line 1:
 
==What is the common interface, and why should we use it?==
 
==What is the common interface, and why should we use it?==
   
# 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.
+
* Allows frequent reality checks on real robots.
   
   
Line 9: Line 9:
   
   
# Everyone shares a common build environment. We can stop reinventing the wheel.
+
; 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.
+
* 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
+
* 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.
   
   

Revision as of 11:48, 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
  • Allows 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