Course Code | COMP3431/COMP9434 |
Course Title | Robot Software Architectures |
Units of Credit | 6 |
Course Website | http://cse.unsw.edu.au/~cs3431 |
Handbook Entry | http://www.handbook.unsw.edu.au/undergraduate/courses/current/COMP3431.html |
This is a project-based course that gives a practical introduction to the intelligent control of robots. In labs, students will get hands on experience with robot navigation and mapping, perception and planning.
We start with an introduction to the structure of robot software, including the Robot Operating System, ROS2 . We will be using TurtleBot3 Waffle Pi Robots.
At the end of this course, students should have:
The official course timetable is available here . Please note that the timetables for COMP3431 and COMP9434 are the same. We will use the 2pm-4pm Tuesday slot for lectures in The Old Main Building (OMB G31) and the labs will be on Tuesday, Wednesday, Thursday and Friday evenings. Lectures will be in-person and the labs will be in J18-212 (The Willis Annex, next door to J17 and K17). All lectures and labs are in-person .
As this is a project-based course, the assessment will be by demonstration in the lab by each group, with a group mark, and an accompanying report, which is each student must submit individually. The projects will be explained in the lecture and lab in week 1.
The project assessment is divided into two components:
Lectures and Assignments are the same for COMP3431 and COMP9434 students.
Units of credit: This is a 6 UOC course
Most students will work with the Turtlebot3 robots developing programs for an @Home application. However, some groups may chose more ambitious projects, if the wish:
This course contributes to the development of the following graduate capabilities:
Graduate Capability | Acquired in |
scholarship: understanding of their discipline in its interdisciplinary context | 1 - 10 |
scholarship: capable of independent and collaborative enquiry |
1 - 10
|
scholarship: rigorous in their analysis, critique, and reflection |
1 - 10
|
scholarship: able to apply their knowledge and skills to solving problems |
1 - 10
|
scholarship: ethical practitioners |
1 - 10
|
scholarship: capable of effective communication |
1 - 10
|
scholarship: information literate |
1 - 10
|
scholarship: digitally literate |
1 - 10
|
leadership: enterprising, innovative and creative |
1 - 10
|
leadership: capable of initiating as well as embracing change |
1 - 10
|
leadership: collaborative team workers |
1 - 10
|
professionalism: capable of independent, self-directed practice |
1 - 10
|
professionalism: capable of lifelong learning |
1 - 10
|
professionalism: capable of operating within an agreed Code of Practice |
1 - 10
|
global citizens: capable of applying their discipline in local, national and international contexts |
1 - 10
|
global citizens: culturally aware and capable of respecting diversity and acting in socially just/responsible ways |
1 - 10
|
global citizens: capable of environmental responsibility |
1 - 10
|
This course is for postgraduate students (COMP9434) and advanced undergraduates (COMP3431). It is a 3rd year course because it has few pre-requisites.
Students in this course are expected to be able to program in C++, Java or Python.
While not a formal pre-requisite or co-requisite, it is recommended that students take a machine learning course if they are interested in artificial intelligence, eg COMP9417 . That course does not need to be taken before this one. The artificial intelligence course, COMP3411 , is also recommended but it does not give the depth of Machine Learning knowledge that is useful for this course. While it isn't a formal pre-requisite, students who have already taken COMP3411 or an equivalent course often find this course easier.
Because the number of robots is limited, this class has a maximum size. A minimum WAM is required for the course. For people who have a WAM below the required WAM, there is a waiting list. That waiting list is used to fill up any positions remaining just before the start of the semester.
There is no textbook that covers all the topics at the right level of detail for this course, so there is no set text, but there are recommended references below and a lot of online material
The assignments are all group-work. Furthermore, the assignments are graded is a style more like a design class than a computer science class: you demonstrate your robot doing what it does, and then the class discusses why it behaved that way and whether that is, on balance, a good thing. You will also write a final report to accompany your main project.
Plagiarism is defined as using the words or ideas of others and presenting them as your own . UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW: MyUNSW: Plagiarism and Academic Misconduct .
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.
There is no set text for this course. However, the following books are recommended:
TurtleBot3 Online Manual ; Robotis
ROS Robot Programming
; YoonSeok Pyo, HanCheol Cho, RyuWoon Jung, TaeHoon Lim
This is an introduction to robot programming using ROS, written by the developers of the TurtleBot3. The PDF is free to download and will be our primary text.
Artificial Intelligence: A Modern Approach
; S. Russell and P. Norvig
This is a good overview textbook for artificial intelligence in general. If you were going to get one book on AI, this would be the one I'd choose.
Probabilistic Robotics ; S. Thrun, W. Burgard and D. Fox
This is a newer textbook covering "perception and control in the face of uncertainty". It covers those areas well, but doesn't have quite the breadth of this course.
This course is evaluated each session using the CATEI system.
In the previous offering of this courses, students noted that space is limited.
Based on their comments, we can now use the Design Next studio, on the same floor as the robotics lab, which is much larger.
Resource created Wednesday 06 September 2023, 11:23:13 AM, last modified Wednesday 13 September 2023, 03:19:53 PM.