5CCS2ITR Introduction to Robotics Final Exam 2022
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.
2022-08-08