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

5CCS2ITR

Introduction to Robotics Final Exam

2022

INSTRUCTIONS: You are permitted to access any materials you wish, but this is not mandated and is not expected.  You may use a calculator if you find this helpful.

IMPLEMENT THE SPECIFICATION IN ALL SECTIONS

The rubric for this paper must be followed and extra answers should not be submitted. For answers that are handwritten, write with blue/black ink on light coloured paper. Include the module code, question number and student number on every page to be submitted. For     answers that are typed, use the template provided.

SUBMISSION PROCESS: You must time yourself and ensure that you submit your solution by the submission deadline. Create a zip folder containing the full package January_exam  with your code. Submit by clicking on the January Exam submission link, then on“Add        Submission”, uploading your zip folder, and clicking on“Save Changes”.

ACADEMIC HONESTY AND INTEGRITY: Students at King’s are part of an academic              community that values trust, fairness and respect and actively encourages students to act with honesty and integrity. It is a College policy that students take responsibility for their   work and comply with the university’s standards and requirements.

By submitting this assignment, I confirm that this work is entirely my own, or is the work of an assigned or permitted group, of which I am a member, with exception to any content     where the works of others have been acknowledged with appropriate referencing.

I also confirm that I have read and understood the College’s Academic Honesty & Integrity

Policy:https://www.kcl.ac.uk/governancezone/assessment/academic-honesty-integrity

Misconduct regulations remain in place during this period and students can familiarise

themselves with the procedures on the College website

athttps://www.kcl.ac.uk/campuslife/acservices/academic-regulations/assets-20-21/g27.pdf

Preparation

•     Download and extract from KEATS the zip folder called january_itr_exam.zip.

•     Create a package called "january_exam".

•     Copy the provided node template, main_node.py and the     january_exam_goal_publisher.py file into your new package.

•     Copy the provided launch file, main.launch into your new package.

Total of Section: 5 marks

Ros Fundamentals

•    Make main_node subscribe to the topic /exam_goal, on which messages of type      geometry_msgs/Pose2Dare published. All messages on the topic contain the same goal pose. Marks: 6

•    Define a message type ExamInfo containing a  stringand a  geometry_msgs/Pose2D.

Marks: 13

•    Make main_node publish one single message on the topic /exam_updatesof type ExamInfo with  string"moving towards" and the goal Pose2Dp previously received on topic /exam_goal. Marks: 11

Total of Section: 30 marks

Simple Robot Navigation

Implement in main_node.py the following behaviour:

•    Make the robot navigate towards the goal using any of the methods shown during the class. Marks: 5.

•    Reach the goal pose (including position and orientation) with a tolerance of 0.5m in position, and 5 degrees in orientation. Marks: 15.

•    Publish a message on /exam_updates when the robot has reached the goal pose, containing a string with the final coordinates of the robot. Marks: 5.

Total of Section: 25 marks.

Full Stack Navigation and Behaviour Representation

•    Create a new node called patrol.py.

•    Use the following list of coordinates: [(1.67464196682, 8.84763145447),                         (5.94639539719, 8.83150196075), (10.5727844238, 8.31532382965), (1.80360078812, 3.86330342293), (5.96251535416, 3.1858215332), (10.5405454636, 3.10516905785)].

•    Implement in the  patrolnode the following behaviour:

o At every step, the robot goes the closest point in the list that has not been visited yet Marks: 5.

o The robot visits all points in the list Marks: 8.

o The robot stops when all points have been visited Marks: 2.

Implement the behaviour either directly with actionlib or by using actionlib through SMACH (additional 25 marks).

If using SMACH, the code provided in state_machine.py will facilitate the definition of the state machine. For full marks, the state machine must have more than one state and       terminate after having visited all coordinates.

Total of Section: 40 marks. Grand Total: 100 marks.