首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
辅导ELEC230编程、讲解C++程序、C++编程调试 讲解留学生Prolog|辅导R语言程序
项目预算:
开发周期:
发布时间:
要求地区:
Department of Electrical Engineering and Electronics
ELEC230
Robotic Systems - Assignment 3
Roomba Vacuum Cleaner Gazebo Simulation in C++
Module ELEC230
Coursework name Assignment 3
Component weight 30%
Semester 2
HE Level 5
Lab location
• Coding and simulation off-campus within a suitable IDE and
using ROS installed on Ubuntu, usually operating on a virtual
machine (e.g. in VirtualBox) using your own PC/laptop.
• If there are significant difficulties with this, Remote Teaching
Centre Service (RTCS) machines are available with VirtualBox
installed (https://www.liverpool.ac.uk/csd/pc-centres/remote/ ). If
you would like to take advantage of this, contact the lecturers for
information on how to go about using this service for
assignment work.
• Appropriate lecturer or demonstrator support is available during
timetabled ELEC230 virtual labs (see below)
• Additionally, if the EEE Building opens for general
access, relevant PC labs may be possible to use as
timetabled, or at other allowable times for private study.
Work Individual
Timetabled time
7.5 hours (1.5 hours available in the Week 5 lab, plus 3 hours each in
Week 6 and Week 7 labs, as described above). Virtual labs are
timetabled as Wednesdays 10am – 1pm on MS Teams, unless the lab
format changes in this period.
Note: lab time is not exclusively devoted to the Assignment, but also
to practical work relevant to the current stage of the course. The
Assignment builds on ~40 prior hours of synchronous online C++,
Linux and ROS tutorials and 15+ hours of lecture material available on
CANVAS as videos, pdfs and written notes.
Suggested private
study 8 hours including report-writing
Assessment method Individual, formal, word-processed reports in the format instructed in
the 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 and
collusion.
Submission deadline Wednesday 14
th April 2021, 23:59
Late submission Standard University penalties apply
Resit opportunity August resit period (if total module failed)
Marking policy Marked and moderated independently
Anonymous marking Yes
Feedback Via comments on your CANVAS submission, online
Learning outcomes
▪ (BH1) Understanding Linux and the mechanisms provided for
multi-tasking
▪ (BH2) Understanding the features of an Object Orientated
Programming language and the ability to code in C++
▪ (BH4) Understanding the ROS system
▪ More specifically: understanding the package management
system in ROS; understanding and implementing robot
simulation using ROS, Turtlesim, Gazebo
Continues on next page
Marking Criteria
Section Marks Indicative characteristics
Adequate / pass (40%) Very good / Excellent
Presentation, and structure
10%
▪ Contains document with
cover page (title,
background, academic
integrity declaration), a
discussion page, and
screenshots (see below)
▪ Contains original source
code, manifest file,
CMakeLists.txt, launch files
▪ Comprehensible language;
punctuation, grammar and
spelling accurate
▪ Equations legible, numbered
and presented correctly
▪ Appropriate use of technical,
mathematic and academic
terminology and conventions if
relevant
▪ Word processed with consistent
formatting
▪ Pages are numbered; figures and
tables are captioned
▪ All sections are clearly
signposted
▪ Correct cross-referencing (of
figures, tables, equations) and
citations where relevant
Introduction,
Method, Design
50%
▪ Problem background is
introduced clearly
▪ Clear, original code and
comments
▪ Code is clearly laid out and
appropriately commented
▪ Design of each code
segment follows a logical
sequence
▪ Code is tidy, efficient and
easy to follow / understand
▪ Some discussion of the
procedures undertaken
▪ Excellent understanding of the
problem background is
displayed
▪ Comments show excellent
understanding of syntax and
semantics
▪ Coding is elegant and, where
relevant, sophisticated for each
task, while remaining easy to
follow
▪ Principle of “DRY1
” is followed
▪ Discussion of what worked and
what did not
▪ Discussion of all the testing
carried out
Results
40%
▪ Screenshots of program
output are presented for
each task, including the full
desktop with relevant
windows and the taskbar
with date and time, as
evidence of original work
▪ Screenshots and code
demonstrate at least partially
correct operation
▪ Screenshots and code
demonstrate successful, correct
output for every task
1 Don’t Repeat Yourself
ELEC 230 C++ Assignment 3 (2020-2021) – 30% weighting
Aim of this assignment
The 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 simple
wanderer algorithm, very like a ‘Roomba’ robot vacuum cleaner. The robot should
move forward until it reaches an obstacle, then rotate in the same position until the
way ahead is clear, then move forward again and repeat.
Continues on next page
Rules and Requirements of your Assignment
You code must be executable in a Linux environment without any modification. For
you to work and be able to execute the assignment, make sure you have a ROS
Distribution (i.e., noetic) wit Gazebo installed. For more information please have a
look at the lecture notes and lab sessions in CANVAS.
Before you start this assignment, you should make sure that you understand the
concepts in ROS tutorials 1-6, 8, 11 or 12, and 13 (These were covered in lab sheets
1-4). In addition, go over all the code samples from class and make sure you
understand them thoroughly. Finally, make sure that the turtlebot_gazebo packages
are installed on your machine.
The Assignment
1. First make a new ROS package called wander_bot, with the appropriate
dependencies. If you need a refresher, please consult either the lecture material
or ROS.org tutorials.
2. Create a launch File. This launch file needs to run the Gazebo simulator and the
wander_bot node that you are going to write without the user needing to invoke
them separately.
3. Your task is now to write the wander_bot node. The node should implement a
simple algorithm:
• If the robot is moving sufficiently close to an obstacle in front of it, then
rotate it in the direction that is freer from obstacles (i.e., if there is an
obstacle on the robot’s right, it should turn left) until the way ahead is
clear;
• If there is no obstacle blocking its path, move forward as a default.
• You can use the Stopper node we used in Week 4 as a template
for this assignment.
4. Verify that the wander_bot node works, by running it and watching the robot in
the simulator.
Continues on next page
The Rules
1. Make sure that your code is tidy and well-commented. (You can make your code
tidier in terms of indentations by using the Reformat code option inside the
Clion IDE).
2. This goes without saying: you should do this lab work on your own. All the work
you turn in should be yours, and not done in collaboration with anyone else. If
you use any external sources of inspiration, other than ros.org, then let us know
in a README file.
What to Hand In
You 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 distinct
part 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 and
academic integrity declaration, followed by no more than 1 page of discussion
of: procedures followed; what worked and what did not; the testing carried out.
The rest of your Word document should include screenshots as described in the
Marking 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_bot
roslaunch wander_bot wander_bot.launch
Continues on next page
Helpful Resources
If you have any questions, where a requirement is unclear, or there are some concepts
where you need additional information, you must use the CANVAS “Assignment 3”
discussion board (DB) to ask questions.
▪ You are encouraged to answer each other’s questions in the CANVAS DB.
▪ You are, however, not to share code of any kind, documents, or links to
websites, other than CANVAS links to lecture notes.
▪ Any e-mails and/or MS Teams chats regarding the assignments will be not taken
into 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 software
can be found at ROS.org.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
urba6006代写、java/c++编程语...
2024-12-26
代做program、代写python编程语...
2024-12-26
代写dts207tc、sql编程语言代做
2024-12-25
cs209a代做、java程序设计代写
2024-12-25
cs305程序代做、代写python程序...
2024-12-25
代写csc1001、代做python设计程...
2024-12-24
代写practice test preparatio...
2024-12-24
代写bre2031 – environmental...
2024-12-24
代写ece5550: applied kalman ...
2024-12-24
代做conmgnt 7049 – measurem...
2024-12-24
代写ece3700j introduction to...
2024-12-24
代做adad9311 designing the e...
2024-12-24
代做comp5618 - applied cyber...
2024-12-24
热点标签
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
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!