7COM1032 Artificial Life And Robotics Assignment-Hertfordshire University UK.

This Assignment assesses the following module Learning Outcomes (Take these from the module DMD):
Intended 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.
7COM1032 Artificial Life And Robotics Assignment-Hertfordshire University UK.

7COM1032 Artificial Life And Robotics Assignment

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: Please see Assignment Brief below.

Submission Requirements:
Please submit you Assignment work through the StudyNet/Canvas 7COM1032 Module Assignments Submissions page. Your submission should include:

  1. Your completed Front Cover Sheet (page 1 of this document)
  2. Your Thymio II Program file ( AEPL file)
  3. A Robot Architecture Diagram which illustrates how your Thymio II program is structured.

This assignment is worth 40 % of the overall assessment for this module.

Marks awarded for:
Please see Marking Criteria Sheet below.

A note to Students:

  1. For undergraduate modules, a score above 40% represent a pass performance at honours level.
  2. For postgraduate modules, a score of 50% or above represents a pass mark.
  3. Modules may have several components of assessment and may require a pass in all elements.For further details, please consult the relevant Module Guide or ask the Module Leader.

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

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 (15 Marks Max, as indicated below):

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!

7COM1032 Artificial Life And Robotics Assignment-Hertfordshire University UK.

7COM1032 Artificial Life And Robotics Assignment

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
Use the Top LEDs colour to indicate the current action while the program is running. This will aid debugging your programs.

Use Subroutines for robot Actions such as Veer Left/Right, Turn Left/Right etc, as actions/combinations common to various states can easily be called.

Use the onevent routines to set the current “state” variable. Use Constants to provide names for the state integer value to make your programs easier to read and understand.

Remember, the Thymio programming language is event driven, so no routine (onevent or sub) should“block” the sensor update cycle which runs automatically in the background every 1/10 second. This means NO long running or infinite loops in your code!

Assignment Submission
You should submit the following files through the 7COM1032 Study net Assignment/CW2 Submission page:
1.Your completed Assignment Front sheet as a pdf file. The File name should be: -Front sheet CW2.pdf, with replaced with your own Student Registration Number.

7COM1032 Artificial Life And Robotics Assignment-Hertfordshire University UK.

7COM1032 Artificial Life And Robotics Assignment

2.Your final Architecture diagram version as .pdf file, which should reflect the features, behaviours and states used for your own final version of your Thymio II Program. The File name should be: -CW2.pdf, with replaced with your own Student Registration Number.

3.Your Final version of your Program as an .aesl file. Please include your SRN, Version Number and Date in a Comment in the first line of your program code. The File name should be: -CW2.aesl , with replaced with your own Student Registration Number.

Note, the submission site will only accept .pdf and .aesl file types for upload, so you will need to scan or convert any Word .doc, docx, etc. to .pdf files before they can be uploaded. Submit your program file as an .aesl file, as saved from the ASEBA IDE.

Thymio Robot Programming Assignment Marking Sheet From Assignment Brief:
Program Code and Development: Program design and implementation – basic functionality, advanced functionality demonstrating more focussed and deeper understanding. Also, Structure, clarity and readability of code listing.Robot Control Architecture Diagram: States, transitions and/or subsumption behavioural elements.(Note, see Assignment Brief for full details of how your CW Assignment will be marked.)

ORDER This 7COM1032 Artificial Life And Robotics Assignment NOW And Get Instant Discount

Order Your Assignment