Lab Course Humanoid Robots

Robots are versatile systems, that provide vast opportunities for active research and various operations. Humanoid robots, for example, have a human-like body, and thus can act in environments designed for humans. They are able to, e.g., climb stairs, walk through cluttered environments, and open doors. Mobile robots with a wheeled base are designed to operate on flat grounds to perform, e.g., cleaning and service tasks. Robotic arms are able to grasp and manipulate objects.

Participants will work in group of 2 or 3 on one of the possible topics.

At the end of the semester each group will give a presentation and demonstration of their project accompanied by oral moderation. The whole presentation should be approximately 10 minutes long. Every member of the group should present his/her part in the development of the system in a few sentences/slides. When the presentation is complete, each group will be asked a few questions by the HRL staff members or preferably the other students. Everyone is required to be present and to watch the presentation of the other groups.

Aside from the final demonstration, every group is required to submit a lab report. The report is due on the morning before the demonstration. Please describe the task you had to solve, in what ways you approached the solution, what parts your system consists of, special difficulties you may have encountered, and how to compile and use your software. Please include a sufficient number of illustrations. Apart from the content, there are no formal requirements to this document. It is sufficient to submit one lab report per group, it must be pushed to the group's git repository before the lab presentation.

The grade of the lab will depend on the final presentation and how well the assigned task was solved.

Participants are expected to have Ubuntu Linux installed on their personal computers. The specific requirements for each project are quoted below.


Semester:

WS

Year:

2023

Course Number:

MA-INF 4214

Course Start Date:

11.10.2023

Course End Date:

27.03.2024

Responsible HRL Lecturers:


Important dates:

All interested students should attend the Introductory Meeting. In the Introductory Meeting, we will present the topics, the schedule, the registration process, and answer your questions.

11.10.2023, 14:00-15:00h (room 2.025)Introductory Meeting (mandatory) [presentation slides]
15.10.2023, SundayRegistration deadline and topic selection on our website
22.10.2023, SundayRegistration deadline in BASIS
27.03.2024, WednesdayLab presentation and deadline for lab documentation

Topics:

You can choose between the following topics:

Soccer

In this project, two yellow goal posts and a uniformly colored ball are placed on the ground. The robot has to detect the goal posts and the ball with its built-in camera, walk to the ball, and score a goal by kicking the ball in between the goal posts. Students develop their code using a robot simulator before moving on to running the program on a real robot. A software framework that includes the simulation as well as a communication interface with the real robot is provided.

Focus: computer vision, motion editing, navigation
Programming language: C++
System requirements: Ubuntu Linux (20.04)

Turtlebot

In this project, a mobile robot shall find an uniformly colored object in a closed labyrinth. The robot has to detect the surrounding walls using the built-in depth cameras to navigate collision-free to the unknown position of the object. Students develop their code using a robot simulator before moving on to running the program on a real robot. A software framework that includes the simulation as well as a communication interface with the real robot is provided.

Focus: computer vision, navigation, mapping
Programming language: C++
System requirements: Ubuntu Linux (20.04)

Robot arm

For the robot arm we offer three labs. In all of them students develop their code using a robot simulator before moving on to running the program on a real robot. A software framework that includes the simulation as well as a communication interface with the real robot will be provided.

Focus: Motion planning, computer vision
Programming language: C++
System requirements: Ubuntu Linux Ubuntu Linux (20.04)

Sort

In this project, you learn how to program a robot arm to sort objects into a cup. The objects need to be detected in the sensor image and distinguished from the cup. The arm needs to be moved to pick up the object and to drop it into the cup while avoiding collisions.

Memory:

In this project, you learn how to program a robot arm to play the board game "Memory". The cards need to be detected in the sensor image. The arm needs to be moved to pick up the cards and show them to the sensor while avoiding collisions.

Sketch2Draw:

In this project, you learn how to program an industrial robot arm to draw a sketch. Given a RGB image, the drawing contours have to be generated. Afterwards, the robot has to move according to the contours so that it draws the sketch of the image.