Optimal Multi-Robot Behavior Planning
In our current research, we are working towards multi-robot systems which can perform tasks autonomously given only a high-level mission goal. More specifically, the description of a goal that needs to be achieved can, for example, express something like:
"Deliver drinks to hotel rooms h1 to h4." (see above video)
"Distribute printed copies of a document to the desks d10, d7, d5, and avoid public areas while carrying the document. Make sure that there is sufficient paper left at the printer."
"Take a photo in the meeting rooms m1, m4, and m6. Furthermore, deliver a document from desk d5 to d3 and guide a person waiting at desk d11 to meeting room m6. The camera has to be turned off for privacy reasons while not in meeting rooms."
Based on these instructions, provided as Linear Temporal Logic (LTL) formulation, the system automates the following steps.
- Determine robots available for the mission.
- Identify parts of the mission which can be separated into different tasks.
- Allocate tasks to available robots.
- Plan actions to fulfill the LTL formula.
- Optimize allocation and planned actions such that the maximum robot cost is minimized.
- Respect resource constraints like limited battery and supplies.
- Scale to a reasonable number of around tens of robots.
DARPA Robotics Challenge
I participated as a member of Team ViGIR, one of the Atlas teams, in all competitions starting from the Virtual Robotics Challenge up to the finals. My responsibility in the team was the high-level executive, resulting in the FlexBE behavior engine. I was also part of Team Hector, which joined the DRC shortly before the finals. In addition to integrating the THOR Mang humanoid robot with all the required ROS components, I was the supervisory operator to control the robot during the finals.
ARGOS Challenge
The French oil and gas company Total held the ARGOS challenge to develop a robot for autonomous inspection of remote oil rigs. As member of Team Argonauts, which finally won the challenge, I mainly worked on the high-level behaviors using FlexBE and supported the team during two of the three competitions at the Total test site in Pau, France.
RoboCup Rescue & Soccer
I participated as member of the Darmstadt Dribblers at the Humanoid Soccer League (Kid Size) and as part of Team Hector at the Rescue League. My recent work for our new rescue robot built by Taurob included MoveIt! and FlexBE integration of the arm to solve the dexterity challenges as well as providing support for the students working with FlexBE.
RQT Launch Tree
An RQT plugin for introspection of launchfile configurations. The complete hierarchy of a launchfile is parsed and presented in a user interface. Properties of all entries can be viewed and any included file can directly be opened in the editor of choice.
Unity3D Engine
During my time as a student, I did several projects based on the Unity3D game engine. For a lecture on communication networks, we developed an action-packed multiplayer game to demonstrate efficient multi-agent estimation of the current game state as well as a decentralized communication protocol for the matchmaking lobby. As a project for the research group on real-time systems, we developed a 3D simulator for the existing sensor cars. The simulator not only enables realistic simulations of the developed microcontroller code, but also makes it very easy to build new scenarios.