Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550

Deprecated: (6.186) preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /afs/athena.mit.edu/course/6/6.186/web_scripts/2013/w/includes/Sanitizer.php on line 1550
Code Documentation - Maslab 2013

Code Documentation

From Maslab 2013
(Difference between revisions)
Jump to: navigation, search
Line 3: Line 3:
 
*pyusb (gives usb-core, which is used to repeatably identify the Arduino in the Arduino interface code)
 
*pyusb (gives usb-core, which is used to repeatably identify the Arduino in the Arduino interface code)
 
*If you want to modify the code loaded on the Arduino (for gyro, accelerometer integration, for instance) the Arduino IDE is at http://www.arduino.cc/en/Main/software (the eeePCs are using IDE 1.0)
 
*If you want to modify the code loaded on the Arduino (for gyro, accelerometer integration, for instance) the Arduino IDE is at http://www.arduino.cc/en/Main/software (the eeePCs are using IDE 1.0)
 
===External Library Documentation===
 
* Vision
 
** OpenCV (http://opencv.willowgarage.com/wiki/) - An open source library for computer vision. Available for a number of languages.
 
** SimpleCV (http://simplecv.org/) - A high-level wrapper around OpenCV for Python. This could be useful if doing simple image processing. One particularly interesting example is detection of a yellow car: http://simplecv.org/learn/examples/parking.html.
 
* State Machines (it's reasonable to write your own state machine code)
 
** Fysom (https://github.com/oxplot/fysom) - A slick FSM implementation that provides function callbacks for each state. (NOTE: Hasn't been looked over, since Github is down at the time of this writing)
 
** Skip Montanero's FSM (http://www.smontanaro.net/python/fsm.py) - A simple FSM implementation.
 
** Python-Course (http://www.python-course.eu/finite_state_machine.php) - FSM tutorial, including code for a general FSM implementation
 
* Arduino
 
** pySerial (http://pyserial.sourceforge.net/) - If you want to roll your own Arduino communication library, you can simply use pySerial to read/write data from the serial connection. You can find an example on the Arduino site: http://playground.arduino.cc/Interfacing/Python.
 
  
 
===Staff Code Documentation===
 
===Staff Code Documentation===
Line 33: Line 22:
 
* Python interface library -- Use classes in this library to interact with the Arduino. Go to [[Code_Documentation/Interface_Library]] to read more about this.
 
* Python interface library -- Use classes in this library to interact with the Arduino. Go to [[Code_Documentation/Interface_Library]] to read more about this.
 
* Lots of examples. Look in the examples folder for lots of examples on how to use the Python interface library.
 
* Lots of examples. Look in the examples folder for lots of examples on how to use the Python interface library.
 +
 +
===External Library Documentation===
 +
* Vision
 +
** OpenCV (http://opencv.willowgarage.com/wiki/) - An open source library for computer vision. Available for a number of languages.
 +
** SimpleCV (http://simplecv.org/) - A high-level wrapper around OpenCV for Python. This could be useful if doing simple image processing. One particularly interesting example is detection of a yellow car: http://simplecv.org/learn/examples/parking.html.
 +
* State Machines (it's reasonable to write your own state machine code)
 +
** Fysom (https://github.com/oxplot/fysom) - A slick FSM implementation that provides function callbacks for each state. (NOTE: Hasn't been looked over, since Github is down at the time of this writing)
 +
** Skip Montanero's FSM (http://www.smontanaro.net/python/fsm.py) - A simple FSM implementation.
 +
** Python-Course (http://www.python-course.eu/finite_state_machine.php) - FSM tutorial, including code for a general FSM implementation
 +
* Arduino
 +
** pySerial (http://pyserial.sourceforge.net/) - If you want to roll your own Arduino communication library, you can simply use pySerial to read/write data from the serial connection. You can find an example on the Arduino site: http://playground.arduino.cc/Interfacing/Python.

Revision as of 06:14, 7 January 2013

What you might want on your computer

  • OpenCV (installing this can be a bit challenging, ask staff if you need help)
  • pyusb (gives usb-core, which is used to repeatably identify the Arduino in the Arduino interface code)
  • If you want to modify the code loaded on the Arduino (for gyro, accelerometer integration, for instance) the Arduino IDE is at http://www.arduino.cc/en/Main/software (the eeePCs are using IDE 1.0)

Staff Code Documentation

Getting set up:

The staff code is located on Github: https://github.com/gkanwar/maslab-staff-2013. Our recommended setup:

0. Make a Github account if you do not have one already. (Each team member should do this)
1. One team member should go to https://github.com/gkanwar/maslab-staff-2013 and click 'Fork' in the top right. This will copy the staff code into your own personal Github repository.
2. This team member should then go to Settings > Collaborators and add every other team member.
3. Each team member can now clone the Git repository onto their local computer using the 'git clone' command.
4. Team members can then make local edits and push and pull from the Github repository.
5. Your netbook should also have a clone of this repository, so you can run the code on your robot.


What do we give you?

The staff repository contains three things:

  • Arduino firmware -- Load this onto your Arduino by opening it up in the Arduino IDE and clicking Upload. You shouldn't need to modify this code unless you have a really special setup.
  • Python interface library -- Use classes in this library to interact with the Arduino. Go to Code_Documentation/Interface_Library to read more about this.
  • Lots of examples. Look in the examples folder for lots of examples on how to use the Python interface library.

External Library Documentation

Personal tools