The tale of the Sagan project started like most – decent and inconspicuous. :)
It began at the end of 2011, at a volunteer briefing and brainstorming meeting for Greenlight@Brussels Day 2011 that I attended without even knowing what the event really was about.
Having conversations with 30 women, most of whom have high profiles in the technology, science and mathematics fields, is very inspiring, and to be frank, it was very different from having a meeting with a group of men.
Driven by all the ideas tossed back and forth, I ended up proposing to organise a robotics workshop and the g4g organisers, were very enthusiastic about the idea. After checking around, I quickly found just the robot I needed – good capabilities at a good price, available in the quantity I needed, and with the look and feel of a “real” robot: the RP6.
The RP6 programs are written in C, cross-compiled and uploaded into the robot – too complex to have 11-15 years old girls doing this in a workshop. So I decided to write an application allowing the kids to program the robots using a far simpler language (a Domain Specific Language, experts would say). In order to bring the fun into the programming task, I also created a simulated, physical “testing” environment.
The question was now how to “sell” this activity to the girls. Girls generally need a reason to explore complex things more deeply, and they wouldn’t program robots just to see the things moving around, like boys probably would. Therefore, we decided to simulate a Mars mission.
Knowing that communication with a Mars rover takes five minutes in both directions in order to establish a connection, and that a Mars rover costs a lot of money, it was easy to explain why a program should actually be tested before it could be deployed with the robot.
This was the final mission announcement:
“The European Space Agency ESA requested technical support from the G4G specialists for programming their 5 Mars Explorer robots! Because of the distance between Earth and Mars, sending a program to the robots takes more than 5 minutes and the answer takes again 5 minutes back to us. For this reason, we cannot guide the robots directly, but we have to write the complete program on our graphical simulator and sending it to Mars when we are sure that the our heading way do not cause damage to the robots. Thanks to previous ESA missions, we have detailed maps of the Mars surface and we are able to plan our work exactly. We will also work in cooperation with the Italian robotics scientists, which will demonstrate how to program robots over a large distance.”
At the actual Greenlight@Brussels Day on 26 November 2011, then, besides having a day-long continuous stream of 10-15 girl teams working on the Mars mission in Brussels, we also had live video communication with the Italian School of Robots in Genova, where my counterpart, Tullia, had gathered over fifty girls to collaborate on the Mars mission as well.
The event went very well. The girls had a lot of fun, and the simulator and the robots worked fine. It was a great experience.
Later on, Tulia and I discussed using the simulator for other educational purposes. In addition, she presented our robotics workshops – which were also part of EU Robots Week 2011, by the way – at multiple conferences, where many teachers expressed an interest in using the simulator for their own classes too.
The next steps for the project are to develop a Mission Editor and a connection with the Lego Mindstorm robot system. Integration with the NAO robot is also planned.
The name SAGAN has been chosen for the simulator in homage to Dr. Carl Sagan, a very open-minded American astronomer, astrophysicist, cosmologist, author, science popularizer and science communicator in astronomy and natural sciences.
Since we plan other software projects in the same framework, the RP6 Mars Mission simulator has been named Sagan-1. That said, the application can simulate any type of mission. Missions can be customized readily and any type of simulated “background” picture can be used for the desired activity. By implementing the specific “cross-compiler” Java class, the application can be adapted to other types of robots – or even be used as simulator without connection to any machine.
Pictures and videos: http://sagan.be/impressions.html