Robotics PhD student Max Polzin talks about debugging robots in -5°C
Max Polzin is a PhD Student at École Polytechnique Fédérale de Lausanne (EPFL)’s Computational Robotics Design and Fabrication Lab, where he focuses on developing novel robots with real-world applications in extreme environments like boreal forests, mountainous slopes or polar glaciers. In addition to his research, Max is dedicated to making the development of advanced robotics more accessible and to promoting robotics software engineering best practices in academic environments.
After finishing my undergraduate degree in telecommunications, I wanted to build things that moved for a change, and thus enrolled in a robotics master program at ETH Zurich. While I learned a lot about the theory of robotics – like how robots require sensors, processors and actuators to function in the world – what I didn’t learn was how to turn an idea, a research concept, or an academic prototype into a product.
To learn what it takes to bring a robot from idea to reality, I joined Seervision, a young ETH Zurich spin-off dedicated to developing and selling autonomous cameras. We started as a team of three fresh graduates, with little knowledge about how to make and sell robots. It is an understatement when I say we underestimated how many lessons lay ahead of us.
Over the next several years, we got a crash course on real-world robotics development. We learned how to modify and adjust our robots to meet our customer’s needs. As our team grew, we also had to find the right developer tools and adopt modern software development best practices to help us continue building robots at scale.
After my experience at Seervision, returning to academia and embarking on a PhD journey was not an easy choice to make. However, in the end, I chose to join EPFL’s newly established CREATE Lab, where I could merge my passions for robots and the outdoors and focus on developing novel robots with applications in extreme environments.
As a PhD student, I am dedicated to enhancing the capabilities of robots in unpredictable and complex natural environments. By developing versatile robotic systems equipped with state-of-the-art sensors, advanced control algorithms, and smart design, I aim to tackle tasks that have previously been beyond the reach of both robots and humans.
The robot that you see above was built for the project ”Modelling Spatio-temporal Transformations of Glacial Moulins” in collaboration with the Swiss Polar Institute. It rappels itself into moulins – large open holes on a glacier, formed by surface meltwater draining through the ice sheet to the glacier’s rock bed – to explore their geometry.
By capturing these measurements, we can foresee the influence of increased surface water melting, due to a changing climate, on the flow velocity of the worlds’ glaciers. Particularly in polar regions, where temperatures rise fastest, an increased glacial flow and the associated freshwater discharge will significantly contribute to the global sea level rise.
Our initial evaluation of the robot took place during a four-day field trip to Mont Blanc in the French Alps, where we studied the largest moulin on the Mer de Glace glacier. I was joined by my PhD colleagues from the CREATE Lab, Kai Junge and Francesco Stella, our colleague Steffen Kirchgeorg from the Environmental Robotics Lab, as well as my friend, photographer and mountain guide, Arion Schuler. The goal of this trip was to test the robot in a nearby moulin before venturing to more remote locations, such as those on Greenland's ice sheet.
Map data from the Swiss government.
When we’re not out in the field, I am absorbed in the exciting work of designing and creating robots in our lab at EPFL. This includes developing algorithms to control a robot's movements and testing their usability and robustness for deployment in extreme environments. As a PhD student, I also have the opportunity to share my lab findings with the wider robotics community through scientific publications.
As much as I enjoy this development work, field trip days are definitely the most exciting parts of our project. On a typical field trip, we get up at 7 in the morning. My teammates Kai and Steffen go to get breakfast, while Francesco, Arion, and I check our safety equipment and the robot.
We pack generator, tent, poles, and ropes into our backpacks, then leave for the first cable car out of Montenvers Station, by the Mer de Glace glacier at Mont Blanc.
On our ride up to the glacier, we take some time to review our plans and experiments for the day ahead. Upon arrival at our stop, we embark on a 1.5-hour trek through snowy landscapes to the largest moulin on the Mer de Glace glacier.
Map data from FATMAP.
There, we set up camp to begin our experiments. Despite our meticulous preparations at the bottom of the mountain, the robot usually does not perform as expected right away. We usually spend some time debugging issues on-site, in the challenging cold temperatures.
Thanks to Foxglove, we’re able to visualize data from the robot on our laptops and phones, making it easier than ever to get our robot working as designed for our day’s experiments.
We use Foxglove to debug our sensor data, track our robot’s progress, and analyze collected measurements.
Once the robot is fully functional, we are ready to send it off on its mission. After getting attached to the horizontal tethers strung across the opening of the moulin, the robot begins its automatic descent. It uses onboard sensors to collect data about the shape and structure of the moulin (e.g. diameter and curvature), and employs its thrusters to safely navigate around any encountered obstacles. Once the robot has finished exploring, it reels in its tether to return to the surface. From there, we retrieve the valuable collected data stored on its hard drive and successfully conclude the mission.
In the afternoon, we pack up our gear and begin our descent, reflecting on the day's findings. At home, I upload the captured data to the cloud, have dinner, and continue to work and prepare for the next day.
Our robot is equipped with a tether and motorized winch to help it safely explore the depths of glacial moulins. After we string a rope across the moulin’s opening, we anchor the robot above its center and use the tether to remotely lower the robot into its depths. The robot uses two propellers, mounted left and right of the winch, to control its position and orientation while deep inside the moulin.
The robot consists of the following advanced electronic components:
It uses the following sensors, actuators, and accessories:
On the software side, we used ROSbloX to help us iterate more quickly on new robot designs. This system consists of building blocks that each run a specific containerized part of the software – whether that’s the sensor driver, an algorithm, an actuator interface, or a visualization tool. To optimize the weight and power consumption of the final robot, we ran all ROSbloX containers on the NVIDIA Jetson Xavier.
None of us had any prior experience accessing a moulin or building a robot to operate on glaciers, so our biggest challenge was figuring out our baseline requirements – like the equipment we needed for our field trips (e.g. x meters of rope) and the appropriate specifications for our robot (e.g. how many batteries it needed for an excursion).
We also encountered many unexpected obstacles during field trips. I once accidentally broke a Wifi antenna on the robot on our first day, which forced us to replace it with a weaker one for the following day. This definitely made conducting experiments much more difficult. To be within range of the robot, I had to rappel into the moulin myself.
Glacial moulins can be tens of meters wide and hundreds of meters deep, and exploring their depths can be extremely dangerous. When scaling their icy walls, I had to worry about the stability of my footholds, falling icicles, and other hazards. It was quite challenging to manage my own safety while ice climbing and holding delicate equipment, like a gamepad or laptop.
Working in the cold definitely impaired my cognitive abilities to focus on our experimental procedures. While easily managing and debugging code in the lab, it becomes tremendously more difficult to concentrate on and execute even the simplest tasks when your fingers are too cold to type and the laptop’s trackpad is no longer responding.
Our robot uses ROSbloX, which is built around ROS2 and implements popular open source drivers, algorithms, and tools. By relying on proven technology, we were able to ensure the stability of our robot’s performance.
Working in challenging conditions on the glacier, it was essential to use tools that were both reliable and user-friendly. This is where Foxglove came in as a valuable companion. I was able to remotely connect to the robot via wifi and debug any issues, while huddled in our tent on the glacier. Even after returning from field trips, I used Foxglove to analyze the data we collected. The visualization tools provided by Foxglove were especially helpful in this process, as they allowed for clear and easy data analysis.
We used Foxglove to visualize the shape of a glacial moulin by tracking our robot’s position around its perimeter at different depths.
The successful operation of the tethered robot in the moulin has opened up exciting new avenues for future research. Next year, we plan to return with a similar system to monitor changes in the same moulin and draw conclusions on the glacier movement over time. Further, we aim to upgrade the robot to reach even further depths and explore the large moulins in Greenland.
I’m also very eager to explore the potential applications of (tethered) robots in other extreme environments, such as ice caves, mountainous slopes or boreal forests. The goal is to make robots more versatile and capable of operating effectively in various conditions. Despite the many challenges ahead, I am optimistic about the possibilities for this technology and look forward to continuing the work to make it a reality.
Finally, I hope to share my passion for software engineering and best practices in robotics development. I aim to promote the use of ROSbloX and ROS2 and to educate others on the benefits of using tools like Foxglove. My goal is to empower others with the knowledge and skills of ROS to develop more robust and reliable robots.