Behavior-Based Robots and Arbitration in Robotics with EV3

robotics and ev3 behavior based robots n.w
1 / 7
Embed
Share

Explore the concept of behavior-based robots and arbitration in robotics with EV3. Learn how the Arbitrator manages behaviors, priorities, and potential conflicts to ensure smooth robot operations. Understand the importance of implementing suspend methods for effective robot behavior control.

  • Robotics
  • EV3
  • Behavior-Based
  • Arbitration
  • Robot Control

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Robotics and EV3 - Behavior-Based Robots - Bert Wachsmuth Math and Computer Science Seton Hall University

  2. Behaviors and Arbitrator Drive drive = new Drive(); Bounce bounce = new Bounce(); Attack attack = new Attack(); Behavior[] behaviors = { drive, attack, bounce }; Arbitrator arbitrator = new Arbitrator(behaviors); arbitrator.go();

  3. Behaviors and Arbitrator Arbitrator starts a new thread (independend strand of execution) That thread checks each behavior, starting with highest priority: wanna have control? If yes, then suspend all lower behaviors start the action of the current behavior

  4. Behaviors and Arbitrator 2 threads are running simultaneously: Arbitrator keeps checking which behavior wants control Action method of active behavior Keeps running its action code

  5. Behaviors and Arbitrator PROBLEM Arbitrator determined that another behavior wants control Calls suspend of the active behavior and starts action method of new behavior BUT the old action method is not done, while the new action method starts Both can access a motor => Internal conflict Arbitrator keeps checking which behavior wants control Action method of active behavior Keeps running its action code

  6. What to do We must make sure that the action method is done and stops executing as soon as its suspend method is called Introduce extra boolean variable suspended Set that variable to false when the action method starts Ensure that the action method continuously checks suspended and finishes as soon as it is true The suspend method simply sets suspended to true, which will automatically terminate the action method

  7. Questions Why does the highest priority behavior not need a suspend method? Why should you implement the suspend method of the highest priority anyway? Why does the robot not resume normal drive after its attack behavior is triggered, but it does stop if the bounce method is triggered? How could I stop the attack behavior as soon as no close object is detected any longer? How could I scan for other nearby obstacles to attack?

Related


More Related Content