From the 7th to the 9th of May the luhbots Soccer Team held an online Hackathon. An event where we meet as a team and work together on our projects. “Hackathon” is a play on words, combining “hack” and “marathon”. The idea is to work on the project more or less nonstop for a certain amount of days, in our case 3 over the weekend. Since the word is derived from computer science, we use the term “hack” instead of “work” to describe all kinds of work-branches in computer science, mechanics and electronics. Of course the Hackathon was held online on our Discord Server, due to the corona pandemic.
The main focus at the Hackathon was the software development for our robots which run on the compute server. Since not all of our team members were familiar with ROS and C++, some of them completed a few tutorials and installed the necessary programs and packages. Usually it’s relatively difficult to begin with ROS and C++ at the same time, so our newbies at the software team (namely Timo, Sven, Nino and Silvan) received some help from other team members with more experience. The first ROS tutorial goal was to drive a little turtle from Turtlesim around on the computer screen. After the first few successes they got really motivated and started to face some more complex challenges. All in all they have done very well and learned a ton of new things about ROS and programming in general.
Of course the training of new members on our software team wasn’t the only purpose of the Hackathon. The more experienced team members focused on writing and improving nodes regarding the complex strategy, calculated by the computing servers. Here Max focused on writing the so-called “Global Task Manager”. A node which decides what move should be played in certain situations and what conditions have to be met in order to execute these moves successfully. Because we don’t want to hardcode these rules into our code, we are using something we call “Knowledge Books”. These Books are basically yaml-Files which store information about the particular move and its conditions, as well as the priority of all the rules we want to program. Because we want to program short code snippets into these Knowledge Books, the Global Task Manager can’t be written in C++, and rather has to be programmed in Python. Luckily Max is a great programmer and fast learner. Therefore he has gotten very far this weekend and managed to program the loading and executing part of the Global Task Manager at the Hackathon.
Also we incorporated a few new features into the Local Planner. For those of you who don’t know what a Local Planner is: This a part or rather a node (as we call it in ROS) which calculates specific movement commands for a robot in realtime, in order to reach given goal coordinates, avoiding obstacles along the way. Since the environment of our robots is not very complex, but very dynamic, we are using a so-called Force Field Planner which calculates the specific velocities needed, based on a set of forces very similar to an electric or a magnetic field. Some of the new features for that Local Planner were the new multithreaded simulation of the robots’ behavior in the current simulation, as well as a new type acting force to drive around other robots. Furthermore Larissa spent the entire weekend analyzing past games from other teams and reading papers on strategic teamplay, as well as decision making, in order to improve our own strategy. Her results will be discussed in the next weekly Software meeting.
Patrick and Lukas were an exception. While most of us had to work from home, they both were allowed to meet in our lab to work on our dribbling device. They developed and built a new dribbler frame and casted a new dribbler roll. After an exhausting day they managed to show really good results which you can see yourself in the short video. Since Patrick is our team photographer, he also made some amazing pictures from the process. One of them is the featured image in this post. The Dribbler is currently built into a test stand but will very soon be mounted on an actual robot frame. You will hear about that on our Instagram account.
As the teamleader of luhbots Soccer I can only say that I’m really happy how far we have come at this Hackathon. The team accomplished some great goals and also became refreshingly motivated. The event was so well received by the team that we decided to make mini Hackathons every 3 weeks from now on.