This week, I finally got my hands dirty with some serious systems-level engineering. I’ve been wrestling with a complex setup, and I’m proud to report that I managed to get the following components working together in harmony☕️.
- a real-time Ubuntu kernel
- a compiled
libfranka
library - Franka Research 3 Manipulator
- UR Manipulator
- Python binding of C++
libfranka
- Application empowered by CuRobo
- Application empowered by CNOS
It was a classic case of “smashing tomatoes” into a cohesive sauce. It’s no wonder people in this field call robotics system-level engineering, you need to patch everything together to make it work.
During my experiments, I found a few principles to be useful for making progress.
Goal
When faced with a complex system, having a specific, measurable goal is essential. A human who is charged with determination, ambition, and passion is one who has a clear objective. For instance, I set the goal of achieving a demo with 0 failures. Once you have this clarity, the solution often reveals themselves. You can then systematically tackle each obstacle:
- bug 1 fixed
- bug 2 fixed
- bug 3 fixed
- …
Every bug fix is a small triumph, and each success provides the motivation to keep going.
Documentation
Robotics is a system-wide engineering discipline filled with intricate details. Our brain aren’t built for memorization, so writing things down is non-negotiable. I found that documenting my experiment, including my current obstacles, attempted solutions, and next step, was incredibly helpful.
Once a problem is solved, you can organize these “wrangling pieces” into a full, coherent documents. This not only reinforces your learning but also creates a valuable reference for future challenges.
Help
There is no room for ego when you are stuck. If you’ve exhausted your options, just ask for help. There is no shame in seeking guidance.
To make this process as efficient as possible, always respect the other person’s time. A helpful tip from Rework is to organize your questions into a clear, well-structured list. Kindly book their time and come prepared, so you can maximize the efficiency of the discussion for both parties.