Project 3: Finding a person
Summary: In this third project, we will use the Turtlebot4s and
the ROS2 system to build a custom autonomous program
Details:
The Robot: The turtlebot4
The Environment: The robotics lab, but for the duration of the robot
run, we will use a static environment. Somewhere in the environment we have
one member of the group sit down (and stay there) Somewhere else another
person (perhaps the professor) will sit.
The Task: you will write a program which will autonomously search the
environment for your group member, your robot should be capable of being
places in any wide open space in the room, and then go find the correct
person and go to that person. We will make sure that the people don't move
and that the room is static from startup of the program till the person is
found since depending on the laptop you often don't get more than one frame
processes every 2 seconds.
- Use the camera and facelib or something similar to process the camera
feed.
- use twist messages programmatically to have the robot navigate around
the room without the need for operator intervention.
- when your robot finds the target person, go there and indicate that if
found the correct person (the robot needs to indicate
- not your laptop - unless your laptop is sitting on the robot far from
your users perhaps - then the indication should be more than command
line)
The Graded Demo:
in the week between the last regular class and the final exam, we will
setup times for each group to demo the project.
In the demo, I will position the robot in the room, and pick a location
for the target person - and likely sit myself (or another group volunteer)
in a place that will be seen by the robot first.
The code: put the code for this project on github and send me a link to
it.
The Graded Paper:
At the final exam - bring in a paper (hard copy - one per group)
double spaced in proper business English discussing your robot
using the following outline
- Introduction (what did you do and why should anyone care)
- Hardware (a paragraph or so explaining the robot and its capabilities
- only the ones you used for this project)
- software (One of the major sections: explain your solution in some
detail since there are several possible variations)
- Pitfalls (I'm going to have a group of undergrads doing this class
soon, what do you wish you knew before you started - if I were to give
this paper to those undergrads what would help them?)
- The main part of the paper A fairly detailed discussion of the ups and
downs building this program, including a discussion of how things went
during the demonstration.
- conclusion/evaluation, how is this robot to work with so far.