Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit


Department of Electronic Engineering

Assessments 2021/2022

ELE00132M

Robot Intelligence


Assessment

In this assessment, you will need to implement an algorithm for robot intelligence based on the    material from this module, implement it in the Python, Lua, or C/C++ languages, and test it in the CoppeliaSim/V-REP robot simulator, analysing its performance qualitatively and quantitatively.    Your work will be evaluated based on the quality of a 6-10 page (approximately) formal report      paper you will write that explains your approach, algorithm, implementation, and results.

Task Definition

First, you must define a problem for your robot that requires some degree of “intelligent” opera- tion to solve.  The method you use for solving this problem should be based on one or more of  the topics covered in this module.  Examples of task definitions include but are not limited to:

•    Search and rescue operations using flocking of swarm robots

•    Efficient resource collection and sorting using foraging of swarm robots

•    Self-organization or construction of a physical pattern using hierarchical behaviours

•    Statistical data collection to identify sites of high scientific interest on a planet’s surface

•    Robot navigation by identification or classification of range sensor data

•    Decision-making for a robot by inference into a Bayesian network

•    Localization using only a small number of sensors and a Markov model

•    Combination of noisy sensor data using Kalman filtering

You should clearly state the problem to be solved and your method for solving it at the begin- ning of your report, as your results and the quality of your analysis will be evaluated on this basis.


It is highly recommended that you get feedback before starting your project from the module leader ([email protected]) and/or module demonstrator via email or after lec- ture. As soon as you have some idea what task you will define, you should check that it is sufficiently ambitious but not overly difficult.




Implementation

You are welcome to use any of the  CoppeliaSim/V-REP scenes and robots (any number of ro-  bots) that we have used in the labs as a base, or you can customize these or even create your   own.  However, your scenario should be different enough from the labs in this module to require a different algorithm for solution from what you have already done.  It is suggested that you use  a simple scenario that is specifically designed to evaluate the algorithm that you are creating.

You may also use any language that is interfaced with the CoppeliaSim/V-REP simulator and in-cludes the features and libraries that you require.  The use of the Python language is encour- aged since it is easiest to program in and generally features the largest number of easily ac-   cessible robot intelligence libraries.  However, you may choose to use C/C++ or Lua as these languages are closely integrated in the simulator software if you are more comfortable with them.


Analysis

Define one or more suitable metrics that are key to solving the problem that you have demon-     strate and quantify the behaviour of your robot(s), then carry out a series of experiments to          demonstrate that your algorithm solves the problem that you have chosen in the general              sense.It should be clear from your analysis that the simulation is not just a “fluke” and that you    have produced an algorithm that can successfully cope with a variety of potential scenarios.  For any experiments carried out, you should ideally perform repeat runs with different random initial- isations or on different scenes in the simulation to demonstrate this.

You will need to record data from the simulation as we have done in the lab sessions, analyze it, and produce graphs, charts, or tables that clearly indicate the performance of your algorithm      with respect to your chosen metrics.  You will often need to select appropriate statistical tests to demonstrate how reliable your algorithm is and design your experiments so as to provide a fair  assessment of the performance of your robot .  You should also compare your algorithm’s per-    formance  with any relevant results from similar algorithms in your literature references. (both favorable and unfavorable comparisons are OK this is research!)

You will also need to demonstrate ambition in your approach and implementation.  There are a lot of online resources that provide drop-in solutions to simple robotic problems.  For this as-      sessment, it is necessary to do more than just applying the process from a library’s documenta- tion or an online tutorial.  You should make it clear in your implementation that you have written your own code for a specific application, and that the problem you are solving is reasonably       challenging.

Grading Criteria

This assessment is graded out of 100%, based on your program code and a report that are sub- ject to the grading criteria in this document.

Code

The grading criteria for your code (simulation, control, and any analysis scripts you use) are as follows:

Code quality (10%): Your code should run as submitted and follow good programming prac- tices such as commenting, proper structure, and use of descriptive variable names.

Ambition (5%): Your code should be more than just the application of libraries or tutorials found online.  Your code should clearly be your own and include innovations that solve a challenge.

Report

You should prepare a 6-10 page report that documents your approach, implementation, results, analysis. You may use as many additional pages as you wish for appendices. You should format your submission using the IEEE style (in LaTeX, LibreOffice, or Word), templates for which can   be downloaded from:

The grading criteria for your report are as follows:

Readability, structure, and language (5%): Your report should be written in clear English, be well-structured and easy to read, and make appropriate use of figures (pictures, diagrams, charts, graphs, etc.) and tables (spreadsheet-like matrices) .

Abstract, and introduction (5%): Include a brief abstract and an informative introduction, which clearly explains the context and motivation for the work and your approach.

Literature review and referencing (15%): Provide a short literature review of related al-gorithms to yours which can include references provided within the course materials, and in- clude a critical analysis of existing approaches and how they differ from yours. If your imple- mentation was inspired by an existing approach, you must cite and discuss it in your review. Any figures or tables you use from other sources must likewise be cited as references.

Implementation (20%): Describe the implementation of your algorithm in the simulator using a combination of text, diagrams, and/or pseudocode (do not simply copy in large blocks of pro-       gram code!).  Explain how the code is structured, how the program operates, and how it inter-      acts with the robot to produce the desired “intelligent” behaviour.  If you have based your code     on algorithms in the literature or found online, clearly state the sources and how your implement- ation differs from those found in your sources.

Qualitative analysis of results (10%): Critically evaluate the performance and behaviour of your algorithm based on qualitative observations. Discuss how changes in the environment or the robot itself (including faults and incorrect sensor data) may affect your algorithm, and what can be done to overcome any problems or undesirable behaviours that may result .

Quantitative analysis of results (20%): Clearly define any metrics that you have used to quantify the behaviour of the robots, and justify your reasoning. Describe your experimental        method in sufficient detail that it would be possible for someone else to reproduce your results.  Present the results of your experimental analysis using plots and/or tables of data where appro- priate. You should aim to demonstrate rigour in your experimental method, and the appropriate  use of statistical tests to substantiate any claims.

Bridging the reality gap (5%): Critically evaluate and discuss how well the simulated imple-mentations would transfer to real robots. Describe any modifications, or additional infrastructure, that would be required for successful deployment on real robots.

Conclusion (5%): Summarize any significant features and findings in your results in a conclu- sion that evaluates the results in the context of your original goals and demonstrates good crit-ical evaluation of the work undertaken.

Submission guidelines

You must submit your report to the VLE Assignment Submission Point as a single .zip file that includes your report in PDF format and also your code, including any analysis scripts and data used to generate the figures in your report.

Please clearly state, with a “readme.txt” or other clearly named file submitted with your code, how to run your code. If the code does not run as described on as standard lab computer, we re- serve the right to award zero percent to the section associated with the coding of the solution.

Your examination number must be written on the front of your report and each answer page, and in each file of your code (as a comment). You must not identify yourself in any other way (in either your report, or code).

Any queries on this assessment should be addressed to Mark A Post <[email protected]>. It is recommended that you make use of the VLE discussion forums for asking questions about  the assessment.  Replies to email queries may be published online (and available to all stu-       dents) on the course website for the benefit of all.