Emergent Behavior Robot

by Andrew Elliott & Nick Hanauer

Status Updates

As this project develops, periodic updates and major milestones will be posted here.

May 13, 2019

Final Report has been posted.

April 27, 2010

The remaining time was devoted to generating the final presentation and documentation.  Further development of the project itself has ceased.  The final presentation and final report can be found in the Deliverables.

April 20, 2010

The microphones have successful been integrated.  The noisy signal was due to the 5V output from the microcontroller.  Providing the microphones with their own 5V regulator removed the noise.  The last sensor integrated was the reflective light sensor.  It was connected to an ADC channel on the microcontroller.

Behaviors implemented: Obstacle avoidance, sound avoidance, and response to shade of floor tiles.  EBR uses IR and bump sensors for obstacle detection and avoidance.  An array of four microphones is used to estimate the direction of the source of a loud sound and respond by traveling away from the source.  The reflective light sensor allows EBR to differentiate between the light and dark floor tiles.  EBR travels at half speed when it is on a dark tile. 

Several new images and videos have been added to the Media Gallery.

April 13, 2010

The chassis has received a second level for more hardware, battery mounts, IR sensor mounts, and a bump sensor array on the front of the chassis.  The bump sensors will allow the robot to react to skinny obstacles the IR sensors may miss or low obstacles beneath the view of the IR sensors.

Integrating the bump sensors was difficult.  The sensors are all attached to an external interrupt on the ATmega128.  An interrupt will be triggered on the rising edge of the signal created from the bump sensor being pushed.  However, after pressing a bump sensor once, the robot would respond as though the the bump interrupt was triggered more than once.  It turned out the surge created from the motors starting quickly caused a faulty interrupt trigger.  The software was adjusted so the motors gradually reach the desired duty cycle, which eliminated the undesired triggers.

In attempting to integrate the microphones with the rest of the software, we ran into a major problem.  The output from the microphones when connected to the circuitry powered by the batteries is very noisy and unusable.  Additional signal processing circuitry will have to be added to clean up the microphone output to make it usable.

March 25, 2010

Up until this point, the robot has not been able to transport itself because it has been attached to the DC power supplies on the lab bench.  The batteries have finally been tested to power all major components at once: h-bridge, motors, and microcontroller.  All breadboards and additional components were temporarily attached to the chassis.

The first software test was a pre-programmed path that would drive the robot straight for 2 seconds, rotate clockwise for 1 second, counter clockwise for 1 second, and then reverse for 2 seconds.  This path would be repeated just to prove locomotion of the robot.  An amateur robotics mistake caused the robot to spin out of control because one wheel had more traction than the other.  The cause of this was the placement of the batteries on the chassis.  The batteries were not centered, weighing down one side of the robot.  After centering the batteries, the robot responded as programmed.

The second software test was basic obstacle avoidance using IR sensors.  The robots response to an obstacle would be: stop, rotate, continue.  This software worked like a charm.

The third software test was "smarter" obstacle avoidance using IR sensors.  This method would smoothly turn away from obstacles as they came closer to the robot, and, if it got too close, then it would reverse slightly and rotate away from the obstacle.  This software works very well.

March 12, 2010

The H-Bridge issue has been resolved.  It seems the PWM frequency of 62.5kHz was too high even though the datasheet states it can operate up to 500kHz.  We are now using a 7.8kHz PWM.  Additionally, we added bypass capacitors to the H-Bridge and motor voltage supply as well as a zener diode to protect against voltage surges.

Nick has begun building and testing the ultrasonic transmitter and receiver circuitry.

The next steps will be to prepare and interface another H-Bridge for the second wheel, run the system off batteries, and have the robot run around in a programmed path.  Then implement obstacle avoidance.

February 26, 2010

At this point we have destroyed about five LMD18200 H-Bridges.  The issues causing them to become unusable remains unknown.  Possible guesses as to the source of the problem include, not enough delay between switching direction, improper power sequencing, sending inputs to the H-Bridge while it is unpowered, internal bootstrap capacitors not enough to operate with a PWM at 62.5kHz.

Other progress: The low pass filters for the microphones have been built, the light sensor circuitry has been built and tested.  Both have been individually interfaced with the microcontroller successfully.  It has been determined that our microcontroller is not powerful enough to calculate the direction of the source of a sound.  A work around will be determined later.

February 12, 2010

Several new images and videos have been added to the Media Gallery.

February 11, 2010

Chassis progress since winter break includes a wood cutout that will be the chassis, fabricated aluminum motor brackets, and mounting the aluminum hubs to the plastic wheel hubs.  Hardware progress since winter break includes circuitry for the H-Bridge and microphones.  Software progress includes successfully interfacing the two IR sensors and generating two PWMs at 62.5kHz.

Current work includes: filtering out noise in the microphones output, troubleshooting why the direction pin on the H-Bridge won't reverse the motor direction, developing a basic movement demo program which will cause the robot to travel in a pre-programmed path, writing code that will interface the microphones, and further work assembling the chassis.

December 6, 2009

Project Proposal and Fall Presentation have been posted.

December 1, 2009

Andrew has continued learning the development software for the ATmega128 microcontroller.  Several small test programs have been developed and studied. Nick has finalized the parts list and submitted the order.  The Project Proposal and Fall Presentation are being developed.

November 10, 2009

Functional Requirements has been posted.  The ATmega128 microcontroller has arrived and Andrew began the tutorial.  Nick is continuing research on parts and working on the torque calculations for the motors to drive our robot.

November 5, 2009

A Gantt chart has been posted on the schedule page and will continue to be updated.  The ATmega128 microcontroller has not arrived yet.

October 27, 2009

The website has been issued a makeover.  We began researching what parts to order and chassis design.  We will develop a schedule and post it when completed.

October 20, 2009

The website is up and running.

October 1, 2009

This project was decided and was given the name Emergent Behavior Robot (EBR).