Learning Autonomy in practice with Vincenzo Polizzi

ETHZ, Zurich, March 11, 2022: How Vincenzo discovered his true professional passion as a student using Duckietown.  

Learning Autonomy in practice with Vincenzo Polizzi

Vincenzo Polizzi studied robotics, systems and control at the Swiss Federal institute of Technology (ETH Zurich). Vincenzo shares below his experience with Duckietown. Starting off as a student, becoming a Teaching Assistant and onto how he uses Duckietown to power his own research as he moves from academia to industry.

IMG_20191216_211129

Could you tell us something about yourself?

I’m Vincenzo Polizzi , I studied automation engineering at the Politecnico di Milano, and I currently study robotics, systems and control at the Swiss Federal Institute of Technology (ETH Zurich).

You use Duckietown. Could you tell us when you first came into contact with the project, and what attracted you to Duckietown?

Sure! I learned about Duckietown my first year during a master’s program at ETH, where there was a course called: “Autonomous mobility on demand, from car to fleet” where I saw these cars, these robots. And I asked myself “what is this thing?”. It seemed very interesting. The first thing that struck me was that it did not look theoretical, but clearly practical.

“It captures you with simplicity and then you stay for the complexity.”

Vincenzo Polizzi

So the idea of a practical aspect interested you?

Yes, during the presentation, it was clear that the course was based on projects the student had to carry out, where one could practice what they had learned theoretically in other classes.
I come from a scientific high school, and I studied automation engineering in Milan. In both my study experiences, I was used to learning concepts theoretically. For example, in the control system for a plant you design on paper in university, you don’t really face the complexity of implementing it on a real object.

I have to say that I have always been very passionate about robotics and informatics. In fact, even in high school, I was building these little robots,I participated in the robotics competition Rome Cup held by Fondazione Mondo Digitale, and there were these robots that were similar in shape to those of Duckietown, but where the scientific content was completely different. So in Duckietown, I saw something similar to what I was doing in my free time. I wanted to see exactly how it was inside, and there I discovered a whole other world that is obviously much more scientific than what a normal high school student could imagine by themself. However, initially I was curious to see a course where one can practice all the knowledge they have gradually acquired. It is not just about writing an equation and finding a solution but making things work.

What is your relationship with Duckietown, how long have you been using it? How do you interact with the Duckietown ecosystem? How do you use it, what do you do with it?

These are interesting questions because I started as a student and then managed to see what’s behind Duckietown. I was attending the course Duckietown held at ETH in 2019. The class was limited to 30 students, I was really excited to be part of it. I met many excellent students there, some of whom I am still in touch with today.

When I started the course, I immediately told myself, “Duckietown is a great thing. If all universities used Duckietown, this would be a better world.” I liked the class a lot, then I also had the opportunity of being a TA. The TAship was an important step because I learned more than during the course. One thing is to live the experience as a student who has to take exams, complete various projects, etc. You need a deeper understanding to organize an activity. You have to take care of all the details and foresee the parts of the exercise that can be harder or simpler for the students. This experience helped me a lot. For example, I did an internship in Zurich where we had to develop a software infrastructure for a drone, and I found myself thinking, “wow this can be done with Duckietown, we can use the same technologies.” I noticed that even in the industry, often we see the use of the same technologies and tools that you can learn about thanks to Duckietown. Of course, maybe a company has its own customized tools, probably well optimized for its products. Perhaps it uses some other specific tool but let’s say you already know more or less what these tools are about. You know because in Duckietown, you have already seen how a robotics system should work and the pieces it is composed of. Duckietown has given me a huge boost with the internship and my Master’s thesis at NASA JPL. Consider that my thesis was on a system of multi drones, so I used, for example, Docker as a tool to simulate the different agents. With Duckietown, I acquired technical knowledge that I used in many other projects, including work.

Do you still use it today?

The last project I did with Duckietown is DuckVision. I know we could have thought of a better name. With one of my Duckietowner friends, Trevor Phillips, we enhanced the Duckiebot perception pipeline with another camera, a stereocamera made by Luxonis and Open CV called OAKD (OpenCV AI Kit with depth). This sensor is not just a simple camera, but it also mounts a VPU, Visual Processing Unit. Namely, it can analyze and make inferences on the images that the camera acquires onboard. It can perform object detection and tracking, gesture recognition, semantic segmentation, etc. There are plenty of models freely available online that can run on the OAK-D. We have integrated this sensor in the Duckietown ecosystem, using a similar approach used in the MOOC “Self-Driving Cars with Duckietown”, we created a small series of tutorials where you can just plug the camera on the robot, run our Docker container and have fun! With this project, we passed the first phase of the OpenCV AI Competition 2021. The idea behind the project was to increase the Duckiebot understanding of the environment, by using the depth information, the robot can have a better representation of its surroundings and so, for example, a better knowledge of its position. Also, in our opinion, the OAK-D in Duckietown can boost the research in autonomous vehicles and perception.
I would like to add something about the use of Duckietown, I have seen this project both as a student and from behind the scenes and I really understood that by using this platform you really learn a lot of things that are useful not only in the academic field but can also be very useful in the working environment with the practical knowledge that is often difficult to acquire during school. And in this regard I thought then given my history, I am Sicilian but I studied in Milan and then I went to Zurich, I asked myself what can I bring as a contribution of my travels, so I thought about using Duckietown in some universities here in Sicily in the universities of Palermo and Messina. And also, at the Polytechnic of Milan, for example, they have already begun to use it and have participated in the AIDO and have also placed well, they ended up among the finalists, so there is a lot of interest in this project.

Did you receive a positive response every time you proposed Duckietown?

Yes, and then there is a huge enthusiasm on the part of the students. I spoke with student associations first, then with the professors etc. but when the students see Duckietown for the first time, they are always really enthusiastic about using it.

“There is something that captures you in some way, and then just opens up a world when you start to actually see how all the systems are implemented. This is the nice thing in my opinion, you can decide the level of complexity you want to achieve.”

Vincenzo Polizzi

The duck was a great idea!

Absolutely right! The duck was a great idea, yes. I like contrasts, you see a super simple friendly thing that hides a state-of-the-art robotics platform. Even in the students I saw this reaction, because the duck is the first thing you see, it looks like a game, something to play with, this is the first impact, then when you start you get curious. It captures you with simplicity and then you stay for the complexity.

Would you suggest Duckietown to friends and colleagues?

Sure! There is something that captures you and opens up a world when you start to see how all the systems are implemented. This is the nice thing in my opinion, you can decide the level of complexity you want to achieve. It’s a platform that looks like something to play with, a game or something, but in reality there is a huge potential, in terms of knowledge that everyone can acquire, it’s something that you can not easily find elsewhere. I also think it offers great support, such as educational material, exercises that are of high quality. You can learn a lot of different aspects of robotics, in my opinion. You can do control, you can do the machine learning part, perception . There’s really a world to explore. You can see everything there is about robotics. But you can also just focus on one aspect that maybe you’re more passionate about. So yes, I would recommend it because you can learn a lot, and as a student myself I would recommend it to my fellow colleagues.

Learn more about Duckietown

The Duckietown platform offers 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.

Tell us your story

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


Community Spotlight: Kirill Krinkin – STEM Intensive Learning Approach


In the world of engineering education, there are many excellent courses, but often the curriculum has one serious drawback – the lack of good connectivity between different topics. Over in Saint Petersburg, Russia, 
Kirill Krinkin from SPbETU and JetBrains Research has been using Duckietown to address this problem through an intensive STEM winter course.

STEM Intensive Learning Approach

by Kirill Krinkin

The first part of the school program was a week of classes in the base topic areas which were chosen to complement each other and help students see the connection between seemingly different things – mathematics, electronics and programming.

Of course, the main goal of the program was to give students the opportunity to put their new found knowledge into practice themselves.

Duckietown was the perfect fit for our course because it offered a hands-on learning experience for all of our main topics areas, and once we covered those subject in the first lessons, we challenged the students with much more complex tasks – in the form of projects – in the second half of the course. It made for an exciting and engaging curriculum because students could address a problem, write a program to solve it, and then immediately launch it on a real robot. 

The main advantage of Duckietown compared to many other platforms is that there is a very small learning curve: people who knew nothing about programming and robotics started working on projects after only a few days!

Overview of the course

Part 1 – Main Topic Areas

Subject 1: Linear Algebra

Students spent one day studying vectors and matrices, systems of linear equations, etc. Practical tasks were built in an interactive mode: the proposed tasks were solved individually, and the teacher and other students gave comments and tips.

 

Subject 2: Electricity and Simple Circuits

Students studied the basics of electrodynamics: voltage, current, resistance, Ohm’s law and Kirchhoff’s laws. Practical tasks were partially done in the electric circuits simulator or performed on the board, but more time was devoted to building real circuits, such as logic circuits, oscillatory circuits, etc.

 

Subject 3: Computer Architecture

In a sense, a bridge connecting physics and programming. Students studied the fundamental basis, the significance of which is more theoretical than practical. As a practice, students independently designed arithmetic-logic circuits in the simulator.

 

Subject 4: Programming

Python 2 was chosen as the programming language, as it is used in programming under ROS. After we taught the material and gave examples of solving problems, students were challenged with their own problems to solve, which we then evaluated. 

 

Subject 5: ROS

Here the students started programming robots. Throughout the school day, students sat at computers, running the program code that the teacher talked about. They were able to independently launch the basic units of ROS, and also get acquainted with the Duckietown project. At the end of this day, students were ready to begin the design part of the course – solving practical problems.

Part 2 – Projects

1. Calibration of colors

Duckiebots needs to calibrate the camera when lighting conditions change, so this project focussed on the task of automatic calibration. The problem is that color ranges are very sensitive to light. Participants implemented a utility that would highlight the desired colors on the frame (red, white and yellow) and build ranges for each of the colors in HSV format.

2. Duck Taxi

The idea of this project was that Duckiebot could stop near some object, pick it up and then continue along, following a certain route. Of course, a bright yellow Duckie was the chosen passenger. The participants divided this task into two: detection and movement along the graph.

drive while Duckie is not detected

Duckie identified as a yellow spot with an orange triangle 🙂

Building a route according to the road graph and destination point

3. Building a road map

The goal of this project was to build a road map without providing a priori environmental data for the Duckiebot, relying solely on camera data. Here’s the working scheme of the algorithm developed by the participants:

4. The patrol car

This project was invented by the students themselves. They offered to teach one Duckiebot, the “patrol”, to find, follow, and stop an “intruding” Duckiebot. The students used ArUco markers to identify the Intruder on the road as they are easy to work with and they allow you to determine the orientation and distance of the marker. Next, the team changed the state machine of the Patrol Duckiebot so that when approaching the stop-line the bot would continue through the intersection without stopping. Finally, the team was able to get the Patrol Duckiebot to stop the Intruder bot by connecting via SSH and turning it off. The algorithm of the patrol robot can be represented as the following scheme:

Summary

Students walked away from our STEM intensive learning program with the foundations of autonomous driving, from the theoretical math and physics behind the programming and circuitry to the complex challenges of navigating through a city. We were successful in remaining accessible to beginners in a particular area, but also providing materials for repetition and consolidation to experienced students. Duckietown is an excellent resource for bringing education to life.

After our course ended students were asked about their experience. 100% of them said that the program exceed their expectations. We can certainly say that the Duckietown platform played a pivotal role in our success.

DuckieUAO, the first Duckietown in Colombia!

The first Duckietown class in Cali Colombia has finished! At Universidad Autónoma de Occidente we carried out a Robotic Perception course totally geared towards making cars transport little duckies in DuckieUAO. We studied multiple topics of autonomous driving, including foundations of computer vision and Bayesian estimation, but more importantly we have gathered a group of students passionate about self-driving cars, and keen to develop and spread the word about the Duckietown project!

 

Duckietown in Ghana – Teaching robotics to brilliant students

In July 2018, Vincent Mai taught a 2-week Duckietown class to some of the brightest high school students in Ghana. You can help the Duckietown Foundation to fund similar experiences by donating.

The email – Montreal, January 2018

On the morning of January 29th, 2018, I received an email. It was a call for international researchers to mentor for two weeks a small group of teenagers that will have been selected among the brightest of Ghana. Robotics was one of the possible topics.

At 4 pm, I had applied.

I was lucky enough to grow up in a part of the world where sciences are available to children. I spent summers in Polytechnique Montreal, playing with electro-magnets and making rockets fly with vinegar and baking soda. I also remember visiting the MIT Museum in Boston, where I was impressed by the bio-inspired swimming robots. There is no doubt that these activities encouraged 17-years-old me to choose physics engineering as my bachelor studies, which then turned into robotics at the graduate level.

The call from the MISE Foundation was a triple opportunity.

First, I could transmit the passion I was given when I was their age. Second, I would participate, in my small, modest way, in the reduction of education inequalities between developing an developed countries. Countries like Ghana can only benefit from brilliant Ghanaians considering maths, computer science or robotics as a career. Finally, it was an unique opportunity for me to discover and learn, from people living in an environment that is totally different from mine, with other values, objectives and challenges. It is not everyday you can spend two weeks in Ghana.

After some exchanges with Joel, the organizer, with motivation letters, project plan and visa paperwork, it was decided: I was going to Accra from July 20th to August 6th.

The preparation – Montreal, June 2018

My specialty is working with autonomous mobile robots: this is what I wanted to teach. I was going to see the brightest young minds of a whole country. I needed to challenge them: I could not go there with a drag-and-drop programmed Lego.

I chose an option that was close to me. Duckietown is a project-based graduate course given at Université de Montréal by my PhD supervisor, Prof. Liam Paull. It allows students to learn the challenges of autonomous vehicles by having miniature cars run in a controlled environment. A Duckiebot is a simple 2-wheel car commanded by a Raspberry Pi. Its only sensor is a camera.

Along with my proximity with Duckietown, I chose it because making a Duckiebot drive autonomously is a very concrete problem, which involves a lot of interesting concepts: computer vision, localization, control, and integration of all these on a controller. Also, for teenagers, the Duckie is a great mascot.

I had not yet taken the Duckietown course. Preparing took me one month and a half of installing, reverse engineering, and documenting. The objective I designed for the kids? Having a Duckiebot named Moose follow the lanes with a constant speed, without getting out of the road or crossing the middle line.

It was inspired from a demo that was already implemented in the Duckiebot. I could not ask the kids to implement the whole code, so I cut out only the most critical parts of it. I also wrote presentations, exercises, planning each of the 10 days we would spend together, 6 hours a day. I packed the sport mats to do the road, a couple of extra pieces in case something broke, and the print-outs of the presentations. I was ready.

Or, I hoped I was. It was not simple to adapt the contents of a graduate course for kids of whom I had no idea of the math and programming level. Did they know how to multiply matrices? What about Bayes law? Can I ask them to use Numpy? When I asked advice to Liam, he told me with a smile: “I guess you’ll have to take the go with the flow...”

Packed Duckietown

The project – Accra, July 2018

Accra is a large city, spread along the shore of the Atlantic Ocean. Its people are particularly smiling and welcoming. The Lincoln Community School, a private institution hosting the MISE Foundation summer school, has beautiful and calm facilities which allowed us to give the classes in a proper environment. There were 24 children in total: 12 were training for the International Maths Olympics with two mentors, while three teams of 4 students would work with a mentor on projects like mine. The two other projects were adversarial attacks on image classifiers and stereo vision.

The first two days, we did maths. I tested their level: they did not know most of what was necessary to go on. Vector operations, integrals, probabilities… We went through these in a very short time: they amazed me by the speed at which they understood.

Building Moose

For the next five days, we went through the project setup. We started simple, understanding how we can drive the Duckiebot with a joystick. We had to setup Moose, discover ROS, and use it to send commands to the motors.

We followed with the real project: autonomous mobile robotics.

  • See-Think-Act cycle;

  • computer vision for line extraction, from RGB images to Canny edge detection and Hough transform;

  • camera calibration for ground projection, from image sensors to homography matrix;

  • Bayesian estimator for localization, with dynamic prediction and measurement update;

  • and finally, proportional control for outputting the right commands to the wheels.

Moose the Duckiebot, up and running!


For each of these steps, the students wrote their version of the code. Then, we made a final version together that we implemented in Moose.

The experiments – Accra, August 2018

In the two next days, the students had to think what they would do for their research projects. The experiments would be done together but the projects should be individual. Each of them decided to focus on one aspect of autonomous cars. Kwadwo decided to go for speed: he tested the limits of the car as if it was an autonomous ambulance. Abrahim was more concerned about safety: was Moose better than humans at driving? Oheneba thought about the reduction glasshouse gas emissions and William about lowering the traffic. In both cases, they argued that if autonomous cars could improve the situation, they first had to be accepted by humans and therefore be safe and reliable. They tested Moose in differently lit scenes, with white sheets on the road (snow) or with a slightly wrong wheel calibration, to see how it would cope with these conditions.

On the last day, they individually presented their research to a committee formed by the three project mentors. We asked them difficult questions for 15 minutes, testing them and pushing them to think above what they had learned in these 2 weeks. We judged them based on the Intel ISEF criteria (Research project, Methodology, Execution, Creativity and Presentation).

Presenting in front of the judging committee

 

The closing ceremony – Accra, August 2018

Saturday was parents day. The students made a general presentation of their projects, making the parents laugh uneasily every time they asked “Is everything clear?” At least, I think most of the parents enjoyed the demonstration: it is always nice to see a Duckiebot run!

Finally, at the closing ceremony, the students who had the best presentation grades were rewarded. I was proud that Kwadwo was named Scholar of the Year, winning a Mobile Robotics book and the right to represent Ghana at the Intel ISEF conference in Phoenix, Arizona, in May 2019. He will present his project with the Duckiebot!

The students and organizers also gave each of us a beautiful gift: a honorary scarf on which it is written “Ayeekoo”. In the local languages, it means: “Job well done.”

I hope I did my job well, and that William, Oheneba, Kwadwo and Abrahim will remember Moose the Duckiebot when they choose their careers. I know that, in any case, these four brilliant young men will continue to shine. On my side, I really enjoyed the experience. I will make sure I don’t miss an opportunity to teach again to teenagers using Duckietown, whether it is in another country or here, in Montreal.

The best team!

 

Important note

I had four boys in my group. You can notice on the picture below that, out of the 24 students, only 3 girls participated in the MISE Foundation program. When I asked Joel about it, he told me he has a very difficult time getting women to participate. At least 6 more girls were invited, but their parents would pressure them not to do maths and science, and discourage them from going to the Summer School. They feel this is not what a woman should be doing. I find this situation very frustrating. Ghana is a country with strong family values that are different from the ones I am used to. It is not our role as international researchers to tell them what is good and what is not. And, to be fair, software engineering presents similar ratios in Canada, even if the reasons are less tangible (maybe?).

On the other hand, engineers and scientists build the world around us, and they do so according to the needs they feel. Men cannot build everything women need. I strongly encourage any girl, in any country, who reads this blog post and who is interested about maths and computer science, to stand for what they want to do. We need you here, to build tomorrow’s world together.

MISE 2018 - Ayeekoo!

  Help the Duckietown Foundation to fund similar experiences in Africa by donating.