Duckietown parnters with Massrobotics in Boston for the Duckiedrone summer 2024 academy

The 6th Annual Massrobotics Duckiedrone Academy

Boston, MA, USA – Massrobotics, July 2024: instructors and learners gather at MassRobotics in Boston to learn about drone autonomy.

The 6th Annual Drone Academy at MassRobotics

High school learners gathered at MassRobotics in Boston to learn about drone autonomy using the latest Duckiedrones, model DD24. 

With the support of Brown University and Amazon Robotics, learners deep-dived for a week in the science and technology of autonomous flight.

Starting from a box of parts, the Duckietown DD24 drone and accompanying pedagogical materials enable a rich set of learning experiences for newcomers to autonomy, as well as for seasoned veterans. 

Learners had the opportunity to practice soldering, electrical connections testing, software initialization for development and operations, actuator setup, sensor calibrations, low-level controller tuning, manual flight, and autonomous hovering. 

This summer academy followed a similar experience at Howard University, Washington DC, that took place in June 2024.

The new Duckiedrone (DD24)
Duckiedrone summer camp 2024 at massrobotics

The Duckiedrone is a DIY, Raspberry Pi-based drone designed to introduce learners to autonomous flight.

Learn more about Duckietown

The Duckietown platform enables state-of-the-art robotics and AI learning experiences.

It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Marek Dlugosz+AGH logo

Teaching robot autonomy at AGH Krakow with Prof. Długosz

Teaching robot autonomy at AGH Krakow with Prof. Długosz

Prof. Marek Dlugosz tells us what he likes about teaching robot autonomy with Duckietown in his AI and Autonomous Vehicles laboratory in Krakow, Poland.

Krakow, Poland, April 29th 2024
Professor Marek Długosz from the Akademia Górniczo-Hutnicza (AGH) – University of Science and Technology in Krakow, shares his experience teaching robot autonomy with Duckietown.

Increasing efficiency and saving time at the robot autonomy lab in AGH Krakow

We interviewed Prof. Marek Długosz form the AGH University of Science and Technology in Krakow, to learn more about his teaching activities and laboratory.

Good morning and thank you for taking the time to be with us! Could you introduce yourself?

My name is Marek Długosz and I am an assistant professor at the AGH University of Science and Technology in Krakow. My work is focused on robotic automatic functions theory, while last year I focused more on robot autonomy and autonomous vehicles. 

DB-21 AVG Dlugosz robot autonomy lab
Thank you. When have you encountered Duckietown for the first time?

I first learned about the Duckietown project while searching the internet for information, then I started to read more about it, and it looked very interesting for a few reasons. First of all, there’s not only a theoretical part, but there’s also the hardware part of this project which are the Duckiebots.

Then, there’s also a lot of lessons, examples and exercises for students to learn more about robotics. That’s one reason why I found it interesting. A second reason this project looked interesting is that it’s not only about one robot, but a fleet of robots, and also there is the speed regulation aspect. One of the main focus of my research is how to manage the speed of autonomous robots or autonomous cars, and I think that Duckietown can be perfect to check my ideas and algorithms rapidly and with ease. It is much easier to run five robots in my laboratory than to run four or five cars in reality!

DB-21 in smartcity, AGH robot autonomy lab
How do you use Duckietown in your activities?

My colleagues and I use Duckiebots during classes and lessons to better explain topics related to theoretical aspects of programming in robotics. What I find very attractive is the possibility for my students to practice. They can actually program a Duckiebot and implement algorithms, such as lane following, adaptive cruise control etc. This is really something that my students and colleagues like very much. Duckietown also has fantastic software, it’s very well organized, thanks to Docker, so there is no risk that some student makes a mistake and breaks one of my robots! Students prepare the Docker container, and once the exercise is complete, they delete this container.

We also use Duckietown in our research as I said earlier, to verify and check our algorithms, and how to manage fleets of robots. One of the special aspects of Duckietown are its smart cities, with its crossroads, signs, traffic lights, etc. For us, this aspect is very interesting. 

One of the latest projects done by my students was a system to localize Duckiebots on a plane using four or more video cameras, and we are about to publish the results of this project. 

Smart city Duckietown at AGH robot autonomy lab
Very interesting thank you. What is the age of the students you are teaching right now, and would you say the students are satisfied with Duckietown?

The age bracket is students between 20 and 23 years old. I’ll just say that very often, at the end of the lessons, students decide to stay and do more exercises, they find it incredibly interesting that Duckietown is not only a simulation, as we know in a simulation you can do anything, but when you start doing things practically, taking the hardware in your hands, and programming these robots, it’s a very, very different thing. 

Very often I have to stay after lessons and try to do more together with my students, to the point I must tell them to come back the day after because it’s getting late.

Also, in addition to regular lessons, in our university there is a Student Scientist Association, the members of which can go to special classes after the end of regular ones, to perform additional experiments and exercises. 

Duckietown is not only a simulation, in a simulation you can do anything, but when you start doing things practically, taking the hardware in your hands, and programming these robots, it’s a very, very different thing. 

Smartcity AVG robot autonomy lab
Did you encounter any challenges, problems or difficulties while using Duckietown?

At the beginning, we had some problems with the assembly of the Duckiebot. I even wrote a simple article about this, but we made some improvements, which I  described in this article, and now the Duckiebots work perfectly.

DB-21 AGH Krakow mod
Do you have anything else to add about your projects and experiences?

I hope that I can motivate enough students to participate in the AI-DO competition. I’d like it if some of my students participated in that kind of challenge. I would also like to let my students understand how well organized Duckietown software is, I think there’s an absolutely perfect architecture that helps minimize the risk of errors and mistakes and there’s perfect functionality between containers. We have a lot of students and these robots need to work for everyone, so minimizing the possibility of problems is excellent.

I think that Duckietown can be perfect to check my ideas and algorithms rapidly and with ease. It is much easier to run five robots in my laboratory than to run four or five cars in reality!

Would you recommend Duckietown to colleagues and students?

Yes of course, anytime I have the occasion I recommend this project. Ours is the Artificial Intelligence and Autonomous Vehicles laboratory, and it has rapidly become one of the most attractive ones in the University. Very often students show up just to see what we are doing, and every time I show Duckietown’s smart cities, and how robots drive around and stop at traffic lights, crossroads etc. It’s always a lot of fun.

DB-21 top view

Learn more about Duckietown

Duckietown enables state-of-the-art robotics and AI learning experiences.

It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!

Dino Claro: a Duckietown journey from project to thesis

Dino Claro's Duckietown journey: from project to graduate thesis

Dino Claro, a mechanical and mechatronics engineering graduate from the University of Cape Town, shares his Duckietown journey: with challenges and results.

Cape Town, February 13th, 2024: Dino Claro, Graduate Mechanical and Mechatronics Engineer at the University of Cape Town, shares his experience with Duckietown and the project he developed using Duckiebots for his masters thesis.

Duckinator: an Odometry pose-estimation for the Duckiebot robotic car platform

Duckies - abbey road
Hello and welcome Mr. Dino Claro! Could you introduce yourself?

My name is Dino Claro and I’m a Graduate Mechanical and Mechatronics Engineer at the University of Cape Town.

Thanks for accepting to share your experience with us. When did you first run into Duckietown?

During vacation work at the University of Cape Town (UCT) Mechatronic Systems Group, I was given the open-ended task of estimating the pose of a robot car. The goal of the vacation work was to solve a problem independently but also free from the
stresses of receiving a mark or grade. There was no expectation for novel work. In fact, the vacation work was only two weeks, and the expected solution would have been straightforward, probably odometry-based. Thus, Duckinator was born.

That's when you decided to use Duckietown?

With two platforms available, a basic Arduino 4WD kit and the Duckiebot, I could simply not resist the Duckies’ pull. The idea of using a Linux-based platform geared toward AI was extremely exciting. 

At the end of the two-week vacation work, I was still ploughing through Duckietown documentation, the EdX: Self-Driving Cars with Duckietown MOOC, and ROS tutorials. My pose estimation solution seemed very far down the road. At that point, I should have realised that the DB (besides its cute exterior) is nuanced, to say the least.

duckies pyramid
Could you describe us your project?

The early phase of my project was extremely rudimentary. I had only had a couple of weeks during the vacation work to play with the DB [Duckiebot]. I planned to continue with the EdX MOOC [Self-Driving Cars with Duckietown, 2023 edition] while researching Docker and ROS on the side for the first couple of weeks and then begin development. A pitfall with this technique was completing a section of the MOOC or some other tutorial and believing I could implement it myself. My initial thinking was that if the MOOC could be completed in 10 weeks or so and given that I have already a couple of weeks’ headstart due to vacation work, I should be able to implement my standalone autonomous solution for the DB in the 12-week frame. 

Spoiler alert, Duckinator did not rival Tesla. I made the realisation about 4 weeks into the project. At that stage, I was in the Object Detection activity of the MOOC. With the world in a frenzy over AI and ML, I was itching to dip my hands in some of this mysterious ML stuff. 

Dr. Pretorius obliged, and my plan from this point was to implement my own standalone Duckietown-compliant Docker image for the YOLOv5. Charged with the excitement of the new project direction, I began researching ML, computer vision algorithms and YOLO itself. Implementing the YOLOv5 model was relatively smooth sailing and I loved learning computer vision. In all honesty, my YOLOv5 model was just organising the Object Detection MOOC into a standalone Docker image as the MOOC hides the Docker image from the student. I obtained the training data using the MOOC helper files and then trained the YOLOv5 model using a very similar Google Colab script as provided by the MOOC. 

I slightly extended the YOLOv5 model from the MOOC by training the model to detect DBs, which proved to be sort of successful. As I only had one Duckiebot, I tested the model by parking Duckinator in front of a mirror or putting it in front of my laptop showing photos of other DBs. Due to this shabby testing, I left this extension out of my write-up. This was all completed after week 7.

With the world in a frenzy over AI and ML, I was itching to dip my hands in some of this mysterious ML stuff.

Duckiebot image detection
Did you meet your objectives?

Completing the Object Detection model effectively meant that my revised project brief had been met but as I still had some time, I needed to extend the model in some way. 

Duckinator had eyes but I wanted to make it move … autonomously. I had the idea of creating a safety controller where the distance of objects from the duckiebot could be inferred using the predicted bound box and perspective geometry. 

My theory went as follows: knowing the real-world size of all the objects the DB could detect and comparing this to the dimensions of the bounding box provided by the YOLO model, it would be possible to infer the depth of the object and this depth could then be used to base autonomous controller commands. This led me to research autonomous vehicle safety architectures/controllers and modern depth estimation algorithms. I soon realised that much more advanced autonomous architectures existed. For instance, modern autonomous vehicles fuse camera feeds, object detection models, kinematic models and various other sensors to generate vector or depth maps. The creation of these depth maps is extremely complex and a field of intense research.

imposter_marked
What where the challenges you encountered during your project?

After coding up my algorithm for the projective projection algorithm, I obtained unexpected results. Negative in most cases. Describing my algorithm in more clarity to Dr. Pretorius, he made it clear that a simple projection perspective would not work in this case. 

I was projecting everything from the camera image to the ground plane but of course, the duckies and any other objects do not exist solely on the ground plane. This being week 10 of the project, I had simply run out of time and had to scrap the projective perspective and had no time to implement any of the more complex algorithms out there.  

I was devastated at the fact that Duckinator was not going to move. 

Upon some reflection though, the YOLOv5 model was working quite well, and I had all this research about autonomous architectures and depth estimation. One of the autonomous architectures I researched was Braitenberg vehicles acting as, possibly, the simplest autonomous architecture. A basic Braitenberg controller was simple enough to implement and would mean once again Duckinator could move. 

Bounding boxes were populated onto a black image and then divided into left and right region maps. These maps were then element-wise multiplied with a weight matrix to provide a scalar value which can be used for wheel commands. Using the ‘fear’ Braitenberg vehicle the DB would then steer away from any detected objects. Another realisation was that my project was experimental with one of the main goals being for it to act as a stepping stone for future projects. 

At this stage (two weeks before my project was due) I was satisfied with a newly engineered aim: Evaluating the viability of the Duckietown platform at the undergraduate level by implementing an ML object detection model. The key outputs being the YOLOv5 model (Duckie Detector) as well as possible future projects and trajectories for students.

The real learning occurs when getting your hands dirty, experimenting and troubleshooting.

duckie_avoidance
What are your final considerations?

Reflecting on my journey from a complete beginner to a slightly more competent beginner, here’s my advice for those on a similar journey: 

Begin with a blank Duckietown-compliant Docker image and dive into coding a demo, whether it’s based on my solution or another. Ultimately, the goal is to first understand the code and then attempt to recreate it without directly copying. 

While documentation and EdX activities are useful in providing broad overviews and points of contact for debugging, relying solely on them may create a deceptive sense of competency. 

The real learning occurs when getting your hands dirty, experimenting and troubleshooting.

Thank you very much for taking the time, we appreciated your story very much! Is there anything else you would like to add?

Yes, I would say that embracing the hands-on experience is key to understanding the platform and being immersed in the infectious ethos surrounding Duckietown.

On that note, I would like to express my gratitude to Dr. Pretorius for granting me the freedom to experiment and the opportunity to work with the Duckiebot. I eagerly await future projects and the growth of the Duckietown community

DB and Duckie pyramid

Learn more about Duckietown

Duckietown enables state-of-the-art robotics and AI learning experiences.

It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!

BCI Initiative event screen

Massachusettes Institute of Technology: first BCI hackathon

Cambridge, MA, USA – McGovern Institute, 24-25 February 2024: Over 100 participants took part to the first MIT BCI hackathon, competing in teams to control Duckiebots using brain computer interfaces.

Quick links

Controlling Duckiebots using brain computer interfaces

Over 100 participants gathered at the Massachusetts Institute of Technology for the first BCI hackathon organized by Dr. Federico Claudi. The participants tried to control a Duckiebot using only brain computer interfaces, and competed in a series of tasks. 

BCI is the field of research that studies how to measure, amplify, filter and utilize electrical signals from the brain to interact with external devices.

MIT BCI Hackathon man wearing headset
MIT hackathon woman wearing headset

What made this hackathon distinctive was the hands-on challenge, where participants were tasked with controlling a physical robot. This not only tested participants’ technical skills but also showcased their ability to tackle real-world problems through innovative BCI applications.

The task teams competed on was having Duckiebots (DB21-J4) navigate a road loop as fast as possible while avoiding Duckies. Here is an example:

The hardware used in this competition was an X.on EEG headset, and Duckiebots for control. Also, the winning team’s solution will be soon made available as a reproducible  Learning Experience with Duckietown – stay tuned!

The Duckiebot is a DIY, Raspberry Pi-based robot powered by Nvidia and designed for introducing learners to autonomous technologies.

If you would like to contribute in developing accessible BCI LXs with Duckietown, and support the dissemination of BCI research, e.g. reach out to us at [email protected].

Learn more about Duckietown

The Duckietown platform enables state-of-the-art robotics and AI learning experiences.

It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Learning Skills to Navigate without a Master: A Sequential Multi-Policy Reinforcement Learning Algorithm snippet

Learning Skills to Navigate without a Master: A Sequential Multi-Policy Reinforcement Learning Algorithm

General Information

Learning Skills to Navigate without a Master: A Sequential Multi-Policy Reinforcement Learning Algorithm

Duckietown Reinforcement Learning Paper - Sequential path planning
Reinforcement learning (RL) is a rising star approach for developing autonomous robot agents. The essence of RL is training agents based on policies that reward desirable outcomes, which leads to increased adaptability to operational scenarios. Through iterations, robots refine their decision-making, optimizing actions based on rewards and penalties. This method provides robots with the flexibility to handle unpredictable situations, enhancing their efficiency and effectiveness in real-world tasks. To learn about RL with Duckietown, check out the resources below.

Abstract

Solving complex problems using reinforcement learning necessitates breaking down the problem into manageable tasks, and learning policies to solve these tasks. These policies, in turn, have to be controlled by a master policy that takes high-level decisions. Hence learning policies involves hierarchical decision structures. However, training such methods in practice may lead to poor generalization, with either sub-policies executing actions for too few time steps or devolving into a single policy altogether. In our work, we introduce an alternative approach to learn such skills sequentially without using an overarching hierarchical policy. We propose this method in the context of environments where a major component of the objective of a learning agent is to prolong the episode for as long as possible. We refer to our proposed method as Sequential Soft Option Critic. We demonstrate the utility of our approach on navigation and goal-based tasks in a flexible simulated 3D navigation environment that we have developed. We also show that our method outperforms prior methods such as Soft Actor-Critic and Soft Option Critic on various environments, including the Atari River Raid environment and the Gym-Duckietown self-driving car simulator.

Highlights

Here is a visual tour of the work of the authors. 

For all the details, check out the paper link!

Conclusion

In this paper, the authors proposed an algorithm called “Sequential Soft Option Critic” that allows adding new skills dynamically without the need for a higher-level master policy. This can be applicable to environments where a primary component of the objective is to prolong the episode. We show that this algorithm can be used to effectively incorporate diverse skills into an overall skill set, and it outperforms prior methods in several environments.

Learn more

Duckietown is a platform for creating and disseminating robotics and AI learning experiences.

Duckietown is modular, customizable and state-of-the-art. It is designed to teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of knowledge.

Prof. Bernd Bruegge TUM - portrait

Successful failures: learning robotics with Prof. Bruegge

Prof. Bruegge and his colleagues about his experience using Duckietown and the new 4GB Duckiebots.

Munich, April 3rd: Prof. Bruegge (Brügge) studied computer science at the University of Hamburg and Carnegie Mellon University (CMU), where he also earned his doctorate. Appointed as Professor at the Technical University of Munich (TUM) in 1997, and also associate professor at CMU, Prof. Brügge was on the research committee of Deutsch Telekom and the Munich district. He has served on the board of directors of the Center for Digital Technology and Management, and acted as liaison professor for the Max Weber Foundation and the German National Academic Foundation (2000–2017). 

Quick links

Failing successfully, an interview with Prof. Bruegge

Prof. Bernd Bruegge - Duckiebot - Crete

Prof. Bruegge and the JASS 2023 summer camp

Prof. Bruegge, Bernd, is an established computer scientist researcher and Professor, having (co)authored hundreds of peer reviewed publications with over 8800 citations at the time of this writing.

Emeritus Professor since 2021, Bernd regularly contributes to the organization and running of the Joint Advanced Student School (JASS)

In this interview we capture his experience from the summer 2022 edition. 

We are thrilled to have this chat with him! 

The Joint Advanced Student School (JASS) is a yearly summer retreat for advanced robotics studies held in Cyprus.
Good morning! Could you introduce yourself?

My name is Bernd Bruegge. I was a Full Professor of Computer Science at the Technical University in Munich, I was at Carnegie Mellon before I joined the Technical University. I was for 20 years at the Computer Science Department at CMU in Pittsburgh, Pennsylvania.

What can you tell us about this JASS school event that took place in Cyprus?

The recent [2023] school was quite an adventure! 

My colleague, Prof. Kirill Krinkin, was in St. Petersburg. We had done all the JASS projects with Kirill and support activities by JetBrains in St. Petersburg. And as you know, it’s a total disaster there, there’s nothing left.

So we organized this school in Cyprus with 10 students from Munich and 10 from Cyprus and St. Petersburg. And once there, we built an advanced Duckiebot system, with focus on context sensitivity.

We looked not only at intersections and turns, but we also had times when the Duckiebots would have to slow down, or stop at repair sites where we had traffic lights. There were not only OCR codes, we used Thread and Matter. Are you familiar with Thread and Matter?

I call this a "successful failure". The challenge in using advanced technology in the real world is that when you explore edge cases, unexpected situations may arise that one would not have considered by just simulating the same scenarios.

Is this a new functionality you added to the system?

Yes, this is actually an add-on we made to Duckietown. It’s a new IP standard that allows to save energy much, much more than Bluetooth. It’s actually better by a factor of 10. We added Thread and Matter capabilities to our Duckietown environment.

Screenshot
Duckiebots on table, student looking
That's fascinating! When did you first encounter Duckietown?

Well, I first heard of Duckietown a long time ago. As you know, I have been at Carnegie Mellon, which competed with MIT and Stanford. And when Kirill told me he would be a visiting professor at MIT, I asked: “What are you doing there?” And he said, “I’m using Duckietown!”

He was interested in robots and robotic technology and observed that this new technology is actually more like an environment and ecosystem than just a robot.

We then came up with a few ideas: first in St. Petersburg, we used a combination of drones and Duckiebots. Our scenario included two airports and a (duckie!) passenger. The drone had to pick up the duckie from one Duckiebot, and the students, divided into three teams, had to develop their own pickup mechanisms.   

Each of them with different approaches. One used magnets, the other one used scoops, and so on. They had to then transport the duckie from airport A to airport B using indoor navigation GPS. There was our first really impressive demo.

Credits: Special thanks to Andreas Jung and Ruth Demmel, and the multimedia team supporting Prof. Bruegge. 

Prof. Bruegge, do you feel you achieve your objectives?

I’d say we didn’t fulfill our technical objectives. The main challenge with Duckiebots was the third, omnidirectional, wheel, which had too much attrition. So, for instance, if we came to drive near a church, the idea would be to slow down the speed. But then we discovered it was difficult to control the Duckiebot at low speed, since when it comes down to a crawl, friction may cause it to stop. So operating at low speeds was not a practical possibility.

But I call this a “successful failure”. The challenge in using advanced technology in the real world is that when you explore edge cases, unexpected situations may arise that one would not have considered by just simulating the same scenarios.

I think the Duckiebot is good at lane-following and following traffic rules. When looking at context sensitivity though the challenges are trickier. So, e.g., we have a construction site with two traffic lights, how to coordinate them so to minimize, e.g., traffic? If you have one Duckiebot coming from one side and one coming from the other, then one traffic light should go green, and the other one should be red. 

But then we also have the idea that you have one traffic site that consists of multiple repair sites. In that situation the Duckiebots, lining up at the red traffic light, should have a green wave to go through each of the traffic lights until they exit the last traffic light.

So what we had in mind was coordination, making sure the Duckiebots were talking to each other. We used Python and the Duckiebots with 4GB NVIDIA Jetson Nanos, and this happened during a five-day course.

Is there anything else you would like to add?

We plan to prepare a special room for students from primary schools, to show them the interplay of autonomous driving and context-sensitive or ubiquitous computing. 

We would like to use the room in multiple ways. So we would like to have the Duckietown road sections, the tiles, interconnected in such a way that that allows us to switch between topographies basically in no time.

We have not been able to do this yet in an easy way, it’s always a scramble. Even if we use the same layout, the yellow tape is breaking or the white tapes are out of sync, and then we have to repair them.

So it would be great if we managed to keep the set up time for schools, especially for children (10 to 12 years), when doing exhibitions here, to under three minutes.

That's a great suggestion, thanks! Do you think Duckietown can be useful for younger learners too?

Yes, I think Duckietown can be very persuasive with young kids. They’re used to Lego or Fischer products, so when they meet the Duckiebot, that’s their first exposure to robots.

We actually have another project in mind, a series of Summer Schools. I’m a retired professor now, I don’t have to teach so I have time for Summer Schools! One will take place in the Dolomites, where the challenge will be a logistic one taking place in a factory. It will include robots moving packages around a warehouse.

Learn more about Duckietown

Duckietown enables state-of-the-art robotics and AI learning experiences.

It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!

Giulio Vaccari portrait - Politecnico di Milano

Spearheading Autonomy: Giulio Vaccari and the amazing AEA

Giulio Vaccari tells us how he spearheaded Duckietown at the Milan Polytechnic through the AEA student association, to support autonomy research and networking.

Milan, February 29th: Giulio Vaccari, master student at the time of this interview, tells us how and why he spearheaded the use of Duckietown at the Polytechnic of Milan, one of the most important Italian engineering universities.

Quick links
Giulio Vaccari with colleagues using Duckietown in a classroom at the Polytechnic of Milan

Spearheading Autonomy: Giulio Vaccari and the amazing student Automation Engineering Association (AEA)

An interview with Giulio Vaccari from the Polytechnic University of Milan

Hello and welcome Mr. Giulio Vaccari! Could you introduce yourself?

My name is Giulio Vaccari, and I’m a master student at the Politecnico di Milano (“Polimi”). I am studying automation and control engineering and I am right now in the process of finishing my thesis with Duckietown. During my five years here, I founded the student Automation Engineering Association, focused on automation engineering. At the “Polimi” the course of control and automation engineer is not super big, now it’s getting bigger. More and more people are joining, but it’s still pretty small compared to, for example, computer science or other bigger courses. The idea of our association was to help with networking, help to understand what are future possible career paths as automation engineers. That’s why together with some friends we decided to found the association some years back.

Very interesting. How does Duckietown fit in all this?

It all started when I met and talked with Jacopo Tani and Vincenzo Polizzi I believe three years ago.

I had some friends, older friends, at ETH Zurich that introduced us to Duckietown as a possible project for our association, that at the time was still pretty small. We were newborn and we liked the idea of start working with Duckietown right away, because we were looking for a project that we could treat like a competition. It’s easier to get more people to know each other and network, when they have a common goal, as there are common topics to discuss.

I wanted something that would help us develop teamwork skills, something around which to build a strong team. Then this idea evolved a little bit and now we have a very focused and skilled team that works with aim of doing good at the Artificial Intelligence Driving Olympics (AI-DO). We did our first competition in 2021, in December, and it went well. Now we are improving. We are still working on it.

Giulio Vaccari with and members of the Automation Engineering student association at the Polytechnic of Milan
Giulio Vaccari and colleagues presenting Duckietown at the Polytechnic of Milan
Could you tell us more about your team's experience with the AI-DO competition?

Sure! We ended up being finalist, I’m very proud of that! In the meantime, I talked with some professors to try to get some help to improve what we were doing with Duckietown, to have some suggestions on what we should focus on. I was lucky enough to meet a Professor, now my thesis advisor, who had already heard about Duckietown and liked it. I was very happy that we were able to bring Duckietown to the Politecnico of Milano. Although the AI-DO are over now, I’m still doing related work, so I’m able to help the team do better while working on my thesis. Duckietown is now part of the laboratory for autonomous driving here at PoliMi, and I feel like managing to get Duckietown to be adopted by the Politecnico di Milano is a pretty big thing that I’m still proud of! 

And you should be! Do you use Duckietown also in the activities of the association?

When it comes to the association, we are focused on AI. We have a team of around 20 people working on different things. We use Duckietown also to do outreach when we have, for example, “associations days”, which are open days when students from high schools come and visit the University. That’s when we showcase Duckietown to show both what we do as an association but also what a control engineer is supposed to do, because it’s very difficult to explain otherwise.

What do you like about Duckietown? Why do you think it is useful for what you do?

Through Duckietown, it’s very easy to implement ideas in the real world. Usually if you need to build something like that from scratch, it will be super difficult. There are a lot of failure points, while with Duckietown we can just deploy it and it just works. This is super cool. We can also test a lot of different control strategies with very low effort. I mean, just the fact of writing the control algorithm, deploying it and it just works is huge. So this makes things super easy. Duckietown is very friendly and easy to use. It’s not something you often see in robotics, which is instead usually very complicated and intimidating. Yes, very intimidating. And Duckietown is even very friendly looking, and this is definitely a big plus!

Do you think people that are using Duckietown, are satisfied with it?

Yes, we had really positive feedback. I mean, everyone is really happy to work with Duckietown and we had so many people applying that we had to limit the team size because that would’ve made it very difficult to manage all those people. So I would say it had a very positive impact in general on the association. People are generally enthusiastic to just see the robots going around.

There are a lot of failure points in robotics, while with Duckietown we deploy our algorithms and it just works. This is super cool. We can test a lot of different control strategies with very low effort.

Vaccari and friends - Polimi
Would you suggest it to colleagues or other student associations?

Yes, for sure. But I see that it’s not only our team; also the Professor that I’m working with is very happy to be able to use it, also as a benchmark for different controls. There are other universities that have their very specific tracks to run their robots, while with Duckietown, it’s super easy to test like, the same strategy in different environments, but still with the same basics. This is a very positive thing also for the university.

Thank you very much for taking the time, we appreciated your story very much! Is there anything else you would like to add?

Right now I’m working on a different subject. So I’m using still Duckietown, but not in a city environment, but in a racing environment. My objective is to set up a racing track and have two robots compete against each other. They are still not competing, but we are getting close. It’s very nice that together with the Duckietown team, we are working on the urban environment, using different kind of materials to create these racing environments. I think it’s very cool.

There are also some issues every now and then. Maybe something that is not super easy to find, something that is very in depth, some APIs. If you want to use them, you need to dive deep. There is a support Slack channel though, and it’s super easy to ask for help. This too I believe is very nice and just adds to the positive experience.

Special Giulio Vaccari content!

We found in our archives the video submission of Giulio Vaccari and his team at AEA on the occasion of the 2021 AI Driving Olympics finals. In this fun, short, video team PoliMi explains the rationale and challenges faced in developing an ML-based agent for the 2021 competition!

Learn more about Duckietown

The Duckietown platform enables state-of-the-art robotics and AI learning experiences. It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!

Professor Peter Affolter of BFH portrait

Driving autonomy education at BFH with Prof. Affolter

Bern, Switzerland: Prof. Peter Affolter, Head of the automotive department at Berner Fachhochschule (BFH), shares his experience creating a curriculum in autonomy education with Duckietown. Quick links Bern University of Applied Science Prof. Peter Affolter @ BFH Prof. Peter Affolter Driving autonomy

Bern, Switzerland: Prof. Peter Affolter, Head of the automotive department at Berner Fachhochschule (BFH), shares his experience creating a curriculum in autonomy education with Duckietown.

Quick links
Students controlling Duckiebots at BFH

Driving autonomy education with Duckietown

Prof. Affolter at the Bern University of Applied Sciences introduces autonomy education in the automotive curriculum

Hi! Thank you for taking the time to chat with us. I'd like to start by asking you to introduce yourself, and tell us who you are and what you do.

Certainly! My name is Peter Affolter. I am at the head of the automotive department at the Bern University of Applied Science. I work as a lecturer in autonomous driving, vehicle communications, and related areas.

How did you get to know Duckietown?

The first time I saw it was probably two or three years ago. I came across it by chance while Googling on the internet. I was looking for information about lessons and classes on autonomous driving, a very complicated topic. I was searching for an easy platform, especially hardware, to simulate a simple vehicle. Then, I stumbled upon Duckietown. Initially, it looked a bit childish, but I was surprised by its concept, quality, and comprehensive documentation, including lessons slides for this complex theory. I decided to focus on Duckietown, especially on the massive online open course hosted on edX [Self-Driving Cars with Duckietown]. I also really enjoyed the great support from all the stakeholders and universities involved in this initiative.

Students learning robotics in at BFH with Duckietown
Did you find the "Self-Driving Cars with Duckietown", the massive open online course (MOOC) on edX, helpful?

Yes, at that time, there was only the archive available on edX.org, and I registered there. I couldn’t participate in real-time, but I went through the materials myself. I also contacted the Duckietown staff, and they provided me with support and missing documents. I adapted the content for my own class, focusing on bachelor-level students, parallel to the massive online open course from edX.

Very interesting, so you adapted the materials for your course. How did you set up the class, did you find any challenges?

It was clear to me that I could introduce our students, future automotive engineers, to autonomous driving. I wanted to give them an overview of the potential, limits, obstacles, and areas needing progress. Since they were not programmers or IT technologists, I needed to simplify it. I decided to conduct whole-class courses using video material from the MOOC. I adapted the quizzes and provided them with virtual machines, avoiding Linux and network issues. They could use the vehicles hosted on the BFH server farm through a browser terminal, even utilizing the Duckiebots. It became an infrastructure for exercises from simulation to reality, based on Duckietown classes.

How did the teaching experience go?

The first class had potential for improvement, but we adopted a flipped classroom approach with four lessons a week for 16 weeks. Students studied theory at home, and class time was for exercises, discussions, and additional explanations. The students enjoyed it, and while they didn’t grasp every detail, they felt proud and motivated. There’s still plenty of room for improvement in the next classes. They grasped the feeling and had the chance to work on neural networks, image manipulations, and more. I made good progress, and there’s still plenty of material to explore and implement in future classes.

Honestly, I haven't found another hardware platform as good as Duckietown for my needs. It's a simple platform with a fun approach, well-documented, and with a really reactive community. Even compared to other commercial products, Duckieown stands out. It fulfills all the needs from beginners to experts.

What were your overall impressions introducing autonomy education to your students with Duckietown?

Honestly, I haven’t found another hardware platform as good as Duckietown for my needs. It’s a simple platform with a fun approach, well-documented, and with a really reactive community. Even compared to other commercial products, Duckietown stands out. It fulfills all the needs from beginners to experts.

Thank you again for sharing your experience with us. Best of luck in your next classes!

Learn more about Duckietown

The Duckietown platform enables state-of-the-art robotics and AI learning experiences. It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!

Duckietown Sky logo

Duckiedrone: how to fly a Raspberry Pi-based autonomous quadcopter

Boston, 20 October 2023: Duckietown Sky and the Duckietown drone, a Raspberry Pi-based autonomous quadcopter, are discussed with the Aerial ROS community, a group of experts working to define the future of software architectures for quadcopters.  

Learning robot autonomy by flying with Duckietown Sky

Following an invitation to the Aerial ROS workgroup community meeting, Duckietown staff was delighted to present the Duckietown Sky initiative, the current Duckiedrone design, a DIY Raspberry Pi-based autonomous quadcopter, and future plans for both hardware and courseware development.

The goal of the ROS (Robotic Operating System) aerial robotics working group is to gather drone enthusiasts within the ROS community and facilitate the sharing of ideas and discussion of issues regarding autonomous robotic platforms operating in the air.

Duckietown Sky, a National Science Foundation-funded educational effort in collaboration with Brown University started in 2019, is an integral component of the Duckietown education vision, representing the commitment to fostering robot autonomy education in all its forms. Beyond self-driving cars (Duckiebots) and smart cities (Duckietowns), Duckietown highlights what is common despite the different applications of robot autonomy. From ground to sky, whether it drives, flies, or blinks, Duckietown is a platform to learn, explore and innovate when it comes to robot autonomy.

With the focus on quadcopters, Duckietown Sky offers MOOC-style learning experiences tailored for undergraduate and senior high school students. Flight is exciting! 

The program’s design criteria revolves around achieving state-of-the-art autonomy ground-up using off-the-shelf components, with a Raspberry Pi as core computational unit, for its wide-spread applications and large community.  Duckiedrones, now at the second hardware design iteration moving towards the third, aim to provide students with hands-on learning experiences covering from the basics, such as soldering, to pretty advanced algorithmic cornerstones of autonomy such an UKFs (Unscented Kalman Filters) and SLAM (Simultaneous Localization and Mapping). 

Aspiring engineers should however be prepared for preliminary requirements like soldering, have access to a laptop or base station, and an internet connection for setting the working environment up. 

From a box of parts to a Raspberry Pi-based autonomous quadcopter

Duckietown Duckiedrone model DD21 - happy yellow box
Duckietown Duckiedrone model DD21 - what's in the box?

The Duckietown Sky experience is an exciting journey that begins with a simple box of parts and culminates in the creation of an autonomously flying drone. In the Duckietown spirit of democratizing access to the science and technology of autonomy through accessible platforms, the happy-yellow Duckiebox includes almost everything needed to get flying. 

We encourage instructors, students and practitioners to check the development roadmaps for both our hardware design and courseware, outlined in our presentation, and reaching out without hesitation to provide comments or feedback! 

Building on the extensive experience of the Duckietown team in massive open online courses (check out the Self-Driving Cars with Duckietown MOOC: the world’s first robot autonomy MOOC with hardware), we look to prepare a series of short online courses. These courses will be led by Professors from Brown, as well as other universities, and will provide an ever broader audience with the opportunity to explore the fascinating world of robot autonomy: from the science and technology to the tools and workflows, to real-world applications presented by industry and academic leaders. 

Want to try the Duckietown Sky experience yourself, build a DYI Raspberry Pi-based autonomous quadcopter, or teach an aerial autonomy class at your high school or at university level? Follow the steps below to begin now.

Learn more about Duckietown

Duckietown enables state-of-the-art robotics and AI learning experiences. It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Felix Donoso Duckietown POD

Practical and playful: Duckietown talks with Prof. Donoso

Félix Donoso, Associate Professor at Duoc UC uses Duckietown to teach his students about the science and technology of autonomy in a practical and playful way.

Santiago de Chile, 17 October 2023: Learn how Félix Donoso H., Associate Professor at the School of Computer Science and Telecommunications at the Duoc UC Professional Institute, utilized the Duckietown platform to engage with students and teach them complex concepts in a practical and playful way.

Quick links
Happy students use Duckietown

Practical and playful, an interview with Prof. Donoso

Hi! Could you introduce yourself?

My name is Félix Donoso H. I hold a Master’s degree in Education, specializing in Teaching for Higher Education. I am also an Engineer in Connectivity and Networks and have a Diploma in Applied Research and Innovation. I have been working in higher education for 8 years. Currently, I am an Associate Professor at the School of Computer Science and Telecommunications at the Duoc UC Professional Institute. I am involved in various projects at the Center for Innovation and Technology Transfer.

We read on the DUOC website about your Duckietown class, could you tell us a little more about it?​
At the Center for Innovation and Technology Transfer of the School of Computer Science and Telecommunications at DuocUC, we have recently implemented Duckietown to offer our students hands-on experience in robotics and autonomous vehicles. The workshops are designed to teach fundamental concepts of control, computer vision, and machine learning, using the Duckietown platform to provide a hands-on and cutting-edge yet accessible experience.
top view of duckiebots on a section of duckietown, rubber duckies scattered around, traffic signs
side view of duckiebots on a section of duckietown, rubber duckies scattered around, traffic signs
What is the pedagogical focus of your learning activities?
The pedagogical approach is and will be eminently practical and collaborative. We want students to not only understand theoretical concepts but also apply them in a real environment. Collaboration among students is essential, fostering teamwork and problem-solving in a practical context.
How did you learn about Duckietown?​
I learned about Duckietown during a robotics course at the University of Chile. The platform was presented as an innovative educational tool, and I was intrigued by its potential to teach complex concepts in an accessible and attractive way.
What is the thing you liked most about using Duckietown in your class?​
What I liked most about using Duckietown was the ability to bring abstract concepts to real life. Students were able to see how their algorithms and codes work in a tangible and entertaining environment, making the concepts easier to understand and more appealing.
How did your students react to the course?​

The students responded very positively.
The practical and playful nature of the course allowed them to actively engage
in learning, and many expressed that the experience with Duckietown has been
one of the most memorable in their education. 

Pablo Zapata, a fourth-year student of Computer Engineering and one of the project members, highlights that “my experience has been incredible, as I entered an area that is not part of our curriculum, and for this reason, we have learned to build robots and work with different components. This project has surprised me a lot because of the
technology we are using, and at the same time, it has greatly enriched us over
time.”

On the other hand, Néstor Carvacho, a second-year student in the Computer Programmer Analyst career, points out that “I have been able to work with cutting-edge technology and, with it, learn new work tools that are not part of my career; like Linux, which will help me
in my future work.”

Duckietown has allowed students from different campuses of the school of computer science and telecommunications at Duoc UC to immerse themselves in the world of robotics and autonomous vehicles, Linux, ROS, and Python, in an accessible and exciting way.

Felix donoso and two colleagues kneeling behind a duckietown setting (duckietown, duckiebots, traffic signs)
How would you recommend we improve the platform?
Although the platform is excellent, it could benefit from more resources and tutorials aimed at different levels of experience. It would also be helpful to have more examples of projects and applications in different fields to inspire students and showcase the versatility of the platform.
Would you like to add anything else?

I would just like to emphasize how valuable the Duckietown platform has been to our institution. It has allowed students from different campuses of the school of computer science and telecommunications at Duoc UC to immerse themselves in the world of robotics and autonomous vehicles, Linux, ROS, and Python, in an accessible and exciting way. I am eager to see how the platform evolves and how we can continue to use it in the future with the practical challenges we are preparing.

Learn more about Duckietown

The Duckietown platform enables state-of-the-art robotics and AI learning experiences. It is designed to help teach, learn, and do research: from exploring the fundamentals of computer science and automation to pushing the boundaries of human knowledge.

Tell us your story

Are you an instructor, learner, researcher or professional with a Duckietown story to tell?

Reach out to us!