1 Autonomous Foraging in a Simulated Environment.

Slides:



Advertisements
Similar presentations
Reactive and Potential Field Planners
Advertisements

Lecture 7: Potential Fields and Model Predictive Control
Robot Sensor Networks. Introduction For the current sensor network the topography and stability of the environment is uncertain and of course time is.
Sonar and Localization LMICSE Workshop June , 2005 Alma College.
Chapter 10 Introduction to Arrays
Jill Goryca, Richard Hill American Control Conference June 17, 2013.
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
Robotics applications of vision-based action selection Master Project Matteo de Giacomi.
A System based on Swarm Intelligence and Ant Foraging Techniques By Kristin Eicher-Elmore.
AuRA: Principles and Practice in Review
Visual Navigation in Modified Environments From Biology to SLAM Sotirios Ch. Diamantas and Richard Crowder.
Mobility of agents and its impact on data harvesting in VANET Kang-Won Lee IBM T. J. Watson Research 7/31/20071 NSF Workshop – Mobility in Wireless Networks.
Autonomous Robot Navigation Panos Trahanias ΗΥ475 Fall 2007.
Tracking a moving object with real-time obstacle avoidance Chung-Hao Chen, Chang Cheng, David Page, Andreas Koschan and Mongi Abidi Imaging, Robotics and.
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
An Intro to Robots and Computer Programming
PEG Breakout Mike, Sarah, Thomas, Rob S., Joe, Paul, Luca, Bruno, Alec.
Distributed Algorithms for Guiding Navigation across a Sensor Network Qun Li, Michael DeRosa, and Daniela Rus Dartmouth College MOBICOM 2003.
WSN Simulation Template for OMNeT++
Steering Behaviors For Autonomous Characters
Behavior- Based Approaches Behavior- Based Approaches.
Chapter 9 Introduction to Arrays
Fundamentals of Python: From First Programs Through Data Structures
Fundamentals of Python: From First Programs Through Data Structures
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
Abstract Design Considerations and Future Plans In this project we focus on integrating sensors into a small electrical vehicle to enable it to navigate.
Web Design. How to set up the robot How to link to robot How not to break my robot Sec Getting Started How to make it move How to control speed.
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson.
Teaching Deliberative Navigation Using the LEGO RCX and Standard LEGO Components Gary R. Mayer, Dr. Jerry Weinberg, Dr. Xudong Yu
Localisation & Navigation
Behavior Based Robotics: A Wall Following Behavior Arun Mahendra - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Coverage Efficiency in Autonomous Robots With Emphasis on Simultaneous Localization and Mapping Mo Lu Computer Systems Lab Final Version.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Chapter 5: Control Structures II (Repetition)
Leslie Luyt Supervisor: Dr. Karen Bradshaw 2 November 2009.
Available at: Lesson 3.6 – Program Line Follower in Autonomous Mode Program Line Follower in Autonomous Mode.
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Coordinated Sensor Deployment for Improving Secure Communications and Sensing Coverage Yinian Mao, Min Wu Security of ad hoc and Sensor Networks, Proceedings.
Microsoft Visual Programming Language Advanced Example.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Abstract The Center for Remote Sensing of Ice Sheets (CReSIS) has collected hundreds of terabytes of radar depth sounder data over the Greenland and Antarctic.
Chapter 5 Control Structure (Repetition). Objectives In this chapter, you will: Learn about repetition (looping) control structures Explore how to construct.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
Recap Sum and Product Functions Matrix Size Function Variance and Standard Deviation Random Numbers Complex Numbers.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
2Object-Oriented Program Development Using C++ 3 Basic Loop Structures Loops repeat execution of an instruction set Three repetition structures: while,
Evolutionary Robotics The Italian Approach The Khepera robot (1996) Developed at EPFL Lausanne, Switzerland(!) by Francesco Mondada Diameter: 55 mm Could.
SNU IDB Lab. Ch4. Performance Measurement © copyright 2006 SNU IDB Lab.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
Selection of Behavioral Parameters: Integration of Case-Based Reasoning with Learning Momentum Brian Lee, Maxim Likhachev, and Ronald C. Arkin Mobile Robot.
©2006 CSUC Institute for Research in Intelligent Systems AAROM: A System based on Swarm Intelligence and Ant Foraging Techniques April 10, 2008 Kristin.
Richard Patrick Samples Ph.D. Candidate, ECE Department 1.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Coverage Efficiency in Autonomous Robots With Emphasis on Simultaneous Localization and Mapping Mo Lu Computer Systems Lab
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Introduction to Robots and the Mind - Programming with Sensors - Bert Wachsmuth & Michael Vigorito Seton Hall University.
Part 3: Estimation of Parameters. Estimation of Parameters Most of the time, we have random samples but not the densities given. If the parametric form.
Web Design. How to link the robot How to turn on the robot Sec Getting Started What is python Programming in python How to move the robot How to.
Modelling and Simulating Social Systems with MATLAB
Automation as the Subject of Mechanical Engineer’s interest
CS b659: Intelligent Robotics
CIS 488/588 Bruce R. Maxim UM-Dearborn
Vehicle Segmentation and Tracking in the Presence of Occlusions
Robot Teams Topics: Teamwork and Its Challenges
Navigation In Dynamic Environment
CIS 488/588 Bruce R. Maxim UM-Dearborn
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Agent-Based Models Hiroki Sayama
Presentation transcript:

1 Autonomous Foraging in a Simulated Environment

2 Introduction Autonomous foraging: the scenario  Robots from the Matrix, harvesting humans and avoiding mannequins  Multiple robots, laying pheromones to maximize harvesting efficiency  Dark post-industrial environment

3 Hybrid Architecture Mostly reactive  No internal map  React immediately to sensor data  Poses challenges for efficiency  Difficult to fix minima Partially deliberative  Track relative offset from goal  Some ordering exists  Allows for some degree of predictability

4 Behavior Network

5

6 Module Summary

7 Sensor Goals Link specific sensors to specific goals  Obstacle distance/detection  Potential field measurement  Object discrimination Enable specific rules for architecture  Sensors must facilitate reactive behavior

8 Sensors Laser range finder  Avoid obstacles in advance (less moves)‏  Limited range due to fog, smog, and “gloom” Thermal sensor  Detect heat emitted by humans  Inverse Euclidean distance from object center used as gradient 2 color sensors  One for humans, one for mannequins  Both are semi-active for goal (where all other humans are stored)‏

9 Sensor Models Laser range finder (front)‏  Returns distance (integer)‏  Assume accuracy for distances of 1 to 6 squares  Used for obstacle detection Thermal sensor (front)‏  Returns 3 x 3 matrix (floating point)‏  Assume 10% error per grid  Used for object detection 2 color sensors (bottom)‏  Returns wavelength intensity (floating point)‏  Assume 2% error  Used for object detection/discrimination

1010 Reactive Components sensor_read; thermalsum = sum( sum( robot.thermal ) ); % detect_reward if robot.green >= 0.8 & robot.carrying == TYPE_BLANK robot_grab; end % detect_avoid if robot.blue >= 0.8 & robot.carrying == TYPE_BLANK disp(' - avoidance detected' ); end % detect_goal if ( robot.blue >= ) & ( robot.blue = ) & ( robot.green <= )‏ % drop_object if robot.carrying ~= TYPE_BLANK robot_drop; end

1 Detect Object if thermalsum > 0 & robot.carrying == TYPE_BLANK sumleft = sum( robot.thermal( 1:3, 1 ) ); sumcenter = sum( robot.thermal( 1:3, 2 ) ); sumright = sum( robot.thermal( 1:3, 3 ) ); % detect_obstacle if robot.laser == 1 if randint( 0, 1 ) == 0 robot_moveleft; else robot_moveright; end end randomly moves left or right once to avoid obstacle

1212 Detect Object if sumcenter >= sumleft & sumcenter >= sumright robot_move( robot.dir ); elseif sumleft >= sumcenter & sumleft >= sumright if robot.thermal( 3, 1 ) > robot.thermal ( 1, 1 )‏ robot_turnleft; if randint( 0, 1 ) == 1 robot_turnleft; end robot_move( robot.dir ); else robot_move( robot.dir ); robot_turnleft; end handles movement towards heat source

1313 Detect Object else if robot.thermal( 3, 3 ) > robot.thermal ( 1, 3 )‏ robot_turnright; if randint( 0, 1 ) == 1 robot_turnright; end robot_move( robot.dir ); else robot_move( robot.dir ); robot_turnright; end end % sumcenter,left,right end handles movement towards heat source

1414 Move to Goal –if robot.laser >= 1 & robot.laser < 3 – – % perturb direction – if randint( 0, 1 ) == 0 – robot_turnleft; – else – robot_turnright; – end – – % move away from obstacle – robot_move( robot.dir ); –else – % move toward goal – if robot.x > robot.goal.x – robot_move( W ); – elseif robot.x < robot.goal.x – robot_move( E ); – end – – if robot.y > robot.goal.y – robot_move( S ); – elseif robot.y < robot.goal.y – robot_move( N ); – end

1515 Wander Pattern

1616 if thermalsum == 0 if robot.laser == 1 if wander_parity == 0 – robot_turnleft; – else – robot_turnright; – end – – sensor_read; – – % test if in corner – if robot.laser == 1 – if wander_parity == 0 – robot_turnleft; – else – robot_turnright; – end – else – for i = 1 : 5 – robot_move( robot.dir ); – end – – if wander_parity == 0 – robot_turnleft; – else – robot_turnright; – end – end % if robot.laser == 1 – – wander_parity = ~wander_parity; – end % if robot_laser == 1 – –robot_move( robot.dir ); –end % if thermalsum == 0 robot_turnleft and robot_turnright turn the robot left/right 45º

1717 Original Plan Planned for multiple robots  Use implicit communication (stigmergy) through use of pheromones Follow own pheromone trails back to sources of rewards, to goal, and around obstacles Avoid other pheromone trails to prevent redundant searching  Ideally more robots could be added without changing any code

1818 Actual Results Ran out of time!  Have single robot with no pheromones Inefficient obstacle avoidance Inefficient coverage of area  Some singularities may exist Rare looping around rewards (depends on environment and robot direction)‏  3041 moves, 1232 turns (on average)‏ Taken from 10 simulation runs Moves ranged from Turns ranged from

1919 Actual Results 25 separate MATLAB files  1225 lines of code total  193 lines for forage script  276 lines for display  5455 elements using bytes  7 scripts, 47 functions, 10 subfunctions

2020 Actual Results

2121 Future Work Add pheromone trails and multiple robots Enhance obstacle avoidance and detection Restructure reactive behavior code  Perhaps place code so that executed every time move or every time sensors are read Force every action to update simulation figure

2 What We Learned Reactive approach demonstrates Braitenberg teachings  Designing simple rules to generate intended emergence is tough  Appearance of free will? “the hobgoblin of philosophy”  Inductive behavior analysis is tougher than deductive Simple interactions may be the explanation

2323 Simulation