KCL 伦敦国王学院
5CCS2ITR Introduction to Robotics
Background Story
You are programming a robot that helps hospital staff in carrying out some of their duties. The robot is required to visit the patient rooms and check whether the patient is present. If that is the case, the robot must ask the patient if they have taken their assigned medication. At the end of the visits, the robot reportsto the doctor which patients were not in the room, and which did not take their medication.
Important Note
Every implementation point described below is associated a number of marks. In previous years, we noticed that students frequently try to farm partial marks by writing some amount of code for every section, even though none of it can even be executed. This is not the way to develop any complex system, and we intend to disincentivise it. For the reason described above, if a node implementing a piece of functionality does not execute, at most half the marks for that ROS node can be awarded. Marks are rounded up. Therefore, if an item is worth 5 marks, the most that a non-executable code can get is 3.
By non-executable, we mean that the code immediately terminates with an error due to syntactic issues in the file, or wrong import statements. Runtime exceptions or bugs that do not happen in the early stages of the execution will not be considered as nonexecutable, and therefore will not incur the penalty.
Initialization
• Create a package called "resit_coursework". Remember to maintain the correct dependencies in package.xml and CMakeLists.txt during development.
Patient Medication Service
Create a service that given a room name returns which medication the patient should take.
• Create a Service file called Room2Med.srv that, given a room name defined as a string, returns a string with the name of the medication. • Create a node called room2med.py that implements the service. You can use the name of any existing medication and assign them to each room.
Behaviour
Create a node in a file called “main_node.py” that will implement the robot’s behaviour. The patient rooms are C and F. The doctor’s office is in room B (see map below).
Computer Vision
The robot uses YOLO (as taught in class) to detect each person. [3 marks]
Make the YOLO service such that the request includes the object to be detected, and the response is a boolean indicating whether the object was detected [3 marks] Only return true if the confidence of the detections is above 83%. [2 marks]
Initialization
• Create a package called "resit_coursework". Remember to maintain the correct dependencies in package.xml and CMakeLists.txt during development.
Patient Medication Service
Create a service that given a room name returns which medication the patient should take.
• Create a Service file called Room2Med.srv that, given a room name defined as a string, returns a string with the name of the medication.
• Create a node called room2med.py that implements the service. You can use the name of any existing medication and assign them to each room.
Behaviour
Create a node in a file called “main_node.py” that will implement the robot’s behaviour. The patient rooms are C and F. The doctor’s office is in room B (see map below).
Computer Vision
The robot uses YOLO (as taught in class) to detect each person. [3 marks]
Make the YOLO service such that the request includes the object to be detected, and the response is a boolean indicating whether the object was detected [3 marks]
Only return true if the confidence of the detections is above 83%. [2 marks]