Automated Paintball Sentry

Project: A bachelor and

master degree project.

For the fun of playing

with technology!


The paintball sentry project involves three distinct

specialities of Software Engineering plus Mechanical

Engineering. This first prototype (as depicted on the

picture above).

 




  Prototype version of turret (2011)     

 

 


 

 


Equipment version 1.1

Same software but with enhanced hardware, with the

intention to reduce power consumption. Its now using

RB-Phi-67 stepped motor controller that communicates

via USB,  servos and one RB-Soy-09, un controleur

RB-Phi-79 controller for the trigger controller. These

components will be powered by a 12V 50Ah battery

that weights only 14kg. A new industrial tripod will 

be used for the tests and  finally an IBM Lenovo x230

will be used to host the turret software. See the

report from  Matio Parent of
Polytech

Clermont-Ferrand.

 





 








































































 










        














































 

Software Engineering Speciality 1


COMPUTER VISION AND MACHINE LEARNING


This part of the project is done using C++ and QT providing artificial vision algorithms to follow the targets

on the field. A state machine will be embedded to help control targetting decisions (e.g. TLD-Predator filter)

for accurate aiming and shooting, and will use neural network technology to allow the software to learn the

field characteristics and human shapes for better precision on different batllefields. Included are the

rencent enhancements:


- Video capture function

- Machine Learning based TLD-Predator filter

- Improved multithread

- Dynamic display of vision filters

- IP camera connection




     


Look here for actual application of these concepts. This version was not put to production. A new concept (version 3.0)

was developed by Mathieu Gagnon, Francis Lagacé, Yassir Saoudi and François Tremblay:




 FIGURE 4-1 : Overview of the next design (v 3) 


This new design also proposes new motors:


   
 AME 214 Series                                                                                        AME 218 Series  


As well as a new controller and battery: RoboClaw 2x30A compatible with Arduino, Rasberry Pi and Linux:


    

                                                                               FIGURE 5-11 : Choix final de la batterie (Yuasa NP7-12 : (11) 
 






Software Engineering Speciality 2


COMPUTER VISION

AND MACHINE LEARNING 



This part of the project is done using C++ and QT providing

artificial vision algorithms to follow the targets on the field.

A state machine will be embedded to help control targetting

decisions (e.g. TLD-Predator filter) for accurate aiming and

shooting, and will use neural network technology to allow the

software to learn the field characteristics and human shapes 

for better precision on different batllefields. Included are the

rencent enhancements:


- Video capture function

- Machine Learning based TLD-Predator filter

- Improved multithread

- Dynamic display of vision filters

- IP camera connection

 
 









   Latest version of the software (summer 2014)  

 





Software Engineering Speciality 3


SENTRY MANAGEMENT 



This part of the project requires a management software

for the sentry. This software can be used to choose

campaing modes, calibrate and record/rplay missions.

A Lenovo Laptop has to execute these softwares and

also interface with the hardware card that manages the

servos mechanisms that move the paintball gun (x, y)

and shoot on the moving targets powered by a 12volts

marine battery that is better suited for a paintball field

environment.


A first version of this software has been built and

there is still plenty of work to do in this area !

 

 




 
 



   

Software Engineering Speciality 4


EMBEDDED SOFTWARE  


This third sub-project requires low level programming of the three servos for

the movements (X,Y, Shoot) of the sentry using the inputs from the vision software:


- Servos (X,Y) control;

- Trigger control;

- Calibration;

- Managing the incoming commands;

- Sending confirmations;

- Managing the priorities of the commands/confirmations;

- Diagnostics (recovery after failures)