代做4CCSAITR Introduction to Robotics – coursework 2代写留学生Python程序

EXAMINATION PERIOD: May 2025

MODULE CODE: 4CCSAITR

TITLE OF EXAMINATION: Introduction to Robotics – coursework 2

FORMAT OF EXAMINATION: Online submission

SUBMISSION DEADLINE:        Thursday 22/04/2025 at 4pm

IMPLEMENT THE SPECIFICATION IN ALL SECTIONS

SUBMISSION PROCESS: Your work must be submitted as a zip file containing the full package second_coursework. Do not submit anything else.

Ensure you upload the correct file to the submission folder

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

Background Story

Our robot, a TurtleBot3, needs to be set up on a new home. The robot knows the map of the house, but it doesn’t know which room is which. Your task is to develop a robot behaviour to build a “semantic map”, so that the robot knows which room is the Kitchen, Living Room, etc. After building the semantic map, the robot can be used to fetch objects in different rooms.

The map of the environment is as follows:

The robot will have its camera enabled (see camera simulator below), and different images will be published on the camera topic while it moves. The images will show scenes of the different rooms: bedroom, living room, kitchen, bathroom, garage.

Example of objects that appear in each room are:

Kitchen: microwave, refrigerator, bottle, sink, fork, banana, sandwich, chair.

Garage: bicycle, car, sports ball, skateboard, motorbike.

Bedroom: bottle, laptop, handbag, tv monitor, sports ball, skateboard, chair, bed.

Living Room: tv monitor, remote, book, clock, dining table, chair.

Bathroom: toothbrush, toilet, sink.

Important note

We will mark based on the observed behaviour of the robot. This means that if we cannot run the nodes because they don’t follow the naming conventions specified below, or there are execution errors at launch, the mark will be 0 (or whatever mark has been obtained until the point of error).

Ros Fundamentals

The environment in the provided Stage simulator has the map above.

•    Create a package called "second_coursework".

Main node

Create a main node to run your behaviour, in a file that must be called main_node.py. The node will have to provide a action called “/create_semantic_map”. The action definition file is provided on KEATS (called CreateSemanticMap.action). The goal will be a std_msgs/Empty. The result of the action will consist in six strings, called exactly A,B,C,D,E,F. For each string, the field will have the name of the room corresponding to the label.

Robot behaviour

The robot will have to perform the following behaviour within the service call:

•    Visit every room at least once (4 marks per room, 24 if all rooms visited)

•    Once a room has been recognized, use one of the TTS methods covered in class to make the robot say the name of the room out loud (10 marks)

•    Use a SMACH State Machine, with different states and correct use of userdata (18 marks)

•    Correctly identify the room where the robot is in based on the objects it can see. You must use the YOLO version used and taught in class. (3 marks per correct room, 18 marks if all rooms identified)

Using the semantic map

Once each room has been identified, the robot will have to go to the living room, where a person will give a spoken order to the robot. To implement this behaviour, create an action in main_node.py of type EmptyAction.action (available on KEATS)  called “/get_help”. The action will implement the behaviour to go to the living room, interact with the person, and complete the request.

The order will be like: “Please bring a/the X to the Y”. Wording may be a bit different, but the structure of the sentence will be similar. Once the order is received and processed using the speech recognition method taught in the lectures, the robot will have to:

•    Go to a room where the object X should be (i.e., a room where the object

belongs to. For instance, the bedroom or the living room for a tv monitor). Here, X comes from the spoken command) (10 marks)

•    Wait for 10 seconds there.

•    Go to room Y. (4 marks)

Grand Total: 84 marks

Important: Launch and semi-automatic marking

We will run all the submissions using the launch file provided. Therefore, you must make sure that the launch file works and runs your nodes, ideally starting from a clear workspace (with nothing else in it). If the launch file fails to run the nodes, we will deem the submission as “failed to run”.

The launch file requires a parameter video_files, which can be appended at the end of   the launch command as: “video_files:=” (where you need to replace  with the path of the video files in your computer (see next section). We will run all the components with the same seed for reproducibility (see below).

Only code that runs in the default container is allowed, thus no external libraries or anything not used during the module is allowed.

The automatic marker will stop your code if either of the following conditions are met:

•    The robot stays still (without moving at all, nor rotating in place) for more than 30 seconds.

•    Your code runs for more than 15 minutes.

Do not modify any of the provided action files. Doing so may create errors when running your code, as it would change the API of the automatic marker. Do not modify the launch file either, as we will run our own (which includes everything included in the one submitted). Therefore, if you add nodes there, we will not run them.

Test videos

To facilitate the development of the coursework without access to the real robots or a webcam, we provide video/image files and a video node that will reproduce different videos when the robot is in certain locations.

The video behaviour will be as follows:

•    When the node starts, it will randomly assign one kind of room to one of the available rooms (i.e., one run may assign a bedroom to room A and kitchen to room B, while another run may assign the garage to A and the kitchen to B). Room assignments will  be  printed  on the terminal to  help  in  debugging,  but  not published to any topic.

•    When the robot enters one of the rooms, videos of objects will start to play, in a random order.

•    The videos to be played are chosen at random. Every time the robot enters or leaves a room, the playlist will update. When the robot is not in one of the rooms, the video of a corridor will be played.

The videos will show the relevant object for at least 5 seconds.

To  run  the   node,  you   can  put  it  in  your  workspace,   and  run   it  as  rosrun second_coursework itr_cw_2425AI --video_folder  (if that does  not  work,  you  can  just   run   “python3  itr_cw_2425AI  --video_folder ”). You need to replace “path_to_video_folder” with the path to the folder where you stored the downloaded videos. For instance, if your videos are in /home/kcl/videos, you will run the node as “rosrun second_coursework itr_cw2425CS

--video_folder /home/kcl/videos

In order to facilitate testing, you can add an option “--seed” to make the random generator fixed, thus removing the random component (as every run will produce the same results). Example: “rosrun second_coursework itr_cw_2425AI --video_folder  --seed X”, where X is a number of your choice (if that does not work, you can just run “python3 itr_cw2425CS --video_folder  -seed X”).

Example command setting up the number of locations and the radius:

rosrun second_coursework itr_cw2425CS --video_folder /home/kcl/videos -seed 2587


热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图