8조-최박사공노임

MIE capstone
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 모바일 매니퓰레이터를 이용한 여닫이문 열기 서비스

영문 : Door-opening Service Using a Mobile Manipulator

과제 팀명

최박사공노임

지도교수

황면중 교수님

개발기간

2022년 9월 ~ 2022년 12월 (총 4개월)

구성원 소개

서울시립대학교 기계정보공학과 20174300XX 최X현(팀장)

서울시립대학교 기계정보공학과 20174300XX 박X휘

서울시립대학교 기계정보공학과 20174300XX 사공X훈

서울시립대학교 기계정보공학과 20184300XX 노X

서울시립대학교 기계정보공학과 20194300XX 임X은

서론

개발 과제의 개요

개발 과제 요약

전 세계적으로 로봇 시장의 규모가 커지고 있는 가운데, 모바일 매니퓰레이터(Mobile Manipulator)를 이용하여 문을 여는 작업은 연구 및 개발이 필요한 기술이다. 본 개발 과제에서는 모바일 매니퓰레이터를 이용하여 로봇이 스스로 밀거나 당겨 문을 여는 동작을 구현하려 한다. 이때 일자형 및 원형 손잡이를 파지할 수 있는 그리퍼를 설계하고 제작할 것이다. 카메라를 통해 손잡이를 인식한 뒤 매니퓰레이터로 손잡이를 회전시켜 문을 열고, 3D Lidar를 통해 주변 환경을 인지한 뒤 모바일 로봇이 충돌 없이 문을 통과한다. 이러한 기술은 배달 로봇과 같은 서비스 로봇, 혹은 로봇 팔을 포함한 지능형 휠체어 등과 같은 다양한 분야에 활용될 수 있으며 기존 연구에 대한 문제점을 개선함으로써 경쟁력 또한 확보할 수 있다.
<Figure 1> 모바일 매니퓰레이터 문 열기

개발 과제의 배경

1. 개발 배경
  • 동기 및 필요성
문을 연다는 행위는 최근까지도 온전히 사람만 할 수 있는 행위로 구분되어 왔다. 그렇지만 기술의 발전으로 모바일 로봇과 로봇 팔이 합쳐진 매니퓰레이터를 이용해 문을 여는 작업을 국내외 연구팀들이 진행중에 있다. 매니퓰레이터를 이용하여 문을 여는 작업은 미래의 다양한 상황에서 사용될 수 있는 기술이므로 연구 및 구현이 필요하다. 첫째, 재난 및 소방 상황 같은 상황에서 사람이 건물 내부로 직접 들어가는 탐색이 힘든 경우 모바일 로봇을 통해 대신 탐사가 이뤄질 수 있다. 생존자 구조 및 임무수행을 위해서 로봇이 문을 여는 작업이 필수적이다. 두번째, 장애인들을 위한 서비스가 가능하다. 거동이 불편한 분들이 휠체어를 타고 문을 여는 상황이나, 문의 위치를 정확히 찾기 힘든 시각장애인 분들을 위해 모바일 로봇이 안내를 하면서 문을 열 수 있다. 세번째, 편의를 위한 서비스로 사용될 수 있다. 기존 모바일 배달로봇의 경우 자동문이 아닌 이상 지나가기 힘들다. 문을 열고 지나갈 수 있다면 건물의 형태 및 구조에 국한되지 않고 모바일 로봇의 실내 배달 서비스가 이뤄질 수 있다. 그렇지만 문을 여는 작업은 자율 주행, 인식, 경로계획, 제어를 모두 동반하기 때문에 문제의 범위가 복잡하고 어렵다. 이에 기존 연구를 기반으로 문제해결을 해 나갈 필요가 있다.
  • 기존 연구 사례 및 개선 방향
<Figure 2> 로봇 문 열기 기존사례
사이언스지에 게재된 로봇 히타치(Hitachi)는 인공지능 기계학습을 통해 96% 이상 문을 여는데 성공했다. 이는 카메라를 통해 문에 접근하는 과정과 문을 통과하는 과정 두가지 단계로 모듈화 되어 구현되었다. 문을 여는 것은 반복되는 단순한 작업(task)처럼 보이지만 Hard-coding으로는 구현하기 힘든 어려운 작업이다. 히타치는 총 5개의 문과 5개의 일자형 문고리에 대해 학습하여 높은 성능을 보여주었다. 그렇지만 기존 사례에서는 여전히 개선할 부분들이 존재한다. 첫째로, 일자형 문고리만 고려한 점. 둘째로 로봇이 문을 지나갈 때 로봇과 문이 부딪히는 상황이 고려되지 않았던 점. 마지막으로, 문을 당겨 여는 작업에서 양손을 사용하여 진행한 점들이 기존 사례의 한계점이다. 본 개발 과제를 통해 로봇에 문을 여는 동작을 수행함에 있어 기존 연구의 이러한 문제점들을 개선하고자 한다. 첫째로, 일자형 문고리 이외에도 원형 문고리에 대해 개발을 진행함으로써 기존 사례를 개선하려 한다. 둘째로, 라이다(LiDAR)로 위치추정을 함으로써 로봇이 문을 통과할 경우 문과의 충돌이 일어나지 않도록 한다. 셋째로, 하나의 매니퓰레이터만을 이용하여 작업을 수행하려 한다.
<Figure 3> 원형 손잡이(좌) 일자형 손잡이(우)


2. 기대 효과
본 개발 과제에서는 당겨서 여는 문과 밀어서 여는 문, 그리고 일자형 문고리 이외에도 원형 문고리에 대해 개발을 진행함으로써 기존 연구와 비교하여 보다 다양한 사례에 대해 대처할 수 있을 것이다. 로봇이 문을 지나갈 때의 주변 물리적 환경을 고려하여 로봇이 충돌 없이 안정적으로 통과할 수 있도록 한다. 나아가 매니퓰레이터 하나만을 이용하여 문을 여는 작업을 수행함으로써 양손을 사용하는 기존 로봇보다 경제성 및 효율성 또한 높일 수 있다.
로봇이 사람처럼 문을 여는 동작을 성공적으로 수행함으로써 앞서 언급한 재난 상황을 위한 탐사로봇, 장애인을 위한 서비스 로봇, 모바일 배달 로봇 등과 같은 다양한 분야에서 활용될 수 있을 것으로 기대된다.

개발 과제의 목표 및 내용

1. 개발 목표
모바일 매니퓰레이터를 이용하여 여닫이 문을 열 수 있는 그리퍼와 소프트웨어를 설계한다. 모바일 로봇은 Agile X사의 Scout2.0, 매니퓰레이터는 Franka emika사의 Panda 플랫폼을 활용할 것이며, 문 손잡이를 잡기 위한 그리퍼는 3D 프린팅으로 직접 제작하여 매니퓰레이터 끝에 결합한다. 이후 카메라를 통해 문 손잡이를 인식하고 매니퓰레이터를 움직여 그리퍼로 문 손잡이를 파지한 뒤 회전시켜 문 손잡이를 돌린다. 이때 문 손잡이는 일자형과 원형 두 형태 모두에 대해서 파지 및 회전할 수 있도록 한다. 이후 모바일 로봇과 매니퓰레이터를 상호적으로 움직여 문을 연다. 이때 문은 당겨서 여는 문과 밀어서 여는 문에 대해 모두 고려하며, 특히 모바일 매니퓰레이터가 주변 장애물 혹은 문과 충돌하지 않도록 개발한다.
<Figure 4> 모바일 매니퓰레이터 플랫폼


2. 개발 내용
1. 카메라를 통한 문 손잡이 인식 및 자세 추정
로봇 매니퓰레이터의 그리퍼로 문 손잡이를 잡고 회전시키려면 가장 먼저 로봇이 문의 손잡이를 인식하고 해당 위치로 이동하여야 한다. 이를 위해서 깊이 카메라(Depth Camera)를 활용할 예정이다. 먼저 카메라를 통해 획득한 이미지에서 이미지 처리 알고리즘(GHT) 혹은 딥러닝 학습 방식(YOLO)을 활용하여 문고리를 찾아낸다. 이후 이미지의 깊이(Depth) 정보를 이용하여 카메라를 기준으로 문 손잡이의 자세(Pose)를 추정한 후, 로봇 매니퓰레이터와의 캘리브레이션(Calibration)을 진행한다. 문고리 인식은 아래의 알고리즘을 이용해 진행할 계획이다.


  • GHT(General Hough Transform)을 이용한 문고리 인식
허프 변환 알고리즘의 확장된 형태인 GHT 알고리즘을 개선하여 다양한 형태의 문고리를 인식할 수 있다. 또한 외곽선 정보를 이용해 문고리를 인식하는 GHT 알고리즘의 단점을 보완하고, 인식률을 향상시키기 위해 기계학습의 일종인 SVM(Support Vector Machine)을 통해 생성된 분류기를 이용한다. 마지막으로 인식된 문고리의 위치에 확률 기법을 적용하여 문고리의 오인식에도 강인하게 문을 탐지할 수 있도록 한다. https://koreascience.kr/article/JAKO201008863882781.pdf
  • YOLO 딥러닝 학습을 이용한 문고리 인식
딥러닝 기반 객체 탐지 알고리즘으로는 고속 R-CNN, SSD, YOLOv4, YOLOv5 등이 있다. 기존의 검출 방법에 비해 견고성이 우수하고 정밀도가 높은 특성을 가지고 있는 YOLO를 사용하여 문 손잡이를 실시간으로 감지하도록 한다. 카메라를 통해 여러 개의 문 손잡이 사진을 캡처하고, ‘Make Sense’ 온라인 도구로 이미지에 레이블링(Labeling) 하여 문 손잡이 데이터 세트를 만든다. 이 모델은 서버에서 학습되고 훈련된 모델은 로봇이 문 손잡이를 탐지하는데 적용된다. Research on Door Opening Operation of Mobile Robotic Arm ...https://www.mdpi.com › pdf


2. 모바일 로봇 및 매니퓰레이터의 경로 계획 및 제어
해당 내용은 크게 2단계로 나뉜다. 첫 단계는 초기에 문 주변에 위치한 모바일 로봇이 문 손잡이를 잡을 수 있는 위치 및 자세를 취할 수 있도록 이동하는 단계이다. 이를 위해서는 맵(map)을 제작하여 모바일 로봇의 위치를 스스로 인지해야 하며(SLAM), 카메라와 라이다를 통해 문과 손잡이를 인식하여 ‘작업공간(Workspace)’ 영역 안에 들어와야 한다. 두 번째 단계는 작업 공간 범위에 진입한 후의 과정이다. 손잡이를 인식하면 매니퓰레이터의 그리퍼가 손잡이를 잡기 위해 이동한다. 그리퍼가 손잡이를 잡으면 손잡이를 돌린 후, 손잡이를 밀거나 당겨 문을 열게 된다. 문을 여는 과정에서 모바일 로봇의 몸체 또는 매니퓰레이터와 부딪치지 않도록 주의하여 경로 계획을 진행해야 한다. 특히 문을 미는 작업과 당기는 작업은 경로 계획의 방법론이 서로 다르게 계획된다. 이는 문을 당기는 경우에는 문과의 충돌을 더욱 고려해야 하기 때문이다. 이 때문에 매니퓰레이터를 동작시키는 동시에 모바일 로봇의 경로 계획을 진행하여 충돌을 피하고 미션을 수행하여야 한다.


  • 로봇 위치 추정
모바일 로봇을 제어할 때 로봇의 정확한 위치를 알아야 충돌 없이 정밀하게 제어할 수 있다. 하지만 실내에서 진행되는 작업이기에 GPS와 같은 위치 추정 센서를 사용하기가 어렵다. 본 과제에서는 3D LiDAR를 기반으로 위치 추정 및 지도 작성 알고리즘인 SLAM을 활용하여 실내에서 로봇의 위치를 실시간으로 추정한다.
 :::
<Figure 5> 3D LIDAR SLAM
  • 로봇 경로 계획 및 제어
로봇 경로 계획(Trajectory Planning)은 모바일 로봇과 매니퓰레이터를 각각 계획하는 경로계획 방법과 둘을 동시에 진행하는 다자유도 로봇의 경로 계획이 존재한다. 각 로봇의 경로 계획을 따로 하는 경우, 모바일 로봇의 경우는 A*, D* 알고리즘과 매니퓰레이터의 경우는 RRT* (Rapidly-exploring Random Tree) 알고리즘을 이용한 경로 계획 알고리즘이 주로 사용된다. 문 앞까지 도달하거나, 인식된 손잡이를 잡는 과정에서는 각각 로봇의 경로계획을 진행한다. 이렇게 결정된 경로는 제어 방식에 따라서 다르게 제어된다. 모바일 로봇의 경우 차량 동역학 기반의 바퀴의 회전 속도가 결정되며, 매니퓰레이터의 경우 역기구학 기반의 위치제어(Position Control)로 관절의 각도가 계산된다.
모바일 로봇과 매니퓰레이터를 합친 다자유도 로봇의 경로 계획은 문을 밀거나 당기는 과정에서 사용된다. 모바일 매니퓰레이터의 그리퍼의 위치를 계획함으로써 경로를 계획할 수 있으며 각각 계획하는 경로와 큰 차이가 없다. 그렇지만 제어 방식의 경우 같은 경로를 추종한다고 해도 자유도가 높기 때문에 이에 해당하는 여러 개의 자세(Configuration)가 존재하게 되어 남은 자유도(Redundant DoF)를 제어해야 하는 것이 주 해결과제로 남아있다. 추가적으로 그리퍼가 문고리를 잡고 있어 문이 회전함에 따라 모바일 로봇도 같이 움직여야 하는 문과의 상호작용이 존재한다는 점이다. 이는 매니퓰레이터에서 사용하는 방법인 힘제어(Force Control)을 이용하여 문제를 해결하려 한다. 일반적인 위치 제어를 통한 제어 방식은 모바일 로봇의 바퀴의 위치와 매니퓰레이터의 관절의 위치는 정할 수 있겠지만, 문을 연다는 동적인 상황에는 적합하지 않은 방식이다. 이에 비해 힘 제어는 문열기와 같이 외부 환경과 상호작용이 있는 상황에서 사용된다. 내부의 토크측정센서에 입력된 토크를 측정하여 원하는 토크를 출력할 수 있도록 모터를 제어한다. 결과적으로 여유 자유도를 제어하는 것과 힘제어를 사용하는 것이 모바일 매니퓰레이터를 제어하는 것에 있어 주요한 해결 과제이다.


3. 문고리 파지를 위한 그리퍼 설계 및 제작
문 손잡이를 파지하기 위한 그리퍼를 제작한다. 그리퍼는 ‘CATIA V5’를 이용하여 모델링하고 3D 프린팅으로 제작한다. 그리퍼의 구조는 물체와 맞닿는 집게부와 그 집게를 모터로 움직이게 하는 구동부로 나눠진다. 집게부의 경우 원형 문 손잡이와 일자형 문고리 두 가지를 모두 움켜쥘 수 있도록 그 형태를 설계한다. 또한 안정성을 가질 수 있도록 문 손잡이와의 닿는 면적을 크게 설계한다. 이후 문 손잡이를 회전시킬 때 미끄러지지 않을 수 있을 정도의 마찰력을 가질 수 있도록 고무나 실리콘과 같은 재료를 부착한다. 구동부는 모터의 출력을 제어할 수 있는 Franka Emika사의 Panda-Hand를 이용한다. Panda-Hand의 집게부를 새롭게 설계한 형태로 교체하여 문 손잡이를 안정적으로 파지할 수 있게 한다. 전체적인 그리퍼의 형상은 시중에 나와있는 제품을 참고하여 문을 여는 데에 가장 적합한 형태로 발전시켜 제작한다.
 :::
<Figure 6> 그리퍼 형상(예시)

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

1. 전 세계적인 기술현황
1.모바일 매니퓰레이터(Mobile manipulator)
모바일 매니퓰레이터란 이동형 플랫폼인 모바일 로봇위에 로봇팔인 로봇 매니퓰레이터가 합쳐진 하나의 로봇 플랫폼 시스템이다. 움직일 수 있다는 모바일 로봇의 장점과 매니퓰레이터의 작업 범위 내에서 다양한 작업이 가능하다는 장점을 합쳐 단점을 없앴다고 볼 수 있다. 추가적인 자유도로 사용자에게 더 많은 선택권이 있지만, 많은 자유도와 비정형적인 환경이 시스템의 동작을 계획하는 것을 어렵게 한다.
<Figure 7> 모바일 매니퓰레이터 개념도
베이스인 모바일 로봇의 경우 바퀴형 로봇과 보행형 로봇으로 나뉘게 된다. 바퀴형 로봇의 경우 실내 응용 분야에 사용되는 RB-1, 책상형태로 이루어져 있어 작업범위를 광범위하게 넓힐 수 있는 RB-KA IROS+, 보조로봇 분야의 Fetch 등이 연구용으로 판매 되고 있다. 추가적으로 기존의 사용되고 있는 협동로봇(메니퓰레이터)와 모바일 플랫폼을 합쳐서 따로 사용하곤 한다. 보행형 로봇을 사용한 모바일 매니퓰레이터도 존재한다. Boston dynamics사의 spot로봇이다. Manipulator를 부착할 수 있으며 홈페이지에서 판매 중이다. Youtube 동영상을 통해 여러 외란의 상황에도 문을 여는 성능을 보여주었다.
:::
<Figure 8> 모바일 매니퓰레이터 종류
2. 매니퓰레이터 제어(Control)
매니퓰레이터 제어는 단순한 위치제어에서 시작하였지만, 로봇이 사람과 공존하는 환경이 늘어나고 로봇과 로봇, 사람과 로봇 상호작용에 대한 요구가 늘어나면서 힘 제어 방식이 고려되고 있다.
기존의 위치 제어의 한계점은 첫째로 갑작스러운 환경 변화에 대응할 수 없다는 것이고, 두 번째는 장애물에 대해 접촉이 생겼을 때 모터에 피해가 남게 된다는 것이다. 세 번째는 복잡한 Task를 수행하기 힘들다는 것이다. 이러한 한계점들 때문에 힘제어가 필요하며 위치 제어에서 불가능한 외부 환경과의 상호작용(ex. 기계적 작업, Multi-manipulator의 협동, 보행 로봇의 보행 등)을 힘 제어를 통해 구현할 수 있다.
힘 제어는 로봇이 외부 환경과 접촉하면서 생기는 힘을 제어할 수 있도록 하는 것이다. 힘 제어에는 임피던스 제어 방식과 하이브리드 힘 제어 방식 두 가지가 주류로 나뉜다. 임피던스 제어 방식은 힘과 위치를 직접 제어하는 것이 아니라 로봇 팔 끝의 위치와 대상으로부터 반영된 힘과의 동적 관계를 조절함으로 간접적으로 힘을 제어하기 때문에 원하는 힘을 직접 기준입력으로 표시하지 못한다는 단점이 존재한다. 그렇지만 하이브리드 힘 제어 방식에서는 힘을 제어할 수 있는 방향과 위치를 제어할 수 있는 방향을 선택행렬을 사용하여 정하기 때문에 원하는 힘과 위치를 직접 제어할 수 있지만 로봇과 대상사이의 동적인 관계가 무시됨으로써 힘의 과도응답을 제어하지 못한다는 단점이 있다. 최근에는 인공신경망을 통한 힘 제어 방식에 대한 많은 연구가 이뤄지고 있다.
3. 모바일 매니퓰레이터 경로계획 알고리즘
경로계획의 경우, 모바일과 매니퓰레이터를 따로 경로 계획하는 경우와 동시에 계획하는 방법이 존재한다. 이번 프로젝트에서는 각각의 로봇의 경로를 따로(decouple) 계획하여 진행하려 한다.
모바일 로봇의 경우 지역이 큰 경우 global과 local로 계획을 나눠서 진행한다. 그렇지만 현재 진행하려는 프로젝트는 작은 지역이기 때문에 global 계획으로 가능하며 이중 가장 많이 쓰이는 graph 기반의 경로 계획을 보려 한다. 일반적으로 Dijkstra -> a star -> dynamic a star로 발전되는 그래프 기반 경로 계획 알고리즘이 가장 많이 알려져 있다. A* 알고리즘의 경우 휴리스틱한 항을 추가하여 목표까지의 최단거리를 찾기 쉬운 알고리즘을 구현하였으며, Dynamic A star 알고리즘의 경우 실시간 경로계획을 위해서 기존에 가지고 있는 정보를 다시 사용해 이동 중에도 부분적인 경로계획을 다시 할 수 있게 하였다. 이는 변화하는 동적인 환경이나 장애물이 있는 상황에서 유용하게 경로 계획을 할 수 있게 한다. Hybrid A*는 이산적인 경로를 생성하는 A*의 단점을 보완하기 위해 나온 경로 탐색 알고리즘으로 연속적인 경로를 탐색한다는 장점이 있다. 현재 위치에서 로봇의 방향, 속도, 각속도를 고려하여 가능한 다음 위치를 계산하며 경로를 탐색하는 방식으로 연속적인 경로가 생성되어 부드러운 주행이 가능하다.
매니퓰레이터의 경로 계획은 전통적인 알고리즘과 기계학습 기반의 경로 계획 알고리즘이 존재한다. 현재 최신 기술들은 강화 학습을 통해 최적화된 경로계획을 하는 DQN기반의 PPO, TRPO, DDPG등이 존재한다. 하지만, 이번 프로젝트 내에 기계학습 기반의 새로운 알고리즘은 사용하지 않을 예정이다. 그래프 기반 알고리즘은 위의 모바일의 경로계획과 거의 유사하며, 샘플링 기반의 알고리즘은 RRT(Rapidly-exploring Random Tree)와 PRM(Probabilistic Roadmap Method) 기반으로 하여 이에 적합한 변형으로 이루어져 있다.
<Figure 9>모바일 로봇 경로 계획 알고리즘 분류
<Figure 10>매니퓰레이터 경로 계획 알고리즘 분류
4. 물체 검출 및 인식
물체의 검출과 인식은 패턴 인식이라고도 하며, 컴퓨터 비전 분야에서 오래도록 연구해오던 과제이다. 인공 신경망을 통한 이미지 분류 시도는 오래전부터 존재하였지만, 처리할 하드웨어의 발전이 따라오면서 폭발적인 성장을 거두었다. 대표적인 모델인 maskR-CNN 과 YOLO 모델이 있다.
딥러닝 기반 객체 탐지 알고리즘으로는 고속 R-CNN, SSD, YOLOv4, YOLOv5 등이 있다. 장점으로는 첫째, 학습 파이프 라인이 기존의 detection 모델들에 비해 간단하기 때문에 학습과 예측의 속도가 빠르고 둘째, 모든 학습 과정이 이미지 전체를 통해 일어나기 때문에 단일 대상의 특징 뿐 아니라 이미지 전체의 맥락을 학습하게 된다는 것, 셋째, 대상의 일반적인 특징을 학습하기 때문에 다른 영역으로의 확장에서도 뛰어난 성능을 보인다는 장점이 존재한다. 테두리상자 조정 (Bounding Box Coordinate)과 분류(Classification)를 동일 신경망 구조를 통해 동시에 실행하는 통합인식(Unified Detection)을 구현하는 큰 특징을 가지고 있다.
<Figure 11>YOLO 모델
Mask R-CNN은 이미지 세그멘테이션을 위해 고안된 모델로 기존의 Fast R-CNN의 구조 중 branch에 새롭게 mask branch를 추가해 픽셀단위의 이미지 객체를 판별할 수 있게 하였다. Fast R-CNN 구조의 특성인 간단한 학습이라는 장점 또한 그대로 가지고 있으며, 다른 작업들에도 쉽게 사용할 수 있다. (ex, instance segmentation , object detection )
이미지 인식을 통해 물체를 인식하였다면 이에 해당하는 자세가 있어야 로봇 메니퓰레이터가 직접 물체를 잡을 수 있다. 그렇기 때문에 카메라의 물체 인식 과정 뒤에는 로봇을 기준으로 한 물체의 정확한 자세 추정이 중요하다. 정확한 자세 추정을 위한 방법에는 대표적으로 ICP(Iterative Closest Point) 알고리즘이 존재한다.
<Figure 12>MASKRCNN 모델
ICP 알고리즘은 ‘Iterative Closest Point’의 약자로, 하나의 대상물에 대해 다른 기준 축에서 스캔된 두 개의 Point Cloud가 있을 경우, 둘 간의 대응 관계를 추정하여 iterative하게 Point Cloud Registration(정합)하여 최적 변환관계인 Rotation Matrix R과 Translation Vector t를 찾는 방법이다. 즉, 좌표 변환관계를 추정하여 로봇의 Base 좌표계와 카메라 좌표계 간의 관계를 파악하여 물체에 더 정확하게 다가갈 수 있다.


5. 그리퍼
그리퍼의 경우 다음과 같은 종류로 구별된다.
  • Two, three finger 그리퍼
가장 일반적인 그리퍼의 형태로 손가락을 이용해 물체를 파지한다는 특징이 있다. 손가락의 개수에 따라 물체를 파지할 때 안정성이 달라지며, 각 손가락이 어떻게 위치하는지 어떠한 형상을 가지고 있는지도 파지력에 영향을 미친다.
  • 소프트 그리퍼
소프트 그리퍼의 경우 인간 생활에 로봇공학 기술이 적용되기 위해 가장 필수적인 그리퍼라고 할 수 있다. 기존의 강성이 있는 그리퍼는 오작동을 통해 사람과 부딪혔을 경우 사고의 위험이 존재하며, 재료비가 비싸며, 강성 때문에 정밀한 제어가 필요하다는 단점이 있다. 그렇지만, 소프트 그리퍼의 경우, 비교적 재료가 싸며, 가볍고 안전하고, 제어 시 높은 적응성 때문에 비교적 낮은 연산이 필요하다는 장점이 존재한다.
해당 프로젝트에서는 투 핑거 그리퍼, 소프트 그리퍼 두가지 종류의 그리퍼를 합쳐서 문을 열기 위한 적응형 그리퍼를 제작할 계획이다.
<Figure 13>소프트 그리퍼


2. 특허조사 및 특허 전략 분석
1. 이동 로봇 장치와 문 제어 장치 및 그 문 개폐 방법


주변의 영상 정보를 획득한 후에 영상 분석을 통해 출입문 부근에 설치된 개방 버튼의 위치를 인식하는 단계와, 인식된 위치의 개방 버튼에 대한 조작을 수행하여 개방 선택 신호가 생성되도록 하여 개발 선택 신호에 따라 문 제어 장치가 출입문을 개방하도록 하며, 이동 로봇 장치와 문 제어 장치의 인터랙션을 기반으로 하여 문을 용이하게 개폐할 수 있도록 함으로써 기술적 어려움으로 인해 명확한 해결책을 제시하지 못했던 종래의 문 손잡이 조작을 통한 로봇의 문 개폐 방법에 대한 현실적이고 효율적인 대안을 제공한다.
:::
<Figure 14>이동 로봇을 이용한 장치 개폐장치
2. 로보트를 사용한 도어개폐제어장치
주행축에 따라 본체가 이동하는 로봇과, 이 로봇의 주행위치에 대응하여 배치된 도어와, 이 도어의 위치를 검출하는 센서와, 이 센서에 의해 상기 도어의 위치를 검출한 경우에는 상기 로보트와 도어를 연결하는 연결제어수단과, 이 연결제어수단에 의해서 상기 로보트와 도어를 연결한 후에는 상기 주행축에 따라 로보트를 이동시켜 도어를 개폐하는 개폐제어수단을 구비한 것을 특징으로하는 도어개폐장치이다.
:::
<Figure 15>로보트를 사용한 도어개폐제어장치


3. Mobile Robot Apparatus, Door Control Apparatus, and Door Opening and Closing Method Therefor
모바일 로봇 장치는 주변 영상 정보를 획득한 후 영상 분석을 통해 도어 주변에 장착된 개방 버튼의 위치를 인식하는 영상 인식부를 포함한다. 또한, 상기 모바일 로봇 장치는, 영상 인식부가 인식한 위치에서 상기 개방 버튼에 대한 연산을 수행하여 개방 선택 신호를 생성함으로써, 상기 생성된 개방 선택 신호에 따라 도어 제어 장치가 도어를 열 수 있도록 하는 모바일 컨트롤러를 포함한다.
 :::
<Figure 16>제어 개략도
4. Door Position Recognition Method and Mobile Robot
도어 위치 인식 방법 및 모바일 로봇에 따르면, 각도 정보, 선 정보 및 미리 설정된 파라미터에 기초하여 차트를 필터링하고, 필터링된 차트를 판정하는 판정 조건에 따라 의심 도어 위치의 신뢰성을 판정한다. 최종적으로, 이동 로봇이 가상 벽 장비의 도움 없이 미리 설정된 파라미터, 각도 정보 및 라인 정보를 사용하여 의심되는 도어 위치의 라인 정보를 판단할 수 있도록 대상 환경에서의 실제 도어 위치가 결정된다. 로봇의 의심 도어 위치 인식 정확도가 향상되고, 의심 도어 위치에 대한 로봇의 오판 확률이 감소되며, 로봇 격벽의 정확도가 향상되어 실제 도어 위치를 경계로 하여 이동 로봇이 파티션 청소를 수행할 수 있게 되며, 이동 로봇이 이동하도록 제어된다.
3. 특허전략
기존 국내 특허를 보면 a) 이동 로봇 장치와 문 제어 장치 및 그 문 개폐 방법은 문 손잡이를 직접 조작 기술적인 어려움으로 해결하지 못하고 개폐 스위치를 이용하는 방법을 채택하였다. 본 과제에서는 문 손잡이를 인식하고 매니퓰레이터를 이용하여 문 손잡이를 정확히 파지하여 문을 개폐하기 때문에 기술적인 접근이 다르다. b) 로보트를 사용한 도어개폐장치 또한 문 손잡이를 파지하여 개폐하는 방식이 아닌 도어 위치를 검출하는 센서를 이용하였으며, 로봇과 도어를 연결하는 별도의 컨트롤러 존재한다. 더욱이 이 두 개의 특허 모두 국내에서 등록 포기하거나 취하한 특허이므로 새로운 특허를 출원하는데 문제가 되지 않을 것으로 보인다.
국외 특허를 살펴보면 c) 이동 로봇 장치와 문 제어 장치 및 그 문 개폐 방법 또한 문 개방 버튼을 이용하여 개폐하는 방식을 사용하고 있다. 중국에서 출원된 d) 도어 위치 인식법과 이동 로봇 역시 문의 위치를 인식하는 기술에 대한 부분만을 다루고 있다. 본 과제에서는 이 특허에 제시된 인식 방법이 아닌 문 손잡이 인식에 대해 YOLOv5 딥러닝 기술을 사용할 예정이다.
아직 국내외 연구되어지고 있는 기술이기 때문에 본 과제에서 해결하고자 하는 기술과 일치하는 특허가 아직 존재하지 않으며, 국내에서는 본 과제를 통해 새로운 기술로서 특허를 출원하고 개발된 제품을 판매하는 것에 대해 특허상 문제가 없을 것으로 생각된다.


4. 기술 로드맵
<Figure 17> 기술 로드맵

시장상황에 대한 분석

1. 경쟁제품 조사 비교
<Figure 18> 경쟁 제품 조사 비교
  • 히타치
일본기업 히타치는 최근 와세대 대학과 협업해 로봇이 문을 열고 닫는 실증시험을 진행한 결과 96%의 성공률을 보였다고 밝혔다. 히타치는 지난 2018년부터 딥러닝과 FPGA(프로그램이 가능한 비메모리 반도체의 일종, Field-Programmable Gate Array)를 조합시켜 로봇에게 직면한 '예상 밖 상황'에 유연하게 대처할 수 있도록 학습시켰다. 로봇은 바퀴로 움직이면서 두 팔로 문을 연다. 연구진은 문을 여는 각각의 동작을 학습하는 인공지능을 로봇에 탑재하고 6시간 분량의 데이터를 학습시켰다. 로봇은 기계학습을 통해 카메라에 문고리가 보이면 어떤 식으로 열어야 하는지 스스로 터득했다. 동시에 사람이 직접 문을 여는 동작을 108번 보여주어 기계학습과 시범교육을 병행하였다. 로봇은 문을 밀어서 열고 들어갔다가 다시 뒤돌아서 문을 당겨서 열고 들어가는 동작을 대략 2분에 1회 수행할 수 있다. 다만 히타치의 로봇은 상용화가 된 단계는 아니고 연구개발단계에 가까운 기술이다.
  • 스팟(spot)
스팟은 보스턴 다이내믹스 사의 4족 보행 로봇이다. 이 로봇에 매니퓰레이터를 장착하여 문을 여는 동작을 수행하는 영상을 유튜브에서 확인할 수 있다. 스팟이 문을 여는데 걸리는 시간은 영상에서 보았을 때 20~30초 사이이다. 문을 여는 모든 과정이 기계학습방식을 사용하여 이루어 지는 것은 아니다. 문 앞까지는 사람이 직접 조작하여 위치시킨 후 ‘GO’ 명령을 내리면 문을 여는 과정은 자동으로 수행한다고 보스턴 다이내믹스는 설명하고 있다. 스팟은 ‘GO’명령 이후 사람이 문손잡이를 못잡게 하거나 몸통을 뒤로 잡아당겨서 문을 열지 못하게 방해하더라도 결국에는 문을 여는 작업을 수행할 수 있다. 스팟은 한화 약 9000만원에 판매되고 있으며 미국에서만 구입할 수 있고 배송 시간은 6~8주이다.
2. 마케팅 전략 제시
1. SWOT 분석
  • Strength
모바일 로봇과 매니퓰레이터를 동시에 제어하여 벽, 문과의 충돌 없이 모션 플레닝을 하기 위해서는 각 부분의 planning 과정을 모두 알아야할 뿐만 아니라 자유도가 높은 과정이기에 최적화시키기 위해서는 높은 난이도의 기술이 필요하다. 또한 카메라로 손잡이를 인지하여 pose를 파악하는 과정, 손잡이를 잡을 수 있도록 도킹하는 과정, 모바일 로봇의 위치를 추정하는 과정 모두 필요하므로 제어, 비전, localization 등 다양한 영역의 지식이 융합되어야만 완성될 수 있는 기술이다.
  • Weakness.
본 프로젝트에서는 특정 회사의 특정 로봇 플랫폼에서 개발을 진행한다. 따라서 해당 기술을 다른 종류 혹은 다른 제조사의 로봇 플랫폼에 적용하기가 힘들 수 있다. 로봇 플랫폼에 맞게 작업 반경과 같은 파라미터를 변경하면 해결가능한 것도 있겠지만, 로봇의 제어 방식이 다른 경우에는 더욱 개발한 알고리즘 이식이 쉽지 않다.
  • Opportunity.
관련 기술을 개발하여 상용화하는 업체 및 기업이 존재하지 않다. 로봇이 돌아다니는 대부분의 건물에는 자동문이 설치되어 있는 것이 일반적이지만, 자동문이 설치되지 않은 경우에도 문을 여는 로봇이 필요한 상황이 많다. 해당 서비스를 개발하면 자동문이 아닌 여닫이 문이 있는 건물에서도 로봇이 문을 열 수 있다.
  • Threat.
해당 기술이 필요한 경우가 특수하기에 수요층이 한정적이라는 단점이 있다. 또한 문을 여는 서비스만을 수행하기 위해 로봇 메니퓰레이터를 도입하기에는 로봇 메니퓰레이터의 가격이 매우 비싸다. 건물의 모든 층에 로봇 메니퓰레이터를 구비해 놓을 수는 없을 가능성이 크기에, 필요한 상황에서 문을 여는 로봇이 급하게 필요한 재난 상황의 경우, 로봇 메니퓰레이터가 스스로 층을 이동하는 기술 또한 요구된다.
2. STP 전략
  • Segmentation
문 여는 것을 도와주는 서비스 제공 로봇이기 때문에 거동이 불편한 사람과 아닌 사람으로 소비자 층을 나눌 수 있다. 이는 나이가 많은 고령층과 아닌 사람들 혹은 휠체어를 타는 사람과 아닌 사람으로 나눌 수 있다. 또한 해당 기술이 필요한 개인과 업체 혹은 기관으로 나눌 수 있다.
  • Targeting
주요 타겟이 되는 개인 고객으로는 거동이 불편해 휠체어를 타고 이동하는 모든 사람이 된다. 주요 타겟이 되는 기관 혹은 업체로는 화재를 진압하고 붕괴 위험 건물에 진입해야하는 소방 업체가 해당되고 또한 위험한 공장에서 로봇으로 모니터링을 진행하는 여러 제조 공장을 가진 업체가 될 수 있다. 특히 이미 매니퓰레이터가 달린 사족보행 혹은 모바일 로봇을 가지고 여러 일을 진행하려하는 업체가 주요 타겟이다.
  • Positioning
매니퓰레이터가 달린 사족보행 혹은 모바일 로봇을 제공하는 회사는 있지만, 문을 여는 기술을 개발하여 제공하는 회사나 연구소는 존재하지 않는다. 따라서 유일성에서 경쟁력을 가진다.

개발과제의 기대효과

기술적 기대효과

본 과제에서는 당겨서 여는 문과 밀어서 여는 문, 그리고 일자형 문고리 이외에도 원형 문고리에 대해 개발을 진행함으로써 기존 연구와 비교하여 보다 다양한 사례에 대해 대처할 수 있도록 연구한다. 이 때, 로봇이 문을 지나갈 때의 주변 물리적 환경을 고려하여 로봇이 충돌 없이 안정적으로 통과할 수 있도록 한다. 나아가 양손을 사용하는 기존 로봇과 비교하여 매니퓰레이터 하나만을 이용하여 문을 여는 작업을 수행함으로써 로봇의 규모를 줄이고 공간활용성을 높이는 등의 기술적인 발전성을 제시한다.
또한 수행한 과제 연구의 결과를 재난 상황 탐사용, 서비스용, 배달용 로봇 등의 다양한 분야에서 활용할 수 있을 것으로 기대하여 연구 기술의 활용도가 높다고 할 수 있다.

경제적, 사회적 기대 및 파급효과

기존보다 다양한 상황에 적용되고, 저렴한 비용으로 모바일 매니퓰레이터로 문을 여는 기술이 연구개발된다면 다양한 분야에 기술이 활용됨으로써 로봇 시장이 확대될 것으로 기대한다.
특히 최근 전세계적으로 배달로봇 서비스를 제공하는 사례가 점차 늘어나면서 무인 자율주행 배달로봇 서비스가 급부상하고 있다. 이와 더불어 우버, 포드, 아마존과 같은 글로벌 기업들은 물론 국내에서 또한 배달의 민족, 현대자동차 등에서 배달로봇 개발에 힘쓰고 있다. 이런 추세에 맞추어 기존 모바일 배달로봇에 다양한 상황에서 문을 잘 열 수 있는 기능을 탑재하여 로봇이 스스로 문을 열고 지나갈 수 있다면, 건물의 형태 및 구조에 국한되지 않고 로봇의 실내 배달 서비스를 가능하게 함으로써 배달로봇 시장에서 경쟁력을 가질 것으로 보인다.
또한 사회적으로 다양한 분야에 로봇이 문을 열어주는 서비스가 이용될 수 있을 것이다. 첫째, 재난 및 소방 상황 같은 상황에서 사람이 건물 내부로 직접 들어가는 탐색이 힘든 경우 모바일 로봇을 통해 사람 대신 탐사가 이뤄질 수 있다. 생존자 구조 및 임무수행을 위해서 로봇이 문을 여는 작업은 필수적이다. 이처럼 스스로 문을 열 수 있는 로봇은 위험한 재난 상황에서 인간이 하기 힘든 작업들을 대신해 줄 수 있을 것으로 기대된다. 두번째, 장애인들을 위한 서비스가 가능하다. 거동이 불편한 분들이 휠체어를 타고 문을 여는 상황이나, 문의 위치를 정확히 찾기 힘든 시각장애인 분들을 위해 모바일 로봇이 안내를 하면서 문을 열 수 있다. 문을 열 수 있는 기능을 이용하여 장애인을 위한 로봇을 개발함으로써 ‘배리어 프리(Barrier Free)’를 실현할 수 있을 것으로 기대된다.

기술개발 일정 및 추진체계

<Figure 19> 구성원 및 추진체계

설계

설계사양

제품의 요구사항

<Figure 20> 제품요구사항

목적계통도

  • 안정성 (충돌)
자가충돌 회피(Self-Collision Avoidance), 로봇이 스스로 충돌하지 않고 작업을 진행해야 함.
외부충돌 회피(Collision Avoidance), 로봇이 외부 환경(문)과 충돌하지 않아야 함.
  • 신속성
동작 신속성, 문을 통과할 때 너무 오랜 시간이 걸리지 않아야 함.
알고리즘 속도, 손잡이 인식 알고리즘이 동작하는 속도가 빨라야 함.
  • 정확성
손잡이 인식, 문 앞에 로봇이 위치하였을 때, 손잡이의 위치와 방향을 정확하게 인식해야 함.
손잡이 파지, 인식된 손잡이를 그리퍼가 정확하게 파지할 수 있어야 함.
반복정밀도(Repeatability), 로봇이 반복해서 동일한 목표위치로 이동하도록 명령할 때, 로봇의 실제 위치의 오차가 얼마나 될지 나타내는 사양 (모바일 매니퓰레이터가 계획된 궤적을 정확히 추종해야 함)
  • 범용성
다양한 손잡이 파지, 그리퍼가 대표적인 손잡이 형태를 파지할 수 있어야 함.
<Figure 21> 목적 계통도

설계 사양

1) 모바일 로봇의 실시간 위치 추정 정확도 95% 이상
2) 두 종류의 문 손잡이 인식률 90% 이상
3) 손잡이 위치 추정의 위치 정확도 3cm, 방향 정확도 5° 이내
4) 원형 및 일자형, 두 종류의 문 손잡이를 파지할 수 있는 그리퍼
5) 문 손잡이를 돌릴 수 있는 힘과 마찰력을 낼 수 있는 그리퍼
6) Camera에 흔들림이 없게 하는 카메라 고정 부품(Camera Fixture)
7) 충돌이 일어나지 않는 안전한 Mobile Manipulator의 Trajectory Planning
8) 매니퓰레이터의 제어 오차 1mm 이내

개념설계안

<Figure 22> 개념 설계안 개략도
  • 카메라를 통한 두 종류의 문 손잡이 인식
본 프로젝트에서는 로봇이 문의 손잡이를 인식하고 해당 위치로 이동하여야 한다. 이를 위해서 깊이 카메라(Depth Camera)를 활용할 예정이다. 먼저 카메라를 통해 획득한 이미지에서 이미지 처리 알고리즘 혹은 딥러닝 학습 방식을 활용하여 문고리를 찾아낸다.
문고리 인식을 위한 이미지 처리 알고리즘으로는 허프(hough) 변환 알고리즘과 GHT(Gneral Hough Transform) 알고리즘이 있다. 허프 변환 알고리즘을 이용한 인식 방법은 원형의 문고리만을 인식할 수 있고, 문고리가 아닌 원형 부분을 문고리로 인식하는 문제점을 가지고 있다. 이 문제점을 해결하기 위해 허프 변환 알고리즘의 확장된 형태인 GHT 알고리즘을 개선하여 외곽선 정보를 이용해 다양한 형태의 문고리를 인식할 수 있다.
딥러닝 기반 객체 탐지 알고리즘으로는 고속 R-CNN, SSD, YOLO 등이 있다. 그 중에서도 기존의 검출 방법에 비해 견고성이 우수하고 정밀도가 높은 특성을 가지고 있는 YOLO를 사용하여 문 손잡이를 실시간으로 감지하도록 한다. 카메라를 통해 여러 개의 문 손잡이 사진을 캡처하고, 이미지에 레이블링(Labeling) 하여 문 손잡이 데이터 세트를 만든다. 이 데이터셋을 이용해 학습된 모델은 로봇이 문 손잡이를 탐지하는데 적용된다.
<Figure 23> YOLO 결과
  • Depth 카메라를 활용한 문 손잡이 위치, 자세 추정
손잡이를 인식한 후에는 매니퓰레이터로 손잡이를 잡기 위해 손잡이의 위치와 자세를 알아야한다. 카메라를 통해 문 손잡이를 인식하는 과정은 2D 이미지상에서 손잡이를 찾아낸 것이기에 실제 로봇이 존재하는 3차원 좌표계에서 문 손잡이의 위치 및 자세를 추정하는 과정이 필요하다.
이를 위해 ICP(Iterative Closest Point) 알고리즘을 활용한다. ICP 알고리즘이란 Point Cloud Registration을 진행할 때 두 point cloud 대응 관계에 대해서 모를 경우, 대응 관계를 추정하고 그 대응관계를 통해 두 point cloud를 align을 하는 과정 중 하나이다. 대응 관계를 추정할 때는 반복적으로 점 사이의 거리를 계산하여 두 점들 사이 거리를 최소화하는 해를 구한다. 그림 2에서 왼쪽과 같은 두 군집의 point cloud가 있을 때, 오른쪽 사진과 같이 빨간색 point cloud를 파란색 point cloud로 겹치기 위한 변환행렬을 구하는 과정이다.
<Figure 24> ICP 개념 사진
해당 알고리즘을 구현하는 과정이다. 먼저, 손잡이 형상의 point cloud와 인식한 환경의 point cloud를 사용하여 두 point cloud 관계의 회전 행렬과 변환행렬을 얻어 위치와 자세를 추정하고자 한다. 따라서 손잡이 형상은 인식하고자 하는 손잡이 형상의 STL 파일을 만들어서 이를 point cloud로 만든다. 인식한 환경의 point cloud는 손잡이 인식 결과를 활용한다. 카메라 이미지를 통해 손잡이를 인식한 결과를 바탕으로 depth 이미지에서 문 손잡이 바운딩 박스에 해당하는 부분만을 가져와 point cloud로 변환한다. 이 두 데이터에 대해서 ICP 알고리즘을 적용하고 카메라를 기준으로 한 손잡이의 변환행렬을 구하여 위치 및 자세 추정을 진행한다.
  • 실내 공간에서의 모바일 로봇 실시간 위치 추정
모바일 로봇을 제어할 때 로봇의 정확한 위치를 알아야 충돌 없이 정밀하게 제어할 수 있다. 하지만 실내에서 진행되는 작업이기에 GPS와 같은 위치 추정 센서를 사용하기 어렵다. 본 과제에서는 3D LiDAR를 기반으로 위치 추정 및 지도 작성 알고리즘인 SLAM을 활용하여 실내에서 로봇의 위치를 실시간으로 추정한다.
LOAM 알고리즘은 Lidar Odometry And Mapping의 줄입말로 high accuracy ranging과 inertial measurement 없이 Low-drfit, Low-computational complexity를 가진 odometry이다. Odometry는 아주 복잡한 SLAM 문제의 일부이며 LOAM에서는 이 odometry를 motion estimation을 위해 높은 Frequency로 돌아가지만 신뢰도가 비교적 낮은 odometry와 frequency가 낮지만 fine registration을 할 수 있는 매핑 두 부분으로 나누어 해결하였다. LOAM의 전체적인 시스템은 다음과 같다.


Gmapping 패키지는 OpenSLAM에서 공개된 SLAM의 한 종류로 레이저 기반 SLAM을 제공한다. 레이저에서 2D 점유 격자 지도를 만들고 모바일 로봇에서 수집한 포즈 데이터를 생성할 수 있다. 지도를 그릴 때는 기본적으로 OGM(Occupancy Grid Map) 방식과 파티클 필터를 사용한다. Navigation에서는 Lidar의 스캔값과 odometry를 바탕으로 로봇의 위치, 센서 위치, 장애물 위치 정보, 그리고 SLAM 결과물로 얻은 고정 지도, 이 4가지 요소를 기반으로 장애물 영역, 창애물과 충돌이 예상되는 영역, 로봇이 이동 가능한 영역을 계산하게 된다.


<Figure 25> LOAM & MAPPING
  • 두 종류의 문 손잡이를 파지할 수 있는 그리퍼의 형태
그리퍼는 문 손잡이를 정확하게 파지할 수 있으면서 두 가지 형태의 문 손잡이에 맞게 제작 되어야 한다. 또한 파지 시에 그리퍼가 이격이 생겨 문 손잡이에서 이탈되는 것은 피해야 한다.
왼쪽 사진을 보면 일자형 문 손잡이의 형태를 고려하여 그리퍼의 가장자리에 홈을 내었다. 홈 사이에 일자형 문 손잡이가 딱 맞게 들어가서 파지하는 방식으로 파지 정확성을 만족한다. 홈을 낸 형태이긴 하지만 원형 문손잡이용 그리퍼 보다는 부피가 크다.
오른쪽 사진은 원형 문 손잡이의 형태를 고려하여 모델링한 모습이다. 일자형 문 손잡이를 고려한 그리퍼 보다 형태는 단순하다. 부피는 비교적 작고 원형 문 손잡이를 정확하게 파지할 수 있는 형태이다.
<Figure 26> 그리퍼 아이디어
위의 둘 중 하나의 그리퍼만을 이용하면 두 종류의 문 손잡이를 모두 안정적으로 파지할 수 없다. 따라서 위의 두형태를 합쳐서 두 종류의 문 손잡이를 잡을 수 있는 그리퍼를 구상하였다. 두 종류의 문 손잡이에 맞게 홈을 두번 내었기 때문에 정확하게 파지할 수 있고 위의 두 모델에 비해 더 작은 부피를 가지고 있다.
<Figure 27> 그리퍼 최종도면


  • 그리퍼에 충분한 마찰력을 지닌 소재 사용
그리퍼가 문 손잡이를 잡고 회전시킬 때 미끄러지지 않도록 마찰력이 있는 소재를 사용한다. 원하는 모양대로 성형이 용이하고 마찰력이 높기 때문에 고무의 한 종류인 실리콘을 사용한다.


  • Camera Fixture
Camera의 고정을 위한 부품이다. One joint로 고정하는 방식과 Two joint로 고정하는 방식 두 가지가 있다. One joint로 고정하는 방식은 나사를 한 개만 사용하여 카메라가 움직이지 않게 고정할 수 있다. Two joint로 고정하는 방식은 나사를 두 개 사용하여 카메라를 고정한다. 구조적으로 one joint 방식보다 two joint 방식이 조금 더 간결한 형태여서 end effector의 움직임에 방해가 되지 않는다. 또한 편평한 형태이기 때문에 부피도 조금 더 작다. Two joint 방식은 나사를 두 개 사용하지만 그만큼 자유도를 확실하게 통제할 수 있기 때문에 흔들리지 않고 캘리브레이션 진행시에 도움이 되므로 two joint 방식을 이용한 Camera Fixture 모델을 채택하였다.
<Figure 28> 카메라 fixture


  • Planning
Mobile base의 planning 방법은 다양하다. 사용하는 모바일 로봇의 특성을 planning단계에서 반영시킨다. 사용 중인 모바일 로봇은 scout으로 differential type이 아니며 4바퀴에 제어 입력이 가능하여 제자리 회전이 가능하다. 그렇지만 횡방향 이동이 제한되어 있는 non-holonomic vehicle이다. 이러한 특성에 의해 좁은 구역의 문을 통과할 경우 회전이나 곡률 움직임이 거의 없을 것이라고 가정하였으며 이에 따라 모바일의 움직임은 직선으로 제한하였다.
매니퓰레이터의 Trajectory란 로봇 끝단인 end-effector에 부착되는 그리퍼의 접촉위치의 궤적을 의미한다. 매니퓰레이터의 이동궤적을 계획하는 Trajectory Planning은 문을 여는 그리퍼의 위치 및 방향을 미리 정해둠으로써 시작된다. 이는 로봇 베이스로부터의 위치, 방향 관계를 얻을 수 있는 역기구학(Inverse Kinematics)을 통해 얻어낼 수 있는데, 미리 정해진 그리퍼 궤적에 따른 매니퓰레이터의 관절 위치값을 계산하는 과정이다. 여기서 계산된 관절 위치값이 대입된 매니퓰레이터의 자세인 Configuration이 조인트 최대각도를 넘지 않는지, 그리고 충돌이 일어나지 않는지를 체크해야 한다. 이를 일으키는 경우라면 피할 수 있도록 다시 planning 하여야 한다.
직선으로 제한된 모바일 로봇의 움직임은 앞뒤로 움직이며 이는 매니퓰레이터의 영향을 받게 된다. 매니퓰레이터의 끝점과 모바일이 일정한 거리를 유지하도록 동적 모델을 설계하였기 때문에 매니퓰레이터가 앞으로 움직이면, 모바일 베이스가 따라서 이동하게 되고, 매니퓰레이터가 문을 열면서 뒤로 이동하게 되면, 모바일 로봇 또한 뒤로 이동하게 된다.
  • Control
직교 공간에서 위치 제어기를 이용하는 것은 공간 상의 위치와 속도를 이용해 간단한 PD 제어기를 만들어 제어가 가능하다. 그러나, 위치 제어의 한계로 갑작스러운 환경 변화에 대응할 수 없다는 것과, 두 번째는 장애물에 대해 접촉이 생겼을 때 모터에 피해가 남게 된다는 것이다.
힘 제어에는 임피던스 제어 방식과 하이브리드 힘 제어 방식 두 가지 방식이 있다. 임피던스 제어 방식은 힘과 위치를 직접 제어하는 것이 아니라 로봇 팔 끝의 위치와 대상으로부터 반영된 힘과의 동적 관계를 조절함으로 간접적으로 힘을 제어하기 때문에 원하는 힘을 직접 기준입력으로 표시하지 못한다는 단점이 존재한다. 그렇지만 하이브리드 힘 제어 방식에서는 힘을 제어할 수 있는 방향과 위치를 제어할 수 있는 방향을 선택행렬을 사용하여 정하기 때문에 원하는 힘과 위치를 직접 제어할 수 있지만 로봇과 대상사이의 동적인 관계가 무시됨으로써 힘의 과도응답을 제어하지 못한다는 단점이 있다.
현재 문을 여는 task는 제어가 수행되는 경로 상에 문이 존재하여 문을 여는 힘이 고려되어야 함으로 힘제어가 필요하다. 그렇지만 그 정도가 정확할 필요가 없으며, 오히려 문과의 동적 관계를 고려함이 사람이 작업을 수행하는 방식과 유사하기 때문에 임피던스 제어 방식을 통해 문제를 해결하고자 하였다.

이론적 계산 및 시뮬레이션

카메라-로봇 캘리브레이션

<Figure 29> 카메라부착엔드이펙터
카메라를 위와 같이 매니퓰레이터에 부착하게 되면 카메라의 위치를 거리를 재서 측정할 수는 있다. 하지만 이는 부정확할 수 있을 뿐더러, 로봇의 좌표계와 카메라의 좌표계가 서로 다르기 때문에 복잡하다. 이에 카메라와 매니퓰레이터의 좌표계 간의 거리, 회전을 계산된 행렬 T(Homogeneous Matrix)가 필요하다.
<Figure 30> 캘리브레이션환경
이를 추정하기 위한 실험 과정은 다음과 같다.
<Figure 31> 캘리브레이션 이론
1) 로봇의 엔드이펙터에 송곳을 부착하고, 앞에 인식할 수 있는 체커보드를 준비한다.
2) 송곳의 끝점으로 체커보드의 특정 한 점(P1)을 찍고, 로봇 베이스로부터의 P1까지의 위치를 구한다.
3) 로봇의 자세(configuration)을 변경시키며 로봇의 부착된 카메라로 체커보드를 찍는다.
4) 카메라 사진으로부터 카메라 좌표계를 기준으로 한 P1의 좌표를 얻는다.
5) 로봇의 자세마다 로봇 베이스를 기준으로 한 말단부 좌표도 구해둔다.
(로봇 베이스로부터의 P1 좌표를 알기 때문에 말단부로부터의 P1 좌표를 계산할 수 있다.)
6) ICP 알고리즘으로 카메라 기준 P1과 말단부로부터의 P1 들을 모아 ICP 알고리즘을 거쳐 카메라로부터 말단부로의 T(Homogeneous Matrix)를 얻을 수 있다.
<Figure 32> T 변환 행렬
그렇게 얻어낸 행렬 T는 다음과 같으며 이는 카메라로부터 말단부로의 변환 행렬이다. :
이 구해낸 행렬의 정확성을 확인하기 위해 새롭게 측정한 카메라 좌표계를 기준으로 한 P1의 좌표와 카메라로부터 말단부로의 T를 곱하여 계산한 말단부로부터의 P1 좌표를 실제로 공칭적으로 얻은 말단부로부터의 P1 좌표와 비교하는 방식으로 편차를 계산해보았다. 결과는 다음과 같다.
<Figure 33> 행렬 T 정확도 1
<Figure 34> 행렬 T 정확도 2
결과로 편차는 0.0018m ~ 0.00306m 정도로 충분히 작은 것을 확인하여 구한 행렬 T를 그대로 사용해도 적합하다고 판단했다. 추가로 이를 개선하기 위해서는 더 많은 실험데이터를 통해 보정할 수 있다.

시뮬레이션

문을 여는 과정을 구현하는 과정에서 사용한 시뮬레이션이다.시뮬레이션은 ROS에서 제공하는 GAZEBO simulator를 사용하였으며, 시스템의 안정성과 알고리즘 구현의 정확성을 테스트하기 위해 사용하였다. 크게 두 단계로 매니퓰레이터를 이용한 문열기와 모바일 매니퓰레이터를 통한 문열기로 나누어진다.
1. 매니퓰레이터 단독 시뮬레이션
실제 문의 크기 및 무게를 반영해서 만들고 이를 매니퓰레이터를 이용해 당겨보는 시뮬레이션을 진행하였다. 매니퓰레이터는 모바일 로봇 위에 놓여져있다는 것을 고려하여 높이를 0.35m 띄워놓았으며, 각각 밀고 당기는 실험을 진행하였다. 아래 그림에서 확인되는 것처럼 밀 때는 매니퓰레이터의 작업공간을 벗어나지 않을 필요가 있음을, 당길 때는 문과 매니퓰레이터의 충돌이 일어날 수 있음을 파악했다. 즉, 이러한 문제점을 보완하여 문을 여는 과정에서 매니퓰레이터의 작업공간을 보장함과 동시에 문과의 충돌없이 모바일 로봇의 경로를 계획할 필요가 있음을 밝혀내었다.


<Figure 35> PUSH
<Figure 36> PULL


2. 모바일 매니퓰레이터 시뮬레이터
사용하는 조건과 마찬가지로, scout 2.0과 panda robot의 URDF를 사용하여 가상환경의 모바일 매니퓰레이터를 구현하였다. 각 로봇의 제어는 따로 진행되며, gazebo controller를 통해 제어된다. 모바일 매니퓰레이터는 앞선 문의 인식과 문 손잡이 회전이 모두 완료되었다고 가정하고 문을 열거나 당기게 된다. 문을 여는 실험의 경우, 모바일 매니퓰레이터가 다른 제약이 존재하지 않게 전진하면서 완전히 문을 열 수 있는 것을 확인하였다. 그렇지만 문을 당기는 경우에는 문이 90도 이상 되도록 문을 당기는 것이 로봇 관절 각도 상 불가능하다는 것을 시뮬레이션을 통해 확인할 수 있었다. 그래서 문을 70도 당긴 이후에 반대쪽에서 문을 밀어 활짝 열어주는 추가적인 작업을 진행하는 것으로 계획을 수정하였다.
<Figure 37> 모바일 매니퓰레이터 시뮬레이션
3. 모바일 로봇 시뮬레이터
문 손잡이를 열기 전, 문 앞으로 이동하는 과정에서 모바일 로봇의 위치 추정 및 제어할 때 SLAM을 통하여 gmapping 과 navigation을 사용하였다. Ubuntu 16.04, ROS Melodic 환경에서 Gazebo simulator를 활용하여 velodyne 라이다 플러그인을 활용해 gmapping을 시뮬레이션 해보았다. Gazebo simulator 상에서 scout 모델을 불러와 키보드 조작을 통해 로봇의 위치를 천천히 이동시키면서 맵을 생성한다. 아래 그림 1이 모바일 로봇이 이동할 가상 환경이며 그림 2는 해당 환경에서 그린 map이다.
<Figure 38> 모바일로봇 가제보
<Figure 39> 모바일로봇 맵
SLAM을 하고서 Map을 생성하면 이미지 파일과 yaml 파일 두 가지가 생성되는데, 이때 Image format을 gampping을 통해 얻어진 지도를 말하고 YAML format은 맵의 특성들을 알 수 있는 일종의 메타 데이터이다. 이 중에서도 navigation을 위해서 이 yaml 파일을 사용하게 된다. 저장된 맵 정보를 불러온 다음, Navigation 패키지와 Rviz 도구를 활용하여 로봇의 현재 위치와 목표 지점이 잘 설정되었는지, 그리고 목표 지점(Goal)까지의 경로(global path)가 잘 생성되었는지 확인하였다. 그림 3은 모바일 로봇의 출발 위치와 목표 지점이 생성된 모습이다. 이후 로봇은 맵 정보와 Navigation을 이용하여 문 앞까지 스스로 이동하고, 문을 여는 과정을 수행한 이후 최종적으로 목표 지점까지 이동하도록 할 것이다.
<Figure 40> 모바일로봇 경로확인

그리퍼 파지 안정성

그리퍼 파지시에 미끄러지는 현상을 방지하기 위해 이론적인 계산을 진행한다. 손잡이를 회전시킬 때 걸리는 힘과 그리퍼 파지시의 마찰력을 비교한다.
1) 손잡이를 회전 시킬 때 걸리는 힘: 0.8kg ⋅ 9.8ms2 = 7.84N
2) 그리퍼의 정지 마찰력: (실리콘 마찰계수) * (그리퍼 수직항력) = 70N ⋅ 0.5μ = 35N
3) 그리퍼 정지 마찰력(35N) >> 손잡이 회전시에 걸리는 힘(7.84N) 이므로 그리퍼는 미끄러지지 않고 손잡이를 회전시킬 수 있다.

상세설계 내용

조립도

1. 조립도
본 과제에서는 두 종류의 문 손잡이를 파지하기 위해 Gripper의 Fingertip 부분만 직접 제작하여 사용하기로 한다. 그림 4의 1번 부분이 Plate이며 2번 부분이 Fingertip이다. Fingertip 부분은 실리콘으로 제작한다. 문 손잡이 파지시에 과도하게 형태가 변형되는 것을 방지하기 위해 Plate를 덧대어 제작한다. 볼트와 너트는 M6규격을 사용한다.
<Figure 41> Gripper 조립도
2. 조립순서
Fingertip과 Plate는 순간 접착제를 이용하여 결합한다. 이후에 기존의 ‘Franka Emika Gripper’의 Finger 부분에 볼트와 너트를 이용하여 조립한다.
<Figure 42> Gripper 조립 순서
그림 6는 기존의 Franka Emika Gripper이다. 제작한 Fingertip을 기존의 Fingertip과 교체하여 조립한다. 조립시에는 M6 규격의 볼트와 너트를 이용한다.
<Figure 43> Gripper 실제 조립된 모습
<Figure 44> Franka Emika Gripper
카메라 설치 및 고정을 위한 Camera Fixture는 ‘Franka Emika Gripper’의 Flange 부분에 결합한다. 그림 7의 1번은 Camera Fixture, 2번은 Flange, 3번은 Camera, 4번은 M6 bolt이다. Camera Fixture와 Flange를 bolt를 이용하여 결합하고 이후에 카메라를 고정하는 방식이다. Manipulator가 움직여도 흔들리지 않고 고정되어 있을 수 있도록 설계했다.
<Figure 45> Camera Fixture 조립도
<Figure 46> Camera Fixture 실제 조립된 모습

부품도

(공차는 모든 부품에서 3D printer의 수축률을 고려하여 1mm~2mm로 설정함) Gripper Plate (제작: 3D printing, 재질: PLA)

<Figure 47> Gripper Plate 3D modeling 및 도면도

Gripper Fingertip Mold (제작: 3D printing, 재질: PLA)

<Figure 48> Gripper Fingertip Mold 3D modeling

Mold를 이용하여 Girpper Fingertip을 실리콘 성형 및 제작

Gripper Fingertip (제작: Mold , 재질: 경도 30 저점도 부가형 실리콘)

<Figure 49> Gripper Finger tip 3D modeling 및 도면도

Camera Fixture (제작: 3D printing, 재질: PLA)

<Figure 50> Camera Fixture 3D modeling 및 도면도

소프트웨어 설계

1. 모바일 로봇이 문 앞까지 이동하는 단계
Navigation을 진행하기 위해 우선 ROS에서 제공하는 gmapping 패키지 이용하여 맵을 생성한다. scout_gazebo_sim 패키지를 이용하여 Gazebo 환경에서 velodyne VLP-16 라이다 플러그인을 설치한 scout 모델을 불러오고, teleop_twist_keyboard 패키지를 이용해 키보드 입력을 통해 시뮬레이터 환경에서 scout 로봇을 이동시킨다. Velodyne 라이다의 pointcloud 정보를 tf로 변환하기 위해 laser_scan_matcher 노드와 static_transform_publisher 노드를 사용하게 되는데, laser_scan_mathcer는 odom->baselink 사이의 tf 변환을 제공하고 static_transform_publisher는 baselink->velodyne 사이의 tf 변환을 제공한다. Gmapping은 map->odom 사이의 tf 변환을 제공함으로써 최종적으로 map_server 패키지를 이용하여 2D 맵 정보가 담긴 map.pgm과 map.yaml 파일을 생성한다.
<Figure 51> SLAM-gmapping 구조도
모바일 로봇의 Navigation을 위해 scout_navigation 패키지를 이용하였다. Navigation은 오도메트리(odometry), 상대위치변환(tfMessage), 거리 센서(sensor topics), 지도(map), 목적 좌표(move_base), 속도 명령(cmd_vel) 절차로 이루어진다. 이때 앞서 SLAM을 통해 얻은 map의 yaml 파일에 담긴 정보를 이용하게 된다.
<Figure 52> SLAM-navigation 구조도
2. 문 손잡이 인식 및 파지 단계 (실제 환경)
매니퓰레이터가 문 손잡이를 잡고 열기 위한 이동과정에 대한 설명은 다음과 같다.

아래는 이동 과정을 요약한 코드의 플로우 차트이다.

<Figure 53> 문 손잡이 인식 및 파지 - 플로우 차트
① ‘YOLO v5’
Realsense D435 카메라로부터 받은 이미지를 통해 문 손잡이를 인식하는 과정이다. 카메라에서 color 이미지를 저장한 뒤 yolov5 모델을 적용시킨다. 적용시킨 yolov5 모델은 약 200개의 문 손잡이 Dataset을 수집하여 학습을 진행하였다. 이때 원형 손잡이와 일자형 손잡이를 각각 라벨링하여 두 가지 문 손잡이 모두 인식할 수 있도록 학습시켰다. 손잡이의 중심 위치와 손잡이를 둘러싸는 바운딩박스의 x,y 크기정보 그리고 손잡이의 종류 정보를 얻는다. 해당 정보는 매니퓰레이터를 손잡이 근처로 이동시키는 과정, 정확하게 손잡이의 자세를 추정하는 과정에서 활용한다.
<Figure 54> YOLO 손잡이 인식 결과
② ‘find_next_xyz( )’
YOLO를 통해 매니퓰레이터의 말단부인 End-effector(EE)가 문 손잡이 앞으로 이동하는 과정에서 다음 이동할 위치를 정하는 함수이다. 카메라 상에서 YOLO로 인식한 문 손잡이에는 객체를 알리는 Bounding Box가 설정된다. 이 때, 카메라의 좌표계를 기준으로 Bounding Box의 위치를 얻을 수 있으며, 이는 곧 손잡이의 위치를 어느정도 추정할 수 있음을 의미한다. 향후 ICP 알고리즘을 적용하기 이전에 우선적으로 손잡이를 마주보는 위치에 이동하는 것을 목표로 한다. ICP를 진행하는 과정에서 depth 이미지를 활용하게 되는데, 이때 사용하는 카메라는 스테레오 카메라이다. 카메라로부터 손잡이까의 거리가 너무 가까운 경우 depth 값을 추정하지 못하는 지점들이 발생하기 때문에 카메라가 도달한 위치는 문 손잡이로부터 60cm 떨어지도록 설계하였다. 다만, 현재 EE의 위치로부터 잡힌 목표점으로 한 번에 가는 것이 아니라, 50퍼센트만 이동하고나서 다시 그 지점으로부터 YOLO를 통해 목표점을 잡고 다가가는 과정으로 진행된다. 이는 결국 일정 오차 이내로 수렴하게 되며, 최종적으로 손잡이를 정면으로 바라보는 위치에 놓일 수 있게 된다.
③ ‘move_to_next( )’
매니퓰레이터의 말단부인 End-effector(EE)의 다음 자세(next_EE_pose)로 특정 자세를 주고 이동명령을 주게 되면 매니퓰레이터는 급격한 속도를 내면서 이동 및 회전한다. 특히 목표점이 멀수록 순간 가속이 커지며, 이런 경우 주변 환경에 위협을 가할 수도 있고 매니퓰레이터가 위험으로 감지하고 스스로 락(Lock)을 걸어 멈춰버릴 위험이 있다. 이를 방지하기 위해서는 시작점과 목표점 사이에 거쳐갈 수 있는 점들을 생성한 경로를 주어 천천히 이동하게 할 수 있는데, 이것이 이 함수의 목적이다. 시작과 목표점 사이에 생성한 경로를 이동하여 목표점에 도달했을 시에는 잘 수렴했는지 확인을 위해 목표점과의 현재 EE의 위치를 파악하여 몇 초간 이동 시도를 계속하여 수렴성을 더 높인다. 이 함수는 YOLO를 통해 찾은 손잡이 근처 위치(YoloGoal)로 매니퓰레이터를 이동시키는 과정에서 사용된다.
<Figure 55> 손잡이에 수직한 정면 방향을 찾아가는 과정
④ ‘doICP( )’
카메라가 문 손잡이를 정면에서 찍을 수 있는 위치에 도달하면 문 손잡이의 정확한 위치와 자세를 추정하기 위해 ICP 과정을 진행한다. 카메라로부터 획득한 Depth 이미지에서 YOLO의 결과를 통해 얻은 손잡이 bounding box 내의 영역만을 가져와 point cloud로 변환시킨다. 한편 잡으려는 손잡이와 동일한 크기의 CAD 모델로부터 손잡이 모형의 point cloud를 획득한다. 이 두 point cloud를 같은 밀도를 가지도록 down sampling을 시킨 후 ICP 알고리즘을 적용한다. 해당 결과로는 카메라로부터 손잡이까지의 자세 및 위치 관계의 변환행렬을 얻을 수 있다. 아래 그림에서 노란색이 CAD 모델로부터 구한 point cloud, 파란색이 camera depth 정보로부터 구한 point cloud이다. 이때, YOLO에서 검출한 손잡이 형태가 원형인지 일자형인지에 대한 정보를 함께 얻을 수 있다. 따라서 해당 정보를 활용하여서 ICP 알고리즘에 넣을 CAD 모델을 선택한다.
<Figure 56> ICP 결과 (직선 손잡이, 원형 손잡이)
⑤ ‘move_to_handle( )’
이 함수는 말단부 EE가 YoloGoal에 도달한 후, 손잡이를 잡기 위해 정확히 손잡이 위치에 EE가 놓이게 되는 자세인 EE의 목표 자세(handle_pose_final)로 이동하게 하는 함수이다. 이동에 대한 방식은 ‘move_to_next’ 함수와 같지만, 그리퍼가 손잡이를 위아래로 파지하기 위해 90도 회전이 추가로 이루어진다. 이 회전 또한 급격한 회전을 방지하기 위해 step 별로 천천히 회전하게 구현되었다.
<Figure 57> 손잡이 파지를 위한 회전이동 과정
3. 문 열기 및 충돌없이 문 통과 단계 (시뮬레이션 환경)
아래의 과정은 문 손잡이를 잡고나서, 모바일 매니퓰레이터의 제어를 통해 충돌없이 문을 열고 문을 나가는 과정을 담고 있다. 이는 실제로의 구현을 위해 코드를 구성하였으나, 갑작스러운 모바일 로봇의 고장으로 인해 시뮬레이션으로 대체하기로 하였다. 시뮬레이션은 앞서 언급했듯이 GAZEBO 상에서 실제와 같은 상황을 가정하고 진행하였다.
매니퓰레이터 제어에 사용한 컨트롤러 코드는 ‘cartesian_impedance_example_controller’로 이미 구현되어 있는 예제 코드를 조금 변형하여 사용하였다.
<Figure 58> Scout 과 manipulator 제어기 사이 관계도
① ‘control panda’ 함수
Control panda는 판다 로봇에 제어 목표를 제공하는 함수이다. 이때 제어 목표는 equilibrium pose로 3차원 공간상의 한 점이다. 이 점이 임피던스 컨트롤러에 전달되게 되면, 판다는 임피던스 제어 방식을 이용해서 공간상의 한점으로 위치하게 된다. 공간상에서 trajectory를 연속적으로 추종하기위해 우선 미리 정해둔 경로에 대한 waypoint 집합을 생성해낸 뒤 차례대로 전달한다. 조건문을 통해 엔드이펙터가 목표 지점 일정 범위내에 진입해야 다음 목표점을 전달할 수 있도록 매 루프에서 거리오차를 지속적으로 확인하며 이 오차가 일정 범위 이내로 들어왔을 경우에만 다음 목표 점을 전달한다.
이 함수는 스카웃의 제어에 의해 base가 움직이게 되기 때문에 이에 해당하는 정보를 받아 base 계산을 하게 된다.
② ‘control scout’ 함수
Scout 제어의 경우 이전 개념설계안과 같이 엔드이펙터의 끝과 동적관계가 있다고 가정하였다. 이때 사용한 스카웃의 거동을 나타내기 위한 식은 위치 및 속도 오차로 인해 발생하는 오차를 스카웃이 내야하는 힘으로 모델링하는 동적 시스템 식을 사용하였다.
식은 𝐷𝑒 ̇+𝐾𝑒=𝐹,(𝑒=𝑠_𝑑−𝑠) 으로 가속도항은 포함시키지 않았다. 𝑒 ̇(속도 오차) = 0(목표 속도) – 현재 속도이며, 𝑒= 목표 위치 – 현재 위치이다. 이때 목표 위치란 미리 정해둔 엔드이펙터와의 적정 거리이며, 현재 속도 및 현재 위치는 gazebo에서 받아서 사용한다. 또한 속도와 위치 관계에 의해 표현되는 힘(F)을 다시 스카우트의 속도로 변환시켰으며, GAZEBO 시뮬레이터의 특성으로 인해 스카웃 속도를 전달하기위한 Velocity PID loop를 내부에 포함하게 되었다.

자재소요서

<Figure 59> 자재소요서

결과 및 평가

완료 작품의 소개

가. 프로토타입 사진 혹은 작동 장면

<Figure 60> 프로토타입

나. 포스터

<Figure 61> 포스터

다. 특허출원번호 통지서

<Figure 62> 출원번호통지서

개발사업비 내역서

<Figure 63> 개발사업비 내역서

완료작품의 평가

<Figure 63> 완료 작품의 평가

향후평가

위의 완성 작품의 평가에서 ‘동작 수행시간과 ‘손잡이 파지 및 회전 성공률’에서 아쉬운 결과를 내었다. 이는 모바일 로봇과 매니퓰레이터의 제어 측면에서 원하는 수렴도, 안정성 및 정확성을 얻지 못했기 때문이라 생각한다. 그렇기에 향후에는 기본적인 임피던스 제어기를 사용하는 것이 아니라 사용 목적에 맞게 직접 제작한 제어기로 수렴안정성을 얻을 수 있다고 생각한다.
추가로 모바일 로봇의 예상치 못한 고장으로 실제 실험을 구성하지 못한 점이 아쉽다고 생각하여 실제 실험을 진행하여 정확성을 확인해볼 것이다. 시뮬레이션에서 확인한 결과를 보았을 때는 실제로도 동작 구현이 잘될 것을 예상하나, 실제로는 다를 수 있다. 이에 실험을 다양하게 진행해보고 싶다. 또한 현재는 모바일 로봇이 앞뒤로만 움직이는 것에 대해서 진행하였지만, 모바일 로봇에 더욱 자유도를 주어 회전을 포함한 다양한 움직임을 가지며 문을 통과해나갈 수 있도록 구성해볼 것이다.
이 서비스 자체는 문을 여는 작업에 대해 진행하였다. 하지만 동작계획만 변화한다면 다양한 물체의 파지 등의 작업을 수행할 수 있기 때문에 확장가능성이 매우 크다고 생각한다. 더 깊은 연구를 통해 고도화하고 확장해볼 것이다.


부록

A-1 참고문헌 및 참고사이트
- Lee, Dong-Wook, Joong-Tae Park, and Jae-Bok Song. "Door detection with door handle recognition based on contour image and support vector machine." Journal of Institute of Control, Robotics and Systems 16.12 (2010): 1226-1232.
- Wang, Yang, Liming Wang, and Yonghui Zhao. "Research on Door Opening Operation of Mobile Robotic Arm Based on Reinforcement Learning." Applied Sciences 12.10 (2022): 5204.
- Ito, Hiroshi, et al. "Efficient multitask learning with an embodied predictive model for door opening and entry with whole-body control." Science Robotics 7.65 (2022): eaax8177.
- 모바일 매니퓰레이터의 정의 : https://en.wikipedia.org/wiki/Mobile_manipulator
- 제어 시스템 : “로봇 시스템 제어:Simulink 기반 시뮬레이션과 실험”, 정슬 지음.
- 패턴인식 참고 사이트 : https://ko.wikipedia.org/wiki/%ED%8C%A8%ED%84%B4_%EC%9D%B8%EC%8B%9D
- Yolo 참고 사이트 : https://blog.nerdfactory.ai/2021/05/06/You-Only-Look-Once.-YOLO.html
- Mask r-cnn 참고 사이트: https://arxiv.org/abs/1703.06870
- Hybrid a star : Dolgov, Dmitri, et al. “Practical search techniques in path planning for autonomous driving.” Ann Arbor 1001.48105 (2008): 18-80.
- Mobile path planning : Zhang, Han-ye, Wei-ming Lin, and Ai-xia Chen. "Path planning for the mobile robot: A review." Symmetry 10.10 (2018): 450.
- Hybrid a star : Dolgov, Dmitri, et al. “Practical search techniques in path planning for autonomous driving.” Ann Arbor 1001.48105 (2008): 18-80.
- Mobile path planning : Zhang, Han-ye, Wei-ming Lin, and Ai-xia Chen. "Path planning for the mobile robot: A review." Symmetry 10.10 (2018): 450.
- 그리퍼 motion planning: https://hellot.net/mobile/article.html?no=66257
- 그리퍼 동향 : https://www.materic.or.kr/community/board/content.asp?board_idx=1034&idx=179819
- 히타치 : Efficient multitask learning with an embodied predictive model for door opening and entry with whole-body control | Science Robotics , 로봇에 심부름 시킬 때 문 열어둘 필요 없다 - 조선일보 (chosun.com)
- 스팟(spot): 로봇 개 '스팟', 미국서 '9천만원'에 첫 판매 시작 - 로봇신문사 (irobotnews.com) , 방해해도 꿋꿋이 문열고 나가...보스턴 다이내믹스 '스팟미니' : 네이버 블로그 (naver.com) , New dog-like robot from Boston Dynamics can open doors - YouTube


A-2 관련특허
a. 부라더 고교 가부시키가이샤. 로보트를 사용한 도어개폐제어장치 -1019920013869-(1992.08.01)
b. 한국전자통신연구원. 이동 로봇 장치와 문 제어 장치 및 그 문 개폐 방법 -1020100133405-(2010.12.23)
c. Sang Seung KANG Electronics and Telecommunications Research Institute Jae Hong KIM Joo Chan SOHN Chan Kyu PARK. Mobile Robot Apparatus, Door Control Apparatus, and Door Opening and Closing Method Therefor. 13324038 (2011.12.13)
d. SHENZHEN CITY SILVER STAR INTELLIGENT POLYTRON TECHNOLOGIES INC. Door Position Recognition Method and Mobile Robot. 201910511122.X (2019.06.13)