ROS2로 주행하는 다수의 주행로봇에 대한 경로 설정과 관리를 수행하는 관제 시스템을 개발한 수강생 팀 소개
오늘도 저는 제가 참여하는 한 교육을 이수한 어떤 팀의 결과를 소개하려고 합니다. 이 팀은 ROS2로 구현된 모바일로봇을 가지고, 다수의 로봇의 경로와 임무를 관리하고 상태를 모니터링하는 관제 시스템을 개발한 팀입니다. 최근 제가 언급한 OpenRMF도 좋지만, 이렇게 본인들이 직접 필요 기능을 구현하려 노력하는 것이 실력 향상에는 더 큰 도움이 되는 것이라 생각합니다. 제가 하는 큰 교육 중 AI 로봇 관련 교육 안내는
https://addinedu-rosanddl.oopy.io/
위 링크에 있습니다. 프로젝트를 꼭 수행해야 하며, 엄~청난 분들이 프로젝트를 봐주시기도 합니다. 아무튼, 위 과정을 이수한 3기 수강생들의 파이널 프로젝트 발표 중 하나를 소개하려고 합니다.
수강생들의 교육 환경이 제한적이므로 로봇이 화려하진 않아서 상황을 요양원이라고 했지만, 사실 중요한 부분은 다중 주행 로봇 제어라는 것입니다.
6개월을 수업 들은 친구들이 내 놓은 이 자료들의 퀄리티도 참 마음에 듭니다. QT로 GUI를 구성하고, 로봇은 ROS2로 구성하고, 각 로봇을 제어하는 부분은 직접 구현한 프로젝트입니다.
저렇게 기능을 제시하고 해당 기능의 데이터 흐름을 표시해서 자료를 정리하는 것만 봐도 벌써 어떤 실력인지 알 수 있죠.
로봇 task를 관리하고 그 task에 대해 경로를 생성하는 것도 직접 했으며, 로봇의 상황을 모니터링하는 GUI와 그 흐름도 직접 구성했습니다. 실제 시연은 이 글 아래의 영상을 봐주세요.
로봇마다 ROS_DOMAIN_ID를 부여하고 메인 PC는 ros domain bridge를 이용해서 개별 로봇과 연결을 합니다.
위 그림은 제가 설명하려고 보여드리는 것이 아니라, 이런 정리를 제가 진행하는 수업에서 함께 하는 여러 강사님들과 함께 하면 잘 정리할 수 있는 능력이 된다는 것을 보여드릴려고 제시한 것입니다. 뭐 읽는데 불편함은 없으실거라 생각하고 넘어가겠습니다.
이 부분이 또 대단한 부분인데, ROS2의 navigation stack은 behavier tree로 여러 동작을 연결하고 있는데요. 기본적으로 대충(^^) 설정해서 쓰는 경우가 많을겁니다. 그 부분을 꽤 열심히 튜닝을 했다는 것입니다.
로봇이 실제 주행을 잘 하게 하기 위해 얼마나 많은 노력을 기울였는지, 그런데 그 노력이 단순히 튜닝이 아니라, 또 얼마나 깊이 있게 파고 들었는지를 알 수 있습니다. 그래서 참 잘 했다고 생각을 합니다.^^.
특히 사람을 인지해서 추적하는 기능에서 더해서, 순간적으로 사람을 학습하고, 그 결과에서 특성벡터를 찾아 인식된 사람들 중 가장 유사한 사람을 추적하는 기능을 부가해서 지정된 사람만 추적하는 기능도 넣었습니다.
또한 손동작을 인식하게 해서 간편히 로봇에 명령을 인가할 수 있도록 또 구현도 했습니다.
그리고 이번 발표회에는 ROAS CTO인 안병규님, XYZ 황성재 대표님, 애드로이트 이정학 이사님, 시마트 이주호 대표님, 로보라이프 전창훈 대표님, 한국로봇교육콘텐츠협회 백승동 실장님이 참여해주셔서 교육 기관인 에드인에듀와 많은 대화를 나눌 수 있었습니다. 그리고, 학생들에게 칭찬과 조언을 주셔서 또한 좋았습니다.
이 팀의 전체 발표 영상을 한 번 감상해 보시죠.
홍보
나도 6개월만에 이런 실력이 되고 싶다면,
https://addinedu-rosanddl.oopy.io/
이런 성장 속도가 빠른 친구들과 인턴쉽을 해보고 싶은 기업이라면
https://www.pinklab.art/edu_project
이런 일을 하는 핑크랩에게 어떤 개발을 논의하고 싶다면
https://www.pinklab.art/project
그외에 경진대회나 해커톤을 논의하고 싶다면