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.

AI-DO Finals Tomorrow!

If you are at NeurIPS please come by room 511 tomorrow at 3:30 – 5pm EST to see who will win !!!

AI-DO I Interactive Tutorials

The AI Driving Olympics, presented by the Duckietown Foundation with help from our partners and sponsors is now in full swing. Check out the leaderboard!

We now have templates for ROS, PyTorch, and TensorFlow, as well as an agnostic template.

We also have baseline implementation using the classical pipeline, imitation learning with data from both simulation and real Duckietown logs, and reinforcement learning.

We are excited to announce that we will be hosting a series of interactive tutorials for competitors to get started. These tutorials will be streamed live from our Facebook page.

See here for the full tutorial schedule.

Kicking off the Duckietown Donation program with Cali, Colombia

Our first donation of a class kit goes to Cali, Colombia.

We’ve reached our Kickstarter goal! 

This is great news because it means that we can kick off our donation program, with our first donation of a Class Kit, to students at the Universidad Autónoma de Occidente in Cali, Colombia.

 

Why a donation program?

Artificial Intelligence and Robotics are the sciences of the future, which is why we want everyone to have the chance to play and learn with Duckietown. While we design our robot platform to be as inexpensive as possible, we realize that cost might be an obstacle for educators or students with limited resources.

That is why we have designed a donation program where individuals, organizations or companies can make Duckietown truly accessible to all. Everybody can support STEM education by donating Duckiebots, or an entire Class Kit, to deserving individuals or educators. 

Our first recipient

Our first recipient is Prof. Victor Romero Cano, a professor from the Universidad Autónoma de Occidente in Cali, Colombia. 

Victor has a Ph.D. in field robotics obtained at the University of Sydney, Australia. He teaches two courses at his institution,  and supervises over 40 undergraduate students who are working towards their final research projects.

 

 

Victor will teach two classes using the Duckietown platform. The first is an introductory class to robotics, covering kinematic analysis, teleoperation, control and autonomous navigation for wheeled robots. The second class is more specifically about robotic perception, and will go in detail about mapping and SLAM (simultaneous localization and mapping), covering lane detection as well as object detection, recognition and tracking.

 

Victor’s first Duckietown class starts in January 2019. We welcome him to the community and look forward to hearing about his journey!

You can help us sponsor more donations by sponsoring our Kickstarter.

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.

How Duckietown inspired a 14 year old girl to become a tech entrepreneur

Valeria and Andrea before getting back to work on Duckiebots (2016, MIT)

We host a guest post by Valeria Cagnina, who had the luck to meet our team very early – in fact, when the first Duckietown was still being built – and she helped with the tape!

Nothing is impossible…the word itself says “I’m possible”!

I discovered robotics when I was 11 years old with a digital plant made with Arduino that I saw in Milan Coderdojo. I really liked robotics and decided I would like to make my own robot.

So I searched online for a robot I could make myself. I found some videos on the web about a robot from MIT. I really loved this wonderful robot… but I was too young and I didn’t have the skills necessary to build it. So I surfed online to search other types that would be easier to build, but in my mind remained the dream to go to see this cool robot at MIT in Boston.

After a while, following and making my own Youtube videos, I made my first robot alone at 11 years old: it could move itself around a room avoiding obstacles thanks to its distance sensor programming with Arduino.

In Italy it was not so common to make a robot at 11, so I was able to share this experience a lot of events and conferences that brought me to speak in a TEDx at 14 years old.

Casually, at the same age, I travelled to United States to visit New York, Boston and Canada… at the beginning it seemed a normal holiday…

I convinced my parents to extend our trip to stay more time around MIT. We went sightseeing in Boston and in MIT but it wasn’t enough for me! I wanted to look inside this place that was so magical to me, and I especially wanted to talk with the engineers that build and program robots! Maybe I would see that same robot that I found when I was 11 years old!

The early stages of Duckietown at MIT

 

I left my parents visiting the rest of Boston and I started to go alone around the MIT departments, trying to open every door that I found in front of me.

While I was walking, I was looking through the laboratories windows and my attention was caught by an empty room -I mean with no humans inside 😀 ! – full of duckies and with a sort of track for cars on the floor.

What was this room about? What was the purpose of these duckies? I was very, very curious about it and had many questions, but there was no one in the lab!

Obviously I never give up, I absolutely believe that nothing is impossible so, every day, until my departure to the next leg of our trip, I continued to go around MIT passing in front of THAT lab hoping to find someone in it.

Finally one day I saw some people inside the lab doing something. I was really excited! I watched them from the window. I absolutely wanted to know what they were doing –  one of them was soldering, another one was using duct tape. Suddenly they saw me and they invited into the lab! What an astonishment for me!

Immediately they asked me a lot of questions: why was a 14 year old roaming MIT alone, why was I so excited about that lab… Then one of them (I didn’t know his name) asked if I wanted to help build “Duckietown”. He told me about the project (at that time it wasn’t started yet) and he asked me about myself and the first robot I built. After an afternoon spent together, I discovered that this strange guy was Andrea Censi, one of the founders of the Duckietown project! Amazing!

Andrea proposed to me a challenge: I had to try to make my own Duckietown robot, a Duckiebot.  Since it was a university project, I was able to follow the online tutorials and ask lots of questions to all the other Duckietown members on the communication forum, Slack. He had only one request of me: he told me that even though the robot was hard to build and program, I shouldn’t give up.  

I was so happy that I immediately agreed. I was handed the robot kit, a list of various links and some Duckies ☺.

Now it was my turn! I didn’t want to disappoint Andrea, so as soon as I arrived in Italy I put myself to work but, wow, building the Duckiebot was very hard! I spent an entire afternoon trying to comprehend just 4 rows of the tutorial. I began to ask questions on Slack and I tried, I tried and I tried again.

I never worked with Linux before so that was a completely new world for me. I started from the beginning, without knowledge at all but I worked for a few months until I received a message from Andrea: “Do you want to spend some time here, in Boston, working with us in Duckietown?” Of course I was willing, I couldn’t wait, it was an amazing proposal!

So I became a Duckietown Senior Tester at 15 years old and I spent almost all the summer inside the labs of MIT. My task was simplifying the university-level tutorial and making it accessible to the high-school students (like me ☺) as well as making the Duckiebot, which had now evolved!

Thanks to the help of Andrea and Liam (the other founder) I finally succeeded to program my robot: it was now able to drive autonomously in Duckietown. If felt like a dream come true!  

Spending the summer in Duckietown at MIT allowed to me to discover a completely new world: I understood that education could be playful and that learning could be fun!

 

Valeria's duckiebot (back)
Valeria's Duckiebot (side)

After this super experience in Duckietown, I put my love of robotics and education into action and started to teach some robotics lessons. Soon enough, at 16 years old I decided to open my own Robotics School.

Now this school has become a real company: with my business partner Francesco Baldassarre, we do activities with children starting from 3 yo, to teens, and even up to adults, teachers and companies too (like Cisco and Michelin). We organize learning experiences in Italy but also all around the world letting others discover robotics in a fun and unusual way, always following the first rule of our school: “Nothing is impossible”!

The Duckiebots are ready to conquer the world!

Dear friends of Duckietown:

We are excited to bring you tremendous news about the Duckietown project.

In the past years we have had the support from many enthusiastic individuals who have donated their time and efforts to help the Duckietown project grow, and grown it has!

Duckietown started at MIT in 2016 – almost two years ago. Now Duckietown classes have been taught in 10 countries with more than 700 alumni.

The last months have been a transformative period for the project, as we prepare to jump to the next level in terms of scope and reach.

The Duckietown Foundation

We have established the Duckietown Foundation, a non-profit entity that will lead the Duckietown project.

Our mission: make the world excited about the beauty, the fun, the importance, and the challenges of robotics and artificial intelligence, through learning experiences that are tangible, accessible, and inclusive.

The Duckietown Foundation will serve as the coordination point for the development of Duckietown. As a non-profit, the foundation can accept donations from individuals and companies for the promotion of affordable and fun robotics learning programs around the world.

See: our missionopen volunteer positions, how to help us.

A Kickstarter

duckietown-00165
data-from-img-fleet_management-daaa-e76ab943

We are organizing a Kickstarter to make it easier for people to obtain Duckiebots and Duckietowns.

This solves the biggest hurdle so on reproducing the Duckietown experience: the the lack of a one-click solution to acquire the hardware.

Also, working with thousands of pieces allows to drive down the price and to design our own custom boards.

See: Our Kickstarter

A donation program

As much as we aim to have affordable hardware, in certain parts of the world the only realistic price is $0.

That is why we have included a donate-a-Duckiebot and donate-a-class program through the Kickstarter.

Become a friend of Duckietown and support the distribution of low-cost and playful AI and robotics education to even more schools across the globe by backing our Kickstarter campaign.

For details about donating and receiving, see Donation program.

A new website…

We’ve designed a new website that better serves users of the platform by offering support forums and more organized access to the teaching materials.

See: The new forums.

See: New “duckumentation” site docs.duckietown.org

… and 700 more new websites

We want people to share their Duckietown experiences with other Duckie-enthusiasts, whether they be far or near. That’s now possible through upwards of  700 “community” subsites, each with a blog and a forum.

For more information, see the post Communities sites launched.

The AI Driving Olympics

In addition to its role as an education platform, Duckietown is a useful research tool.

We are happy to announce that Duckietown is the official platform for the AI Driving Olympics, a machine learning competition to be held at NIPS 2018 and ICRA 2019, the two largest machine learning and robotics conferences in the world. We challenge you to put your coding to the test and join the competition.

For everything about AI-DO, see AI-DO.duckietown.org.

That’s all for now! Thanks for listening –

The Duckietown project relies on an active and engaged community, which is why we want you to stay involved! Support robotics education and research –  Sign up on our website! Back our kickstarter! Compete in the AI Driving Olympics!

 

For any additional information of if you would like to help us in other ways, please see here for how to help us.

Announcing the AI Driving Olympics (AI-DO)

Press release

The Duckietown Foundation is excited to announce the official opening of the The AI Driving Olympics, a new competition focused around AI for self-driving cars.

The first edition of the AI Driving Olympics 2018 will take place in December 2018, at NIPS, the premiere machine learning conference, in Montréal. This is the first competition that will take place at a machine learning conference with real robots.

The second edition of AI-DO is already scheduled to take place in May 2019 in conjunction with the International Conference on Robotics and Automation (ICRA) 2019.

The competition will use the Duckietown platform, a scaled-down affordable and accessible vision-based self-driving car platform used for autonomy education and research. This open-source project originated at MIT in 2016 and is now used by many institutions worldwide.

The AI Driving Olympics is presented in collaboration with 6 academic institutions: ETH Zurich (Switzerland), Université de Montréal (Canada), NCTU (Taiwan), TTIC (USA), Tsinghua (China) and Georgia Tech (USA), as well as two industry co-organizers: nuTonomy and Amazon Web Services (AWS).

The competition will comprise 5 challenges of increasing complexity: 1) Road following on an empty road; 2) Road following with obstacles; 3) Point-to-point navigation in a city network; 4) Point to point navigation in a city network with other vehicles; and 5) Fleet planning for a full autonomous mobility on demand system.

Competitors will have access to simulators, logs, reference implementations, and finally real environments (“Robotariums”) that will be remotely accessible for evaluation. The entries that score best in the robotariums will be run during the live event at NIPS 2018 to determine the winners.

 

The competition aims at directing academic research towards the hard problems of embodied AI, such as modularity of learning processes, and learning in simulation while deploying in reality. The competition also promotes the democratization of AI/robotics research by offering a common infrastructure available to everybody through the use of remote testing facilities.

Competitors can also build their own Duckiebots using provided DIY instructions, or buy Duckiebots and Duckietown hardware through a kickstarter campaign.

For rules and time line, please see the site http://AI-DO.duckietown.org/