Autonomous Wheelchair Robot, started in 2013 as part of REU at UCA.
The Automated Wheelchair Prototype is an early built model of an autonomous wheelchair used to test ideas and act as the real model to learn from. We used an Arduino Board called "Arduino Uno" to implement this sample. The Arduino Uno is a micro controller board with 14 digital input/output pins, 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, a track and wheel set, and a reset button. Everything needed to support the micro controller is contained. It can be powered by connecting to a computer using a USB cable, AC to DC adapter, or battery. Arduino is very flexible. You can do a lot of neat stuff with it. We chose to add an RFID reader to our board. It reads little rectangle shaped RFID tags. We laid out all of the RFID tags in an order that resembles the map which comes from the UI. We also added a battery pack that uses double-A batteries because the last one became dismembered. It's one of the best tools for interfacing software to the real world. Arduino has very limited memory and input/output compared to modern computers.
Hardware: Gearbox, 38T Crown Gear, Hexagonal Shaft, 12T Gear, 42T Gear, 8T Pinion Gear, 42T/12T Gear, and Electric Motor, Battery Case, Bread Board, USB Cord, Wheels, Tracks, Grease, Resistors, Wires, and RFID Reader.
Software: Github, Eclipse, Arduino, A*, Java Script, Html, C++, Notepad++, and Visual Studio.
A*:
The A* path-finding algorithm is used in many applications (primarily video games) to find the shortest path between two nodes in a computationally efficient manner.
It does this by keeping a sorted priority queue to keep track of the shortest path at any given time between the start and end nodes.
The A* algorithm receives an RFID value when starting and then is given the finish value from the file generated by the keypad integrated into the UI.
The algorithm for this particular application was written in C++ and heavily edited before its current state.
Robot: The navigation is sent to the DFRobotshop Rover via serial communication. The robot, based on the Arduino Uno, uses the directions sent from the PC to navigate through the maze while sending the RFID tag numbers back to the PC as position feedback. The RFID reader also uses serial communication to send information to the Arduino via software serial ports.
User Interface (UI): The UI is developed in HTML with JavaScript. It utilizes PhP for some of the server commands. The UI allows users to create floor layouts of buildings and save those layouts as maps. The maps can contain information about the RFID cards and their location. The map is saved using PhP and updates a MySQL database. The Database holds the RFID card values so the user does not need to remember the 12 digit unique hexadecimal ID for each card. The database also links rooms with doorways so that the navigation algorithm will know where rooms are. The second part of the UI is developed in HTML with JavaScript and provides a way for the user to determine the endpoint. They can put in the room number of their destination and the UI will create a file with the locations of said room. This file is used in navigation.
http://arduino.cc/en/Guide/HomePage
Getting Started With Arduino... http://arduino.cc/en/Guide/HomePage The Arduino Website... http://arduino.cc/en/ Download the Arduino Software... http://arduino.cc/en/Main/Software Getting Arduino To Work In Eclipse under Linux.. http://sun0.cs.uca.edu/~administrator/reu/arduino-eclipse-linux.html Getting Arduino To Work In Eclipse under Windows... http://sun0.cs.uca.edu/~administrator/reu/arduino-eclipse-windows.html Eclipse And Git In Windows... http://sun0.cs.uca.edu/~administrator/reu/git-win.html Arduino Tutorial Memory... http://arduino.cc/en/Tutorial/HomePage PROGMEM... http://www.arduino.cc/en/Reference/PROGMEM Visual Navigation Algorithms http://qiao.github.io/PathFinding.js/visual/ Pro Git Book... http://git-scm.com/book
Professor: Michael Nooner Graduate Assistant: Michael Turney REU Students: Anna Shafer REU Students: Francisco Ruiz REU Student: Justin Mabon