Ericson Mar's Robotics Site Contents
Robotics Home | Robotics Related Links | ME412 (Autonomous Mobile Robots 2024) | My Curriculum Vitae | My resume

Past Projects
ME412 (Autonomous Mobile Robots 2023) | ME412 (Autonomous Mobile Robots 2022) | ME412 (Autonomous Mobile Robots 2021) | ME412 (Autonomous Mobile Robots 2020) | ME412 (Autonomous Mobile Robots 2019)
ME412 (Autonomous Mobile Robots 2018) | ME412 (Autonomous Mobile Robots 2017) | ME436 (Autonomous Mobile Robots 2016) | ME412 (Autonomous Mobile Robots 2015) | ME412 (Autonomous Mobile Robots 2014)
 ME412 (Autonomous Mobile Robots 2013) | ME412 (Autonomous Mobile Robots 2012) | ME412 (Autonomous Mobile Robots 2011) | ME412 (Autonomous Mobile Robots 2010) | ME412 (Autonomous Mobile Robots 2009)
 ME412 (Autonomous Mobile Robots 2008) | ME412 (Autonomous Mobile Robots 2007) |EID111 (Self-Replicating Habitats) | ME412 (Autonomous Mobile Robots 2006) | ME412 (Autonomous Mobile Robots 2005)
ME363 (Advanced Mechatronics) | The Robotics Renaissance Project | Kiru | Dajung and Junior | Autonomous Vacuum Cleaner | Spider Robot | Mindstorms Dancing LegoBot | MAR (Mobile Autonomous Robot)


Contents

Robotics Home

Robotics Related Links

ME412 (Autonomous Mobile Robots 2024)

My Curriculum Vitae

My resume

 
Past Projects

ME412 (Autonomous Mobile Robots 2023)

ME412 (Autonomous Mobile Robots 2022)

ME412 (Autonomous Mobile Robots 2021)

ME412 (Autonomous Mobile Robots 2020)

ME412 (Autonomous Mobile Robots 2019)

ME412 (Autonomous Mobile Robots 2018)

ME412 (Autonomous Mobile Robots 2017)

ME436 (Autonomous Mobile Robots 2016)

ME412 (Autonomous Mobile Robots 2015)

ME412 (Autonomous Mobile Robots 2014)

ME412 (Autonomous Mobile Robots 2013)

ME412 (Autonomous Mobile Robots 2012)

ME412 (Autonomous Mobile Robots 2011)

ME412 (Autonomous Mobile Robots 2010)

ME412 (Autonomous Mobile Robots 2009)

ME412 (Autonomous Mobile Robots 2008)

ME412 (Autonomous Mobile Robots 2007)

EID111 (Self-Replicating Habitats)

ME412 (Autonomous Mobile Robots 2006)

ME412 (Autonomous Mobile Robots 2005)

ME363 (Advanced Mechatronics)

MAR (Mobile Autonomous Robot)

The Robotics Renaissance Project  

Kiru

Dajung and Junior

Autonomous Vacuum Cleaner

Spider Robot  

Mindstorms Dancing LegoBot

 

Subsumption with MAR

"Avoid"

 

The concept Avoid was coined by Jones and Flynn in the book, Mobile Robots: Inspiration to Implementation.  Jones and Flynn used this notion to explain subsumption where a hypothetical robot with a ring of sonars would avoid all objects within its surroundings.  This subsumption approach was the basis of the Avoid program which directs MAR to exhibit an "avoiding" behavior when detecting objects within a threshold envelope around itself.

To accomplish this task, MAR's sonars were configured symmetrically around its perimeter.  The robot continuously measures the distance seen by each of its sonars.   It's internal processing determines if a sonar reading is within 1.5 feet, signaling the approach of a moving object.  If so, the robot turns away from the object until the rear sonar reads the shortest distance, determined among the distances measured by all the sonars.  Then the robot will move forward until all the sonars, including the rear one, read greater than 1.5 feet.  Then it would pause waiting for another approaching object.

The block diagram below illustrates the avoid control architecture.

avoid.gif (2670 bytes)

The round cornered boxes represent the sensors and actuators of the robot.  The square cornered boxes represent the individual behaviors exhibited by the robot.  The arrows show that data flow from the sensors (sonars) to the behaviors and from the behaviors to the actuators (motors).  What happens is: the robot continually fires the sonars and distance data is processed by the Move Away and Orient Away behavior modules.  Then these behavior modules process the distance data and attempt to control the motors according to what they feel is best for the robot.  The circles with an S in them are suppressor nodes.  They allow data to pass through the horizontal channel unless data comes in from the top channel.  Then it will suppress the horizontal channel giving way to the top channel.  The hierarchical classification of the behaviors is evident here.  We can see that Move Away is a higher order behavior than Orient Away and Rest. and Orient Away is a higher order behavior than Rest.

Example:  Let's say the robot is in the middle of a large room minding its own business.  Like any creature of reasonable intelligence, it wants to "rest".  Rest is telling the motors to stop and do nothing!  After all, why waste energy when the organism is not threatened or provoked.  A large human walks within 1.5 feet (chosen threshold distance) of the robot.  The sonar distance data indicates this and where the human is.  It will now want to "orient away" from the human.  Orient Away sends motor control data through the suppressor node and into Motors.  In this fashion,  Orient Away "subsumes" control over Rest.  Then when the robot detects the human is behind it, it will "move away" by going forward to avoid being eaten.  Thus Move Away will send motor control data that will suppress all other behaviors.   Finally, when the robot is a safe distance from all other creatures and objects (hey, robots need their space too!) Move Away and Orient Away will stop sending motor control data and Rest will dominate once again.  That lazy little stinker...

Video of MAR running the Avoid program


Copyright © 2016 Ericson Mar   mar@cooper.edu      Please let me know if you have any comments.  :)
Last Updated: 09/02/2024