Code Documentation
From Maslab 2013
(Difference between revisions)
GurtejKanwar (Talk | contribs) (→Documentation) |
GurtejKanwar (Talk | contribs) |
||
Line 4: | Line 4: | ||
*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) | ||
− | ===Library Documentation=== | + | ===External Library Documentation=== |
* Vision | * Vision | ||
** OpenCV (http://opencv.willowgarage.com/wiki/) - An open source library for computer vision. Available for a number of languages. | ** OpenCV (http://opencv.willowgarage.com/wiki/) - An open source library for computer vision. Available for a number of languages. | ||
Line 14: | Line 14: | ||
* Arduino | * 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. | ** 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=== | ||
+ | '''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. |
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)
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
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.