A client/server for robot localization (using a 'particle filter') and distant control.
For the (real) car, an arduino (for motor control and sensor readings) and a raspberry pi (for communication) are used. You can the robot's arduino sketch, autonomee.ino, car.h and compass.h.
- A basic SVG parser
- A pathfinder (A*)
- Nearest obstacle detection (to simulate the sensor's measurements)
- Basic probability model : particle filter. (hopefully we'll also implement one based on Kalman's filter)
- Visualization of the robot's movements and the particles used to localize it.
- A client/server to push commands to the car and control it (through serial ports)
- Python 2.7
- Qt and PySide (Qt's python binding)
The packets sent to the server (TCP) respect this format:
OPCODE(2 chars) + "#" + OPERANDE 1 (6 chars) + "#" + OPERANDE 2 (6 chars)
OPCODE=01; Example :
OPCODE=-1; Example :
Turning right :
OPCODE=02; Example :
Turning left :
OPCODE=-2; Example :
Setting speed :
OPCODE=05, first operand is a factor ranging from 0 to 250. ; Example :
A (responsive) mobile (Android) client compatible with the communication protocol used has been developped by Alexis Fasquel.
22 May 2013
We presented this project (initally a class project) to our fellow students (@INSA Lyon) today. You can check the presentation (in French) here: https://slid.es/halflings/autonomee
2 May 2013
The project's name has changed from 'Carosif' to 'Autonomee'.
28 April 2013
We've added many major features, including a dashboard showing the sensors' data, a dialog to configure the car's properties and the visualization of the particle filter.
Here's a video showing the particle filter in action :
25 March 2013
This now also includes a server/client made to be used in a Raspberry Pi connected to the Arduino controlling the car. Check how that work out in a 'joystick controlled' mode :