URL에 들어오고 나서 좋았던 점 중 하나는 Aswin님의 DreamWaQ Universe 소스코드를 보고 공부할 기회가 있었다는 것이다. 그 코드는 내가 이제껏 봤던 어떤 코드보다 예뻤다. 6~7월은 내내 그 코드를 뜯어보고 사용하면서 보냈다. 그전에는 딱히 클린 코드에 대한 경이로움이나 필요성을 못 느끼면서 살았고, 그 때문에 내가 만든 코드도 정말 되는대로 작성한 것이 대부분이었다. 하지만 DreamWaQ 코드를 보고 난 후에, 잘 조직된 패키지는 참 많은 사람들의 삶의 질을 향상시킨다는 것을 체감했다. 그래서 내가 향후에 만들 패키지도 이와 같이 손쉽게 유지보수되는 영리한 구조를 지녔으면 좋겠다는 생각을 처음으로 했다.
클린 코드는 기술 부채를 최소화하고 가독성과 유지보수성 그리고 타인의 이해도를 높이는 효과적인 코드의 작성 방법에 관한 것이다.
그리고 나서 연구실의 Navigation 파트, 그 중에서도 GPP/LPP 유지 보수 및 개선 파트를 맡아서 여러가지 일을 하게 되며 연구실의 LPP 부분이 하나의 패키지로 쉽게 관리되지 못 하고 있다고 느꼈다. 특히 논문을 작성할 때는 벤치마크 알고리즘을 쉽게 비교할 수 있는 파이프라인이 필요한데, 기존의 늘 쓰던 알고리즘은 잘 돌지만 다른 비교군 알고리즘을 테스트하기에는 다소 불편함이 있었다.
현행 사족 자율보행 프레임워크
산재되어있는 기능 및 알고리즘을 통합하고, 도메인(시뮬레이터-Gazebo, IsaacSim, 로봇- Humanoid, Quadruped, Wheeled)이 바뀌어도 config 파일만 변경해서 쓸 수 있는 url_navigation_pkg의 개발 필요성을 느끼게 되었다.