[Circle Hunting Robotic Arm] 이미지 프로세싱을 이용한 원형판별 로봇팔

작성자
문영진
작성일
2020-11-28 22:20
조회
1588

이미지 프로세싱을 이용한 원형판별 로봇팔

Circle Hunting Robotic Arm 팀 (문영진, 박재현, 정유한)

이미지 프로세싱을 이용한 원형 물체 판별 로봇팔, [Circle Hunting Robotic Arm]은 여러 물체 중에서 원하는 물체만을 찾아서 원하는 위치로 이동시키도록 만든 장치입니다. 카메라 모듈로부터 물체들의 상을 가져오고 Opencv를 이용해 여러 물체 중 원형 물체만을 인식하게 됩니다. 그리고 인식한 그 원형 물체만을 타겟해서 움직입니다.

 

작동법 개요



카메라가 로봇 팔의 가동범위 내에 있는 물체들을 촬영합니다.  촬영한 영상 속 이미지 프레임마다 Opencv로 원형 판별을 하고 해당 원형 물체의 중심 좌표를 라즈베리파이에 전달하게 됩니다. 라즈베리파이에서 각도와 거리 계산을 통한 모터들의 움직일 각을 찾아낸 뒤 각도에 맞게 서보모터를 작동시킵니다.

 

하드웨어

오픈소스를 활용, Autodesk Inventor을 이용해 보다 안정적인 구조로 설계한 후 교내 런닝팩토리에 구비된 3D프린터 Cubicon 360F를 통해 3D프린팅 후, 조립하였습니다.

좌우로 돌리는 하단부에 모터1

가장 힘이 많이 받는 관절에 모터2, 모터3(동시작동)

나머지 관절들의 모터4, 모터5

그리퍼 부분의 모터6

총 6개의 모터를 사용하였습니다.


그리퍼 부분은 두개의 래크(직선 톱니)와 피니언(톱니바퀴)을 이용해 한개의 모터로 구현했습니다.

 

소프트웨어

Raspberry Pi를 이용하여 아래와 같은 알고리즘으로 장치가 실행되도록 코딩하였습니다.(Using C/C++)

서보모터 제어 라이브러리로 WiringPi 라이브러리 대신 Pigpio 라이브러리를 이용해 모터 떨림을 없애 오차를 최소화 하였습니다.

오류 발생시 모터 오작동으로 인한 부품 파손을 막기 위해 모터를 움직이지 않고 다시 대기 위치로 이동한 후, 오류 출력 및 원 검출단계도 돌아가도록

설계하였습니다.





SSH 원격 명령으로 라즈베리파이를 제어합니다.



Raspicam을 이용해 라즈베리파이 카메라모듈(v2 camera)로 영상을 촬영하고 Opencv에서 하프원 검출방식을 이용해 원을 판별합니다.

검출 과정 중 사물의 움직임으로 인한(손을 넣었다 빼는 등) 검출 오작동을 방지하기 위해  프레임 간 검출 값 비교를 통해 검출 값이 동일한 원만을 타겟으로 하고 판별한 원의 정보를 전달합니다.



Opencv를 통해 얻게 된 원의 정보(x,y좌표값, 반지름값)를 기반으로 위와 같은 계산 과정을 통해 모터들이 움직여야 할 각도를 계산하고 모터를 작동시켜

물체를 집은 뒤, 특정 위치에 물체를 놓습니다.

 

시연영상

전체 0