프로젝트 대표이미지
oneM2M Mobius Robot
goingdol 생성일2023. 6. 13 조회124 좋아요0 스크랩3 댓글0
 
첨부 파일 공개 기술 미판매 유사 개발 의뢰 미수락

주행 Robot을 이용한 People Detection, Line Detection

2023. 6. 13 (화) 14:57 최종수정 2023. 6. 19 (월) 13:40 goingdol 조회 125 좋아요 0 스크랩 3 댓글 1

 

안녕하세요. E4DS Winner Robot 관련 내용 입니다. 

 

2023년 올해 열린 KETI(한국전자기술원) oneM2M Contest에 참가했었습니다.

여러모로 준비가 부족하여 참가하는데 의미를 두었습니다. 그렇지만 KETI oneM2M Mobius Platform을 이해할수 있는 계기가 되었습니다.  oneM2M이 무엇인지 궁굼하신 분들은 Youtube에 관련 KETI교육자료가 있으니 참고하시면 될것 같습니다. 

(설치방법, 활용방안, 예제코드 등등)

 

 

저희의 움직이는 E4DS Winner Robot은 2021년 중국에서 구매한 Robot입니다.

다행이 구동하는데 HW적인 특별한 문제가 없었고 ROS openCV 코드를 활용해볼수 있어서 ROS의 구조, 기본적인 동작 방식, 통신 방식, 개발 방법을 알수 있었습니다.  사실 기본적인 HW구동 시험을 하는데에도 ROS기본개념부터 구성에 필요한 요소들, Topic, Service, Publish/Subscribe등등 그리고 Tool등 여러가지를 많이 공부해야 했습니다. 

 

저희는 Patrol Robot시나리오로 참가했습니다. Robot을 구동하게 되면 Camera로부터 Input된 Image로 부터 Red-line과 People을 Detection하게 됩니다.  동영상을 보면 잡지책에 사람이 나와있는 페이지를 펼쳐 놓았습니다.  페이지에서 사람을 Detection하면 녹색으로 Rect를 그리게되고 이때 이 Image를 oneM2M을 이용해서 Mobius Platform으로 송신/저장 하도록 되어 있습니다. 이후에 저장된 Image를 resBrowser나 Postman tool을 이용하여 Mobius에서 확인할수 있습니다. 

 

 

 

 

 

아래 장표는 rqt_graph를 통해서 실행중인 ROS Node, Topic을 나타낸 내용입니다.   아래 그림에서 빨간색 부분이 people_detection node이고 그위에 있는 검은색 detection node에서는 Red-line을 찾아서 Robot 진행방향 및 속도를 제어하게 됩니다.  기본적인 주행, openCV package는 제조사코드를 활용하였습니다. 제조사쪽도 ROS.org의 코드를 사용하여 HW맞게 튜닝한것으로 보입니다.

 

 

이번에 추가된 부분이 listener_node 입니다. oneM2M listener_node(빨간색)에서는 ROS openCV people_detect node에서 발행되는 found topic을 subscribe하여 이때의 Image를 html형식 Data로 변경하여 Mobius Platform으로 송신합니다. 녹색으로 표시된 부분들이 여기에 해당하는 Data와 Topic들 입니다. Listener node의 Code는 공개된 소스중 oneM2M device simulator코드를 활용 하였습니다.

 

 

아래 부분은 rosnode info이고, 실제로 oneM2M으로 송신하는 소스코드 부분을 나타냅니다.

 

 

현재는 단순히 Robot에서 찍은 Image Data를 저장하는 기능만 있습니다. 향후에 더 발전 시킨다면 큰건물이나 시설물에서 다중의 Robot을 이용하여 Patrol 하고 Data를 수집/분류할수 있을것 입니다. 그리고 위험요소를 찾아내고 각 Robot을 Control해서 위험요소를 사전에 방지하는 기능을 추가할수 있을것이라고 봅니다. 

 

간단하게 포스팅을 마칩니다.   감사합니다.

 

goingdol
2023.07.11 09:02
oooo