辅导ELEC230编程、 写作C++程序

” 辅导ELEC230编程、 写作C++程序Department of Electrical Engineering and ElectronicsELEC230Robotic Systems – Assignment 3Roomba Vacuum Cleaner Gazebo Simulation in C++Module ELEC230Coursework name Assignment 3Component weight 30%Semester 2HE Level 5Lab location Coding and simulation off-campus within a suitable IDE andusing ROS installed on Ubuntu, usually operating on a virtualmachine (e.g. in VirtualBox) using your own PC/laptop. If there are Significant difficulties with this, Remote TeachingCentre Service (RTCS) machines are available with VirtualBoxinstalled ( httpss://www.liverpool.ac.uk/csd/pc-centres/remote/ ). Ifyou would like to take advantage of this, contact the lecturers forinformation on how to go about using this service forassignment work. Appropriate lecturer or demonstrator support is available duringtimetabled ELEC230 virtual labs (see below) Additionally, if the EEE Building opens for generalaccess, Relevant PC labs may be possible to use astimetabled, or at other allowable times for private study.Work IndividualTimetabled time7.5 hours (1.5 hours available in the Week 5 lab, plus 3 hours each inWeek 6 and Week 7 labs, as described above). Virtual labs aretimetabled as Wednesdays 10am 1pm on MS Teams, unless the labformat changes in this period.Note: lab time is not exclusively Devoted to the Assignment, but alsoto practical work relevant to the current stage of the course. TheAssignment builds on ~40 prior hours of synchronous online C++,Linux and ROS tutorials and 15+ hours of lecture material available onCANVAS as videos, pdfs and written notes.Suggested Privatestudy 8 hours including report-writingAssessment Method Individual, formal, word-processed reports in the format instructed inthe Marking Criteria, along with other files listed in What to hand in.Submission format Online via CANVAS.Plagiarism / Collusion Standard University penalties and procedures apply for plagiarism andcollusion.Submission deadline Wednesday 14th April 2021, 23:59Late submission Standard University penalties applyResit opportunity August resit period (if total module failed)Marking policy Marked and moderated independentlyAnonymous marking YesFeedback Via comments on your CANVAS submission, onlineLearning outcomes (BH1) Understanding Linux and the mechanisms provided formulti-tasking (BH2) Understanding the features of an Object OrientatedProgramming language and the ability to code in C++ (BH4) Understanding the ROS system More specifically: understanding the package managementsystem in ROS; Understanding and implementing robotsimulation using ROS, Turtlesim, GazeboContinues on next pageMarking CriteriaSection Marks Indicative characteristicsAdequate / pass (40%) Very good / ExcellentPresentation, and Structure10% Contains document withcover page (title,background, academicintegrity declaration), adiscussion page, andscreenshots (see below) Contains original sourcecode, manifest file,CMakeLists.txt, launch files Comprehensible language;punctuation, Grammar andspelling accurate Equations legible, numberedand presented correctly Appropriate use of technical,mathematic and academicterminology and conventions ifrelevant Word processed with consistentformatting Pages are numbered; figures andtables are Captioned All sections are clearlysignposted Correct cross-referencing (offigures, tables, Equations) andcitations where relevantIntroduction,Method, Design50% Problem background isintroduced clearly Clear, original code andcomments Code is clearly laid out andappropriately commented Design of each codesegment follows a logicalsequence Code is tidy, efficient andeasy to follow / understand Some discussion of theprocedures undertaken Excellent understanding of theproblem Background isdisplayed Comments show excellentunderstanding of syntax andsemantics Coding is elegant and, whererelevant, sophisticated for eachtask, while remaining easy tofollow Principle of DRY1 is followed Discussion of what worked andwhat did not Discussion of all the testingcarried outResults40% Screenshots of programoutput are Presented foreach task, including the fulldesktop with relevantwindows and the taskbarwith date and time, asevidence of original work Screenshots and codedemonstrate at least partiallycorrect operation Screenshots and codedemonstrate successful, correctoutput for every task1 Dont Repeat YourselfELEC 230 C++ Assignment 3 (2020-2021) 30% weightingAim of this assignmentThe aim of this assignment is to give you a way in to writing software for controlling a(simulated) robot using the Robot Operating System (ROS).In this assignment you will create a ROS node to drive the robot around with a simplewanderer algorithm, Very like a Roomba robot vacuum cleaner. The robot shouldmove forward until it reaches an obstacle, then rotate in the same position until theway ahead is clear, then move forward again and repeat.Continues on next pageRules and Requirements of your AssignmentYou code must be executable in a Linux environment without any modification. Foryou to work and be able to execute the assignment, make sure you have a ROSDistribution (i.e., noetic) wit Gazebo installed. For more information please have alook at the lecture notes and lab sessions in CANVAS.Before you start this assignment, you should make sure that you understand theconcepts in ROS tutorials 1-6, 8, 11 or 12, and 13 (These were covered in lab sheets1-4). In addition, go over all the code samples from class and make sure youunderstand them thoroughly. Finally, make sure that the turtlebot_gazebo packagesare installed on your machine.The Assignment1. First make a new ROS package called wander_bot, with the appropriatedependencies. If you need a refresher, please consult either the lecture materialor ROS.org tutorials.2. Create a launch File. This launch file needs to run the Gazebo simulator and thewander_bot node that you are going to write without the user needing to invokethem separately.3. Your task is now to write the wander_bot node. The node should implement asimple algorithm: If the robot is moving sufficiently close to an obstacle in front of it, thenrotate it in the direction that is freer from obstacles (i.e., if there is anobstacle on the robots right, it should turn left) until the way ahead isclear; If there is no obstacle Bocking its path, move forward as a default. You can use the Stopper node we used in Week 4 as a templatefor this assignment.4. Verify that the wander_bot node works, by running it and watching the robot inthe simulator.Continues on next pageThe Rules1. Make sure that your code is tidy and well-commented. (You can make your codetidier in terms of indentations by using the Reformat code option inside theClion IDE).2. This goes without saying: you should do this lab work on your own. All the workyou turn in should be yours, and not done in collaboration with anyone else. Ifyou use any external sources of inspiration, other than ros.org, then let us knowin a README file.What to Hand InYou should hand in everything that someone else needs to run your code.For this assignment, that means: Your source code. This should be adequately commented, so that each distinctpart of the code is clearly explained. manifest file, CMakeLists.txt, launch files.You should also Include: A Word document including a 1-page cover sheet with title, background andacademic integrity declaration, followed by no more than 1 page of discussionof: procedures followed; what worked and what did not; the testing carried out.The rest of your Word document should include screenshots as described in theMarking Criteria. These should be presented as numbered figures, referred to(where relevant) in your discussion.You should not hand in executable files, or any other files that can be regenerated.Your code should be able to run after writing these two commands in a terminal:catkin-make –pkg wander_botroslaunch wander_bot wander_bot.launchContinues on next pageHelpful ResourcesIf you have any questions, where a requirement is unclear, or there are some conceptswhere you need additional information, you must use the CANVAS Assignment 3discussion board (DB) to Ask questions. You are encouraged to answer each others questions in the CANVAS DB. You are, however, not to share code of any kind, documents, or links towebsites, other than CANVAS links to lecture notes. Any e-mails and/or MS Teams chats regarding the assignments will be not takeninto consideration, and will be Duly ignored. The only exception is emails about extenuating circumstances.Helpful insights into how ROS works and details of the Gazebo simulation softwarecan be found at ROS.org.请加QQ:99515681 或邮箱:99515681@qq.com WX:codehelp

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导