RGB Swarm Robot Project E-puck Code (outdated)
From Mech
This page documents the e-puck code for the RGB Sensing Swarm Robotics project. The code on the e-puck was written in C and compiled using Microchip's MPLAB C Compiler for dsPIC DSCs (student version).
This code is a branch of the Swarm Project E-puck Code.
Tasks
Complete
- Restructured code to make more modular.
- Split dsPIC_XBeePackets and wheel_speed_coordinator into h and c files
- Pulled packet assembling code out of main and created send_packet() function in send_packet.h/c.
- Pulled a bunch of variables and defines (NUM_DATA_SETS, NUMBERS_PER_SET, DATATYPE_BYTELENGTH , DATA_ARRAY_LENGTH , ADDITIONAL_NUMS, notRTS, T1_INT_FLAG, x_i, u_i, w_i, x_sum, w_sum, MAX_WHEEL_V_TICKS, deadband, COMMR, SAFEDIST, MINDIST, u_x_ideal, u_y_ideal, x_motion_integral, y_motion_integral, SQUARE) that were scattered across h files into global_vars.h/c. Makes it easy to include them in a particular file with the extern keyword.
- Added color_cal() function in color_cal.h/c
- Added wheelSpeedSingleBot to wheel_speed_coordinator
To Do
- Finish color_cal
- Make the vision system position information updater smarter.
- Replace wheelSpeedSingleBot with the three step move controller from NUtest.c
- Implement new algorithm
Project Package
The source code for the project is available here:
Description of the files
color_cal
- .c: Does some stuff
- .h: Declares some stuff
function1
does all this stuff
function2
does some other stuff
dsPIC_XBeePackets
- .c:
- .h:
e_acc
- .c:
- .h:
e_ad_conv
- .c:
- .h:
e_init_port
- .c:
- .h:
e_led
- .c:
- .h:
e_motors_swarm
- .c:
- .h:
global_vars
- .c:
- .h:
main
- .c:
- .h:
send_packet
- .c:
- .h:
PI_consensus_estimator
- .h:
wheel_speed_coordinator
- .c:
- .h: