RGB Swarm Robot Project E-puck Code (outdated)

From Mech
Jump to navigationJump to search

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:

Description of the functions