Autonomous Collision Avoiding Robot

Purpose

This project is an update to the previous Collision Avoiding Robot demonstration. Please see the following link for the previous overview of the past project here. The purpose of this project is to create a robot capable of moving straight as well as to provide real-time data to a remote machine.

Components

[OLD]

[NEW]

Background

This upgraded robot uses the same premise as the previous design by using IR detection to avoid nearby objects; however, this new design incorporates a wifi module to send data to a backend PC, wheel encoders to provide input to the PID control mechanism, and an IMU to provide heading information. The combination of these additional components will allow for the robot the robot to transmit real-time data regarding it's movement. Once sent to the remote machine, it will be displayed on a GUI created in C#.

C# GUI

The C# program collects/parses information transmitted from the mbed device. This collection process is done by reading data displayed by an HTTP web page produced by the web server hosted on the mbed. The process occurs every second, and once parsed, the data is translated onto the GUI interface. In the future, it would be more efficient to create a sock connection between the remote connection and the mbed, but time constraints resulted in this software polling for information. /media/uploads/Mcapone/robotdemogui.png

Pictures

Front side of the robot

/media/uploads/Mcapone/img_2649-1-.jpg

Side view of the robot

/media/uploads/Mcapone/img_2648-1-.jpg

Close-up of board

/media/uploads/Mcapone/img_2650-1-.jpg

Pinouts

MBEDH-BridgeMotor
P 30AIN2
P 29AIN1
P 28BIN1
P 27BIN2
VccVcc
VoutVMOT
GndGnd
VccSTBY
AO0Right Motor+
AO1Right Motor -
BO0Left Motor +
BO1Left Motor -
MBEDIR Sensor
Pin 16Analog Input
VccPower
GndGnd

3.3V Voltage Regulator

/media/uploads/Mcapone/lf33_umgeb1.png

MBEDWIFI
GndGnd
P 25Reset
P 13RX
P 14TX
3.3V Regulator
VoutVcc
VoutCH_PD
MBEDIMU
VccVdd
P 9SDA
P 10SCL

Code Example

This piece of code has the robot moving into a straight line and avoids obstacles by reading in values from the IR sensor. Once the robot detects that an object is in its path, it reads the values from the sonar and attempts to turn 90 degrees into the most open area as indicated by the sonar input. The robot continues to move indefinitely until it is stopped.

Import program4180FinalDesignProject

ECE 4180 Final Design Project Robot Code (Soradhmuny Lanh and Michael Capone)

Code Example

This piece of code is used in tandem with the the C# GUI application to host a web server that provides the heading information provided by the IMU (C# program found HERE). The C# GUI application parses the html data of the webpage and finds the relevant information by parsing the tags with regex. The program polls the site approximately every second to get the latest readings. Once valid data is received from the web page, the GUI rotates the image based on the heading degree. When attempting to use, the C# program will need to be altered to find the correct static IP address of the web page.

Import program4180FinalDesignProjectWifi

ECE 4180 Final Design Project Wifi Code (Soradhmuny Lanh and Michael Capone)

Demonstration

Demonstration of the Code Example

Group Members

Michael Capone & Soradhmuny Lanh - Section A


Please log in to post comments.