SLAM Robot

I’ve been working on a robot to study the SLAM (Simultaneous Localization And Mapping) algorithm so I’ll post what’ve done so far in this article.This project pretty much involved all the stuff I know and all the knowledge I used in other projects.So for the time being I’ll just put the link of these previous projects for some of my thought and save some time.

So here’s my overall design of this robot:

Hardwares
●Pololu Zumo32u4 as the base,it comes with differential drive tracks,Atmega32u4,short range IR sensors,encoders,9 axis motion sensors.See how I fuse the motion sensors in Building the Race Car or Evaluating the SensHub with MSP430 post.
●Launchpad MSP430,the main controller,talks with Atmega32u4 through UART,transceive data with PC through Bluetooh module,also gathers data from long range IR sensors,ultrasonic sensors,and camera.
●LIDAR,controlled by Atmega32u4,data will be sent to PC for visualization.See my teardown review of this LIDAR here.

hardwares

Softwares
●Pololu Zumo32u4,or Atmega32u4,use library from Pololu to read all the on-board sensors data and control the motion.Works as a salve and executes command from MSP430.Use State Machine to module the program.See the use of State Machine and protocol in Entrance Guard System post.
●MSP430,runs on FreeRTOS,one UART task for communication with Atmega32u4,one UART task for transceiving data with PC through Bluetooth,one task for reading OV7670 camera,one task for reading ultrasonic and infrared sensors,and one task for robot control and decision making.See how to run FreeRTOS on MSP430 here.
●On PC,use Qt Framework to create a GUI for visualizing the data,and controlling the robot.See how I designed the GUI in GerberCAM project here.

Control Algorithm
One of the task is multisensors data fusion,please check this post for detail.
For robot closed loop control,image recognization,please check this post.
The most important algorithm is of course SLAM,which I’ve posted yet.It will take lots of time to write so I’ll just leave it for the future.However,if you really want to know about SLAM,there’s a excellent online course on Udacity called Artificial Intelligence for Robotics by Professor Sebastian Thrun,the founder of Google self-driving car.

zumo sensor diagram_1

Progress

Building the robot in Solidworks

render2_1

Making some necessary parts to mount the LIDAR and other hardwares.

IMG_20160131_195621286

IMG_20160131_192853329

IMG_20160131_203349062_TOP

IMG_20160214_160235194

For testing,avoid using batteries and use power supply to power the system.Also the LIDAR UART pins are connected to PC through a USB-TTL module for developing the visualizing GUI.

IMG_20160214_160429644

Testing OV7670 with MSP430.Thanks to the FIFO on camera,it saves lots of trouble and makes the reading task more easier.However,getting the camera to work still needs a lot effort..

IMG_20160214_160822088

to be continued..

Author: Malcolm

Currently MSEE student in UT Dallas.

One thought on “SLAM Robot”

Leave a comment