로봇 소프트웨어는 복잡하다. 문제가 생기면 원인을 좁히기 어렵고, 해결은 대개 많은 시행착오를 거쳐 찾아온다. 그렇게 얻은 해결이 다음 상황에서는 재현되지 않는 일도 잦다. 무엇을 바꿔서 문제가 사라졌는지 설명하지 못하면 그 경험은 다음 개발로 이어지지 못한다.
ROS 2는 단순 도구가 아닌, 연구의 대상이 될 수 있다. 로봇 개발의 사실상 표준인 ROS 2를 대상으로 코드와 커널을 넘나들며 문제가 왜 일어나는지 분석하고, 그 답을 오픈소스로 남기는 일이다. 로봇을 디버깅하는 과정은 충분히 연구가 될 수 있으며, 그 안에는 분산 시스템과 실시간 시스템, 네트워크와 제어가 맞물리며 만드는 아름다움이 있다.
이번 세미나에서는 로봇을 개발하며 자주 겪는 문제들을 소개하고, 그것이 일어나는 이유와 해결의 방향을 짚는다. 이어서 연구자의 관점에서 재현 가능한 로봇 소프트웨어 개발이 무엇을 요구하는지 함께 이야기한다.