Difference between revisions of "E-puck Mobile Robot"

From Mech
Jump to navigationJump to search
Line 1: Line 1:
\[[Image:E-puck.png]]
[[Image:E-puck.png]]


The e-puck is a very capable little differential-drive mobile robot with two stepper-motor-controlled wheels, a VGA camera, a ring of IR proximity sensors, a number of LEDs, a 3-axis accelerometer, microphones, and bluetooth communication, all controlled by a 16-bit Microchip PIC (dsPIC30F6014A). We have a few of them in the mechatronics lab.
The e-puck is a very capable little differential-drive mobile robot with two stepper-motor-controlled wheels, a VGA camera, a ring of IR proximity sensors, a number of LEDs, a 3-axis accelerometer, microphones, and bluetooth communication, all controlled by a 16-bit Microchip PIC (dsPIC30F6014A). We have a few of them in the mechatronics lab.
Line 28: Line 28:
* A pdf [[Media:MyDoc.pdf|listing]] of (nearly) all the code in the libraries and demo programs, with table of contents. You may find this useful for quickly looking up the definitions of functions in the various libraries (I did).
* A pdf [[Media:MyDoc.pdf|listing]] of (nearly) all the code in the libraries and demo programs, with table of contents. You may find this useful for quickly looking up the definitions of functions in the various libraries (I did).
* Primary [[Media:Epuckprod_b_12.pdf|circuit schematics]] (pages 3-11 are especially useful).
* Primary [[Media:Epuckprod_b_12.pdf|circuit schematics]] (pages 3-11 are especially useful).
* Datasheets for some of the key IC's on the e-puck:
* Datasheets for some of the key components on the e-puck:
** [[Media:DsPIC30F6014A-datasheet.pdf|dsPIC30F6014]]
**
** [[Media:ADM3202-3.3V-RS232.pdf|ADM3202 CMOS to RS232 driver]]
** [[Media:LMX9820-bluetooth-datasheet.pdf|LMX9820 bluetooth]]
** [[Media:LP2985-IBPX-3.3-voltage-regulator.pdf|LP2985 voltage regulator]]
** [[Media::MIC2755-battery-supervisor.pdf|MIC2755 battery supervisor]]
** [[Media:MMA7260Q-3Daccelerometer.pdf|MMA7260Q 3D accelerometer]]
** [[Media:PO3030-camera.pdf|PO3030 VGA camera]]
** [[Media:SI3000-KS-voice-codec-mic-spkr-drive.pdf|SI3000-KS voice codec and microphone speaker drive]]
** [[Media:Si9986CY-buffered-hbridge.pdf|Si9986CY buffered H-bridge]]
**
**

Revision as of 13:18, 13 November 2007

E-puck.png

The e-puck is a very capable little differential-drive mobile robot with two stepper-motor-controlled wheels, a VGA camera, a ring of IR proximity sensors, a number of LEDs, a 3-axis accelerometer, microphones, and bluetooth communication, all controlled by a 16-bit Microchip PIC (dsPIC30F6014A). We have a few of them in the mechatronics lab.

The e-puck page is http://www.e-puck.org, and it is the primary source for all updated information on the e-puck. Here we simply keep some local helpful hints on getting started with the e-puck, along with a snapshot of some of the e-puck software from November 2007. See [1] for the most up-to-date information!

To get started, you need

(After you have success with the tutorial, you will soon want the libraries and more extensive demo programs from http://www.e-puck.org. A snapshot of these as of November 2007 is [[Media:E-puck-snapshot.tar.gz|here], and these will be referred to below.)

Now follow the instructions on the getting started documentation. After you have installed the IDE, C compiler, and bootloader, get the tutorial working. (You may need a USB-to-bluetooth adapter and software if your PC does not have bluetooth.)

Once you have successfully compiled and made small modifications to the tutorial, the next thing you might want to try is the e-puck monitor program, a PC executable file, which can be found on the e-puck website. To use it, you have to write to the PIC flash the program sercom.hex, which can be found in program/advance_sercom of the demo programs. This is a graphical user interface that allows you to interact with most of the functions of the e-puck.

Once you have this working, try connecting to the e-puck (still running the sercom.hex program) using the PC's HyperTerminal program. Make sure you connect on the proper COM port, using a comm rate of 115,200 bits/sec, 8 data bits, parity none, 1 stop bit. Typing 'H' should show you a menu of options, and you again can interact with the e-puck (minus the graphical interface).

Since sercom.hex uses many of the features of the e-puck, it is a good place to start your in-depth exploration of programming the e-puck. Here's one thing to try: replace the main_com.c file of the sercom project with Media:My_main_com.c\my_main_com.c. This is a more concise and better documented version of the main_com.c file of the sercom project. You will either have to comment out the #define KML_MODIFICATIONS line near the beginning of the program, or follow the instructions in the comments at the beginning of the file, which ask you to modify two other files. These modifications allow you to do programmed moves of a specified distance, rather than simply choosing the velocity of the robot.

Now you are well on your way to good programming of the robot. Here is some other information you might find helpful in your exploration (remember, much more can be found at the e-puck website: