Implement a recovery behaviour

Assignment Help Software Engineering
Reference no: EM132725382

This Assignment assesses the following module Learning Outcomes (Take these from the module DMD):

Learning Outcomes:
9a. Knowledge and Understanding:
Successful students will typically:
• have a knowledge and deep understanding of a variety of AL techniques and methods applicable across domains ranging from molecular computational biology and evolution of agents to behaviour-oriented and social robotics.
9b. Skills and Attributes:
Successful students will typically:
• be able to critically evaluate and articulate some recent Artificial Life paradigms for building agent systems and modeling biological systems.

Assignment Brief: Robot Navigation - Line Following and Passing Interaction Program for Thymio II Robot.
This assignment is Practically based and requires you to plan and produce a program for the Thymio II robots. Your program, which should be running identically on two Thymio Robots, should provide the following behaviours when the robots are running in the provided simulated Robot Arena (ASEBA Playground) :

1. The two robots should both be initially placed in random positions, one outside the dark blue oval track, and one inside the dark blue oval track. The track consists of a dark blue line on the Arena floor, and which is in the shape of an oval. Both robots should explore, avoiding any obstacles in the way (including the Arena Wall boundary) until the dark blue oval track is encountered.

2. When the circular track/line is encountered, the robots should both turn left and then follow the darl blue track/line (i.e. in opposite directions, one moving Clockwise (CW) and the other Counter-Clockwise (CCW)). Whenever the respective robots meet each other at any point while following the track, they should both move aside allowing them to pass each other safely without collision, then find their way back to the track/line, then carry on following the circular track/line in the same direction they were originally travelling in.
Program Planning and Robot Architecture

Robot Control Architecture Diagram
Before writing your program code, it is necessary to plan and organise your program. Typically this involves selecting a control architecture to be used, defining the various states and/or behavioural elements that will be necessary to allow the robot to navigate round the track, and using some form of Arbitration to trigger the appropriate actions for the robot to make suitable movements (i.e. sequences of actions) when another robot is encountered. For planning your program, it is essential that you first produce a diagram that shows your proposed Robot Control Architecture, and how the various behavioural elements are triggered. Though it is possible to use a number of possible Control Architectures (see lecture notes) to plan your program, for this task it is recommended to use a control architecture which uses Augmented Finite State Machines (AFSMs) and/or Subsumption principles. A hybrid type control architecture is acceptable. For example, where an AFSM might be used to select/enable sets of Subsumption Behavioural Elements, or Subsumption might be used to activate/trigger different AFSMs (Sequences), etc.

Developing Your Program
Using your Robot Control Architecture Diagram as a guide, write the program for the Thymio II robots. Use the ASEBA Playground simulator to develop your program. You do not need to run your program on the real Thymio robots but just use the ASEBA Playground simulator. When developing your program, do not try to do everything in one go! The suggested order to implement the functionality is as follows:

Basic Functionality:

1. Implement the "LINE_FOLLOW" state/behaviour, so your robot can reliably follow the desired circular track on the Robot Arena in ASEBA Playground, when initially placed ON the track/line.

2. Add an "EXPLORE" state/behaviour that allows the robot to drive forward until the dark blue oval track is found, which then triggers or enables the previously tested "LINE_FOLLOW" behaviour. Make sure that the "outside" robot follows the line in the opposite direction to the "inside" robot. (Note, both robots should run the same program)

3. Use two robots and first get them to stop at a suitable distance when they meet each other when driving around the circular track. This should then trigger a transition to a suitable state(s) or set of subsumption behaviours.

4. Implement the sequence of robot Actions (states/sequence/behaviours) that are required to allow the robots to pass each other safely. The basic algorithm for this is: robot turns by some angle to the Right, then drives in a leftwards semi-circular path so that the robot deviates away from the line but then swings around in an arc back towards the line further on, then resumes LINE_FOLLOW. This sequence should allow the other robot to do exactly the same actions, so that both pass each other without collision. Hint: use the timer to trigger the robot actions in the order/sequence required.

5. Code comments and clarity of reading and understanding

Advanced Functionality, in order of increasing difficulty:

1. Add a "STOP" state/behavioural element to your program that allows one of the buttons to Stop/Start the robots (convenient for placing your robot before running it after re- programming it!). Note, Although not essential, this is very convenient for setting up and testing your program!

2. Implement a behaviour that keeps the robots within the outer boundary Dark Black line.

3. Modify your safe passing sequence to allow for the case when an object blocks the track while in "LINE_FOLLOW" state. (Hint, you possibly only need to modify the various parameters used for the passing sequence (motor speeds, timings etc.)

4. Implement object avoidance in the case that an object is encountered while "EXPLORE" behaviour is active and the robot is searching for a Line to follow.

5. If the Line is lost while the robot is in "LINE_FOLLOW" state, implement a recovery behaviour/sequence that triggers a transition to "WANDER" state. Hint, use a timer to abandon "LINE_FOLLOW" after a period of NOT sensing a line.

6. Code comments and clarity of reading and understanding.

Reference no: EM132725382

Questions Cloud

What portion of the organizational costs will kew defer : On January 1, 2000, Kew Corporation incurred organizational costs of P12,000. What portion of the organizational costs Kew defer to years subsequent to 2000
Contrast the styles to the art and architecture of islam : The Byzantines, and the Buddhist of both China and India. Compare and contrast those styles to the art and architecture of Islam.
Who owns the past : Who "owns" the past? Who has the right to define what the past means for us today? This assignment asks you to reflect on these questions.
Estimate the total overhead cost that would be incurred : Assume that the company consumes 22,500 machine-hours during a month. Using the high-low method, estimate the total overhead cost
Implement a recovery behaviour : Understanding of a variety of AL techniques and methods applicable across domains ranging from molecular computational biology and evolution of agents
Conduct forensics investigation : Consider using an image from the Internet or a personal device. There could be issues related to using a live, active, personal device
How the item should be valued in accounting for acquisition : Purchaser incurred $500,000 of professional fees associated with the acquisition. How the item should be valued in accounting for the acquisition
How did the church view the happenings : Several factors helped to end the Middle Ages in the 1300s. Identify what these events and circumstances were. How did the Church view these happenings?
Attacker to deliver payload through the cache : How should cache handling be accomplished in order to minimize the ability of the attacker to deliver a payload through the cache?

Reviews

len2725382

12/9/2020 9:04:54 PM

Hello team, Please check the coursework paper and deliver it accordingly. 1. PDF file with below tasks according to the assigned marks. 2. Thymio II Program file ( AEPL file) 3. Robot Architecture Diagram which illustrates how Thymio II program is structured. Kindly process above things and deliver to this accordingly. Please let me know if you have any queries. Thanks.

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd