Robot Software Practicals
Beschrijving
This course teaches students the basics for creating and collaborating on academic robotics software. It aims to give students sufficient knowledge and experience such that they can proceed learning more about robotics programming by themselves as needed. The course does this by providing an overview of key technologies, and letting students develop basic skills often used in real world robotic software development. The main objective is to obtain hands-on experience - beginners level - with Linux, Git en Gitlab, C++, ROS, and integrate with common external libraries such as OpenCV or PCL. This course does not teach new robotics theory (e.g. perception, planning, control, etc.) which is covered in other courses.
The allotted 5 ECTS means that students are expected to invest approximately 11 hours/week outside of contact hours. Be aware that active participation in all the lab and peer-review assignments is required, hence it is not recommended to do this course if you cannot commit to a regular time investment over the whole education period.
Linux: Although Windows is the most prevalent operating system on desktop PCs, Linux became very popular for embedded systems such as robots. Developing for embedded Linux systems is most easily done in Linux itself, and this course aims to familiarize students with the use of Linux on the desktop and terminal. It includes the following topics: OS architecture, File system, Shell, Scripting.
Git/Gitlab: All exercises will be submitted using Git, a widely used version control system to manage and collaborate on coding projects. During the course, students will practice basic tasks with git, such as solving code conflicts, and merging the work of lab partners. Using an issue tracker and giving constructive feedback to peers is also an important aspect that will be practiced.
C++: C++ is one of the most relevant programming languages for robotics. Being an object oriented language brings great advantages compared to its predecessor C. This practical gives students practical knowledge on C++ programming. The course encompasses the following topics: Introduction to C++, common compilation tools, basic programming in C++, classes and objects.
ROS: The Robot Operating System (ROS) is a flexible framework for writing robot software. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behaviour across a wide variety of robotic platforms. During the course, students will learn to use existing ROS tools, create their own software components in C++, integrate them into an application, and test their solutions using a physics simulator.
Others: You will also get some practice using external libraries in your robotics project, such as OpenCV or PCL. OpenCV is a computer vision library designed for computational efficiency and with a strong focus on real-time applications. The Point Cloud Library (PCL) is an open-source project for point cloud processing. Note that this course is not about understanding the methods or theory on which these libraries are based, but rather on integrating the provided functionality in novel software components.
Reviews0 reviews
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je TU Delft mailadres duurt één minuut.
Schrijf een review