E-puck Mobile Robot

From Mech
Jump to navigationJump to search

E-puck.png

The e-puck is a very capable little differential-drive mobile robot developed at EPFL, Switzerland. It has two stepper-motor-controlled wheels, a VGA camera, a ring of IR proximity sensors, a number of LEDs, a 3-axis accelerometer, 3 microphones, a speaker, 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 keep a local copy of everything you need to get started, which includes a snapshot of the EPFL e-puck libraries from December 2007.

To get started, you need

After you have downloaded the e-puck software and unzipped it, you will see five folders: docs (including a reference manual and a listing of all the source files), library (functions for inclusion in user programs), program (some example e-puck programs using the library), tool (some example PC programs for interacting with the e-puck), and tutorial (a "getting started" document and associated programs). This "e-puck" folder is normally placed in the C:\ directory, but other locations are fine.

Now follow the instructions on the "getting started" documentation in the "tutorial" folder. After you have installed the MPLAB IDE, C compiler, and bootloader, get tutorial A 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 EpuckMonitor.exe, found in the tool/e-puck_monitor folder. This PC executable file gives you a GUI interface to the e-puck's functions. To use it, you must load the sercom.hex program on to the e-puck, found in program/advance_sercom.

Now let's look at another way to interact with the e-puck, using the PC's hyperterminal program, under Start/Programs/Accessories/Communications. Follow the instructions in program/NUtest/NUtest.c to create an MPLAB project. (Here is the NUtest.c code by itself. It is included in the software zip file.) After compiling the program and downloading it to the e-puck PIC, connect to the e-puck using hyperterminal on the proper COM port, a comm rate of 115,200 bits/sec, 8 data bits, parity none, 1 stop bit. Typing 'H' followed by enter should show you a menu of options, and you again can interact with the e-puck (minus the graphical interface). Since the program NUtest.c uses many of the functions of the e-puck, it is a good place to start your in-depth exploration of programming the e-puck. Try to understand in detail how the libraries are used to implement each of the functions.

Now you are well on your way to good programming of the robot. You might also find it instructive to look at the demo programs that were pre-loaded on the e-puck in e-puck/program/demo_swis_1. Here is some other information you might find helpful in your exploration (remember, more can be found at the e-puck website):

Below is the dsPIC30F6014A as it is used in the e-puck. For the pins that can be configured in more than way, the configuration used by the e-puck is indicated by yellow highlighting.

PIC_in_e-puck.png