Tools: S2: Setting Up the Foundations — My Robotics Environment Journey (2026)
Session 2 felt like the real beginning, even though we still hadn’t built a robot yet. This time, it was about something less exciting on the surface, but absolutely critical, setting up the environment. The tools we would be working with were introduced gradually. At the core of everything was ROS 2, supported by tools like Gazebo and RViz for simulation and visualization. Then came the programming side with Python and C++, with Rust mentioned as a bonus track for those who want to go further. We also touched on development tools like Git, GitHub, and VS Code, with a glimpse into things like Docker and OpenCV that we may explore later. But the real conversation wasn’t just about tools. It was about something deeper, the environment problem. In robotics, your environment is not just where you work; it determines whether things work at all. A small mismatch in versions, configurations, or dependencies can break everything. It became clear that learning how to set up and manage your own environment is not optional. It is a core skill for any robotics engineer. Rather than handing us a ready-made setup, the facilitators guided us through doing it ourselves. That decision alone changed how I approached the session. It wasn’t just installation, it was training in independence. Then came one of the more memorable statements from Bakel Bakel: “Throw your Windows out of the windows.” It got a laugh, but the message behind it was serious. Linux, especially Ubuntu, is the standard in robotics. Most tools, particularly ROS 2, are built with Linux in mind. If you want fewer problems and better compatibility, you align yourself with that ecosystem. That said, the approach wasn’t rigid. We were given multiple pathways depending on our systems and preferences. You could switch fully to Ubuntu, install it alongside Windows, or use WSL to run Ubuntu within Windows. For Mac users, the response was more playful, “see me in my office”...but it still hinted at the extra considerations involved. What followed over the next sessions was a step-by-step journey through these options. Starting with WSL, then moving into dual boot setups, and even special considerations for different systems. For me, I decided to take a slightly unconventional approach. I set up two environments. One is Ubuntu 24.04 running through WSL on a Windows 11 system, using ROS Jazzy. The other is a dual-boot setup with Ubuntu 22.04 on a Windows 10 machine, running ROS Humble. This decision was not random. From my past research and implementation experience, I have learned that small differences that seem insignificant at first can become major obstacles later. Having two environments allows me to balance flexibility and performance. The WSL setup gives me convenience and access within my main system, while the dual-boot setup aligns more closely with the recommendation for the robotics workshop. It might seem like extra work, but for me, it is a way of reducing future frustration and ensuring that I can follow along properly while also experimenting beyond the basics. By the end of the session, which took several days, I had successfully installed the necessary tools and prepared both environments. It felt less like a technical achievement and more like laying the foundation for everything that will come next. There is still a lot I don’t know. In fact, it feels like I am stepping deeper into what I would describe as the space between the known unknown and the unknown known. But this time, I am approaching it with more structure, more awareness, and a bit more patience. Now, everything is set. Let’s see how things unfold from here. Templates let you quickly answer FAQs or store snippets for re-use. as well , this person and/or