In this project you propose the design of a robotics system and build a mock-up demonstrator of it. The system will be able to play the game of Connect Four against a person. This project will be realized using the Robot Operating System (ROS) with Python and/or C++.
This is an individual coursework, and the university rules on academic misconduct including collusion and plagiarism apply.
1. Demonstrate an understanding of middleware in robotics
2. Demonstrate an awareness of different robotic operating systems
3. Develop proficiency in the use of several robotic operating system tools
4. Analyze and synthesize solutions to robotic problems, that include appropriate security considerations
5. Exercise powers of judgement to recognize problems and address them appropriately in a research project
6. Apply appropriate transferable skills to document, report on and analyze a project
7. Develop and extend software artifacts using knowledge of robotic systems management & the design of robotic operating systems
Thursday July 2nd, 5pm: Report Submission (including complete source code and configuration).
Because there is no physical robot available, this coursework is meant to be demonstrated based on systematic integration tests. Input from sensors as well as environmental changes can be mocked (simulated) to demonstrate that ROS nodes react correctly as designed with respect to the requirements.
Mock testing can be done in a standard Ubuntu 16 / ROS Kinetic environment, without any dependency to the physical robotics lab machines. Instructions how to set up a Virtual Machine on you own device and configure it are available on moodle.
Connect Four board states need to be recognized from images presented to the mocked system. This can be based on blob-detection code provided within the module. Test images can be drawings of board states or existing images of the physical board available to the student or provided freely online1.
The system needs to be able to pick a Connect Four move for itself. This move does not have to be optimal, but must be based on a sensible strategy to win the game. The act of choosing a move can be triggered by a command or button interaction with the system by a human. The chosen move does not need to be executed by the system through physical movement, but may be communicated to the human partner in a suitable way.
The system needs to monitor the board state and react to changes. If the human partner has achieved victory, the system needs to congratulate. Illegal board states or moves (cheating) should be detected, and a correction suggested by a suitable means of communication.
1.) 20 marks: Perform a Use Case analysis of the functional requirements. Identify a suitable list of distinct use cases, and analyze each one in detail based on actors, actor goals, triggers, a step-by-step main success scenario and potential extension scenarios.
a)6 marks are awarded for a clear separation of different use cases based on goals and triggers, and comprehensive coverage of the above stated functional requirement.
b)14 marks are awarded for clear design of the main and extension scenarios, describing the functional behavior of the system in interaction with user and environment.
2.) 20 marks: Design a suitable ROS architecture to implement the functional requirements that follows good design practice. Document the responsibilities of each ROS node and the topics used to communicate between them.
a)10 marks are awarded for completeness of the design, i.e. its capacity to realize all functional requirements as analyzed in the use cases.
b)5 marks are awarded for the quality of the design in terms of low coupling and high cohesion. c) 5 marks are awarded for the quality of diagrams illustrating the design.
3.) 60 marks: Implementation and testing. Implement the ROS system specified in 1 and designed in 2. Demonstrate with suitable unit, node, and integration tests that the functional requirements A, B, and C (20 marks each) are met and implemented as documented in the use case analysis. Each part A, B, C is assessed based on:
a)5 marks for suitable choice of test methods and test cases.
b)10 marks for the functional achievements demonstrated by means of the tests.
c)5 marks for coherence of the implementation with both use case analysis and the proposed design.
Computer technology and computer science assignment help,Computer technology and application assignment help,Computer technology development assignment help,Computer network technology assignment help,Python assignment help,c++ programming assignment help,Programming Assignment help,Do my programming homework help,Computer programming assignment help,Java assignment help online
Holding a PhD degree in Finance, Dr. John Adams is experienced in assisting students who are in dire need...
55 - Completed Orders
Canada, Toronto I have acquired my degree from Campion College at the University of Regina Occuption/Desi...
52 - Completed Orders
Even since I was a student in Italy I had a passion for languages, in fact I love teaching Italian, and I...
102 - Completed Orders
To work with an organization where I can optimally utilize my knowledge and skills for meeting challenges...
109 - Completed Orders
JOB OBJECTIVE Seeking entry level assignments in Marketing & Business Development with an organization...
202 - Completed Orders
Current work profile Project manager- The Researchers Hub (2nd Jan 2016 to presently working) Researc...
20 - Completed Orders
Sales Assistant, Mito Marina Assigned to the Stationery dept – assisted in merchandising, stock taking...
100 - Completed Orders