KR20240096989A - 로봇에 부착된 센서를 이용한 물체 자세 추정 방법 - Google Patents

로봇에 부착된 센서를 이용한 물체 자세 추정 방법 Download PDF

Info

Publication number
KR20240096989A
KR20240096989A KR1020220178116A KR20220178116A KR20240096989A KR 20240096989 A KR20240096989 A KR 20240096989A KR 1020220178116 A KR1020220178116 A KR 1020220178116A KR 20220178116 A KR20220178116 A KR 20220178116A KR 20240096989 A KR20240096989 A KR 20240096989A
Authority
KR
South Korea
Prior art keywords
robot
vision sensor
marker
information
floor
Prior art date
Application number
KR1020220178116A
Other languages
English (en)
Inventor
황순웅
김학민
Original Assignee
김학민
Filing date
Publication date
Application filed by 김학민 filed Critical 김학민
Publication of KR20240096989A publication Critical patent/KR20240096989A/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Abstract

본 발명은 로봇에 부착된 센서를 이용한 물체 자세 추정 장치 및 방법에 관한 것으로서, 본 발명의 실시예에 따른 로봇에 부착된 센서를 이용한 물체 자세 추정 방법은, 로봇에 부착되는 3차원 비전 센서를 이용해 로봇이 파지하려는 물체가 놓인 바닥면상의 마커를 촬영한 촬영 이미지 내의 마커를 근거로 3차원 비전 센서와 바닥면을 수평하게 유지시키는 단계, 및 수평을 유지한 상태에서 감지되는 물체의 윤곽을 이용해 무게 중심점을 획득하고, 획득한 무게 중심점 및 3차원 비전 센서에서 바닥면에 대한 수직 벡터를 근거로 로봇의 Z축 방향(Yaw)의 회전값을 획득하며, 획득한 무게 중심점 및 회전값을 근거로 물체를 파지하기 위한 로봇의 위치정보(X, Y, Z) 및 회전정보(Roll, Pitch, Yaw)의 6자유도 정보를 도출하는 단계를 포함할 수 있다.

Description

로봇에 부착된 센서를 이용한 물체 자세 추정 방법{Method for Estimating Object Posture Using Sensor Attached to Robot}
본 발명은 로봇에 부착된 센서를 이용한 물체 자세 추정 장치 및 방법에 관한 것으로서, 더 상세하게는 가령 산업용이나 협동 로봇을 이용해 물체를 집어 올리고 원하는 위치에 내려놓기 위해 로봇에 부착된 RGBD 센서 등의 3차원 비전 센서를 이용하여 물체의 6자유도 자세를 추정하는 알고리즘이 적용된 로봇에 부착된 센서를 이용한 물체 자세 추정 장치 및 방법에 관한 것이다.
현재 로봇을 이용한 자동화 시스템의 개발이 활성화되고 있으며, 이를 현장에 적용하여 작업 효율을 개선시킴과 아울러 인건비 절감을 도모하고 있다. 이러한 로봇들 중에서 피킹 로봇(picking robot)은 제조업이나 물류 관리업 등과 같은 다양한 업종에 필수적인 로봇으로서, 이러한 피킹 로봇은 작업 대상물의 분류나 공정 이동 등과 같은 다양한 작업에 적용될 수 있어 효용 가치가 높은 로봇에 속한다. 현재 피킹 로봇을 이용한 자동화 시스템은 대부분 로봇이 위치한 영역에 인접하여 고정 배치된 하나 이상의 카메라를 토대로 파지 대상물의 상태를 촬영하고, 파지 대상물을 촬영하여 생성된 영상을 서버에서 분석하여 파지 대상물의 배치와 자세 등을 파악한 후 피킹 로봇을 제어하여 해당 파지 대상물을 잡도록 하고 있다.
기존의 로봇 작업 방법 중에는 고정된 위치에 2D 비전 센서를 설치하여 정형화된 환경에서 평면 즉 바닥에 놓여있는 물체의 위치를 파악하는 방식을 많이 사용하고 있으며, 최근에는 딥러닝을 이용하여 물체의 자세를 파악하는 방식도 많이 사용하고 있는 추세이다.
그런데, 종래의 2D 비전 센서를 이용하는 방법은 고정된 환경이라는 단점을 가지고 있으며, 또 딥러닝 방법은 최신 연구 동향이기는 하나 중소기업에서 물체를 학습시키고 적용할 연구인력과 시간이 부족하여 공정에 바로 적용하기에는 어려운 문제가 있다. 이에 스마트한 공정을 위해 좀더 유연한 솔루션의 필요성이 제기되고 있다.
한국등록특허공보 제10-2423490호(2022.07.18) 한국등록특허공보 제10-2432370호(2022.08.09) 한국등록특허공보 제10-2446930호(2022.09.20)
본 발명의 실시예는 가령 산업용이나 협동 로봇을 이용해 물체를 집어 올리고 원하는 위치에 내려놓기 위해 로봇에 부착된 RGBD 센서 등의 3차원 비전 센서를 이용하여 물체의 6자유도 자세를 추정하는 알고리즘이 적용된 로봇에 부착된 센서를 이용한 물체 자세 추정 장치 및 방법을 제공함에 그 목적이 있다.
본 발명의 실시예에 따른 로봇에 부착된 센서를 이용한 물체 자세 추정 방법은, 로봇에 부착되는 3차원 비전 센서를 이용해 상기 로봇이 파지하려는 물체가 놓인 바닥면상의 마커(marker)를 촬영한 촬영 이미지 내의 상기 마커를 근거로 상기 3차원 비전 센서와 상기 바닥면을 수평하게 유지시키는 단계, 및 상기 수평을 유지한 상태에서 감지되는 상기 물체의 윤곽(contour)을 이용해 무게 중심점을 획득하고, 상기 획득한 무게 중심점 및 상기 3차원 비전 센서에서 상기 바닥면에 대한 수직 벡터를 근거로 상기 로봇의 Z축 방향(Yaw)의 회전값을 획득하며, 상기 획득한 무게 중심점 및 상기 회전값을 근거로 상기 물체를 파지하기 위한 상기 로봇의 위치정보(X, Y, Z) 및 회전정보(Roll, Pitch, Yaw)의 6자유도 정보를 도출하는 단계를 포함한다.
상기 수평하게 유지시키는 단계는, 상기 마커를 근거로 상기 바닥면에 대한 상기 3차원 비전 센서의 틀어짐 정도를 판단하는 단계, 및 상기 판단한 틀어짐 정도가 반영된 상기 3차원 비전 센서의 회전 정보(Roll, Pitch, Yaw)를 생성해 상기 3차원 비전 센서의 자세를 제어하는 단계를 포함할 수 있다.
상기 틀어짐 정도를 판단하는 단계는, 상기 3차원 비전 센서를 통해 취득되는 깊이(Depth) 이미지와 RGB 이미지의 해상도가 상이한 경우, 해상도를 서로 일치시키는 단계, 및 상기 해상도를 일치시킬 때 생성되는 캘리브레이션 정보를 이용하여 상기 이미지의 외곽부분의 왜곡 현상을 보정하는 단계를 포함할 수 있다.
상기 수평하게 유지시키는 단계는, 상기 촬영 이미지 내에서 상기 마커로서 2차원 비트 패턴과 상기 패턴을 둘러싸는 검은색 테두리 영역을 구성되는 아루코 마커(ArUco marker)를 인식하는 단계를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 로봇에 부착된 센서를 이용한 물체 자세 추정 장치는, 로봇에 부착되는 3차원 비전 센서를 이용해 상기 로봇이 파지하려는 물체가 놓인 바닥면상의 마커가 촬영된 촬영 이미지를 수신하는 통신 인터페이스부, 및 상기 수신한 촬영 이미지 내의 상기 마커를 근거로 상기 3차원 비전 센서와 상기 바닥면을 수평하게 유지시킨 상태에서 감지되는 상기 물체의 윤곽을 이용해 무게 중심점을 획득하고, 상기 획득한 무게 중심점 및 상기 3차원 비전 센서에서 상기 바닥면에 대한 수직 벡터를 근거로 상기 로봇의 Z축 방향(Yaw)의 회전값을 획득하며, 상기 획득한 무게 중심점 및 상기 회전값을 근거로 상기 물체를 파지하기 위한 상기 로봇의 위치정보(X, Y, Z) 및 회전정보(Roll, Pitch, Yaw)의 6자유도 정보를 도출하는 제어부를 포함한다.
상기 제어부는, 상기 수평을 유지하기 위해 상기 마커를 근거로 상기 바닥면에 대한 상기 3차원 비전 센서의 틀어짐 정도를 판단(혹은 추정)하며, 상기 판단한 틀어짐 정도가 반영된 상기 3차원 비전 센서의 회전 정보(Roll, Pitch, Yaw)를 생성해 상기 3차원 비전 센서의 자세를 제어할 수 있다.
상기 제어부는, 상기 틀어짐 정도를 판단하기 위해 상기 3차원 비전 센서를 통해 취득되는 깊이(Depth) 이미지와 RGB 이미지의 해상도가 상이한 경우, 해상도를 서로 일치시키며, 상기 해상도를 일치시킬 때 생성되는 캘리브레이션 정보를 이용하여 상기 이미지의 외곽부분의 왜곡 현상을 보정할 수 있다.
상기 제어부는, 상기 수평하게 유지시키기 위해 상기 촬영 이미지 내에서 상기 마커로서 2차원 비트 패턴과 상기 패턴을 둘러싸는 검은색 테두리 영역을 구성되는 아루코 마커를 인식할 수 있다.
본 발명의 실시예에 따르면 기존의 고정된 환경에서 물체의 위치정보를 얻는 것보다 유연하게 로봇의 작업이 이루어질 수 있으며, 또 종래 딥러닝을 사용하기 위해 필요한 무수히 많은 데이터의 확보와 학습 시간이 필요하지 않아 연구 인력이 부족한 중소기업에서 사용하기에 용이할 수 있다.
도 1은 본 발명의 실시예에 따른 물체의 6자유도 자세 추정이 적용되는 로봇 장치를 나타내는 도면,
도 2는 도 1의 로봇 장치의 세부구조를 예시한 블록다이어그램,
도 3은 본 발명의 실시예에 따른 로봇에 부착된 RGBD 센서를 이용한 물체 자세 추정 방법의 흐름도,
도 4a 내지 도 4e는 도 3의 각 단계의 이해를 돕기 위해 첨부하는 사진,
도 5는 본 발명의 실시예에 따른 물체 자세 추정 장치의 구동과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 물체의 6자유도 자세 추정이 적용되는 로봇 장치를 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇장치(100)는 바디부, 로봇암, 로봇핑거부, 3차원 비전 센서(111) 및 제어장치의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 3차원 비전 센서(111)와 같은 일부 구성요소가 생략되어 로봇장치(100)가 구성되거나, 3차원 비전 센서(111)와 같은 일부 구성요소가 로봇핑거부나 로봇암과 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
도 1에서 볼 때, 로봇장치(100)의 바디부, 로봇암이나 핑거부 등은 기존에 공지되어 있는 로봇들과 크게 다르지 않으므로, 자세한 설명은 생략하도록 한다. 다만, 본 발명의 실시예에 따른 로봇장치(100)는 바디부나 로봇암 등을 X축, Y축, Z축으로 3자유도의 위치 이동이 가능하며, 또 각 축에 대하여 롤(Roll), 피치(Pitch) 및 요우(Yaw)의 3자유도의 회전이 가능하다는 것이다. 이에 따라 6자유도의 자세 제어가 얼마든지 가능할 수 있다. 본 발명의 실시예에서는 물체의 위치에 대한 정보를 사전에 가지고 있지 않은 상태에서 3차원 비전 센서(111)를 이용해 로봇의 6자유도 자세 제어를 추정하여 추정 결과를 근거로 물체를 정확히 파지하여 원하는 위치에 내려놓기 위한 기술이라고 볼 수 있다.
3차원 비전 센서(111)는 RGBD 센서라 명명될 수 있으며, 3차원 카메라가 될 수도 있다. 본 발명의 실시예에서는 물체의 위치에 대한 정보를 사전에 가지고 있지 않은 상태에서 3차원 비전 센서(111)를 통해 취득되는 촬영 이미지 내의 마커를 이용하여 물체의 자세 즉 물체를 파지하기 위한 로봇의 자세를 정확히 추정한다고 볼 수 있다. 3차원 비전 센서(111)는 도 1에서 볼 수 있는 바와 같이 바닥에 있는 물체를 촬영하여 촬영 이미지를 획득할 수 있으며, 이때 CCD 카메라와 같이 RGB 센서를 통해서는 물체에 대한 R, G, B의 화소로 이루어지는 RGB 이미지를 취득할 수 있으며, 깊이 센서를 통해서는 물체에 대한 깊이(depth) 정보 또는 이미지를 얻을 수 있다.
가령 3차원 비전 센서(111)는 3개의 안구렌즈를 갖추고 있어 3개의 방향에서 물체의 위치를 확인하는 게 가능할 수도 있다. 복수의 센서를 설치해 물체의 위치 정확도를 높이는 게 일반적이지만, 안구렌즈를 여러 개 갖추는 형태로 구성될 수도 있다. 이에 따라 로봇을 대상으로 동작을 가르치는 티칭 즉 교시 작업이 필요없게 되는 것이다. 또한 일반적인 비전 센서는 단일 상품을 대상으로 분류하는 작업을 하는 게 주 목적이지만, 3차원 비전 센서(111)는 잡다한 상품이 섞여 있는 피킹 작업에 유용할 수 있다. 본 발명의 실시예에 따른 3차원 비전 센서(111)는 일본 무진(MUJIN)사의 제품 등 다양한 제품이 사용될 수 있으므로, 본 발명의 실시예에서는 어느 하나의 형태에 특별히 한정하지는 않을 것이다.
한편, 제어장치는 로봇장치(100)의 내부에 구성되는 메인 PCB나 회로기판상에 구성되는 CPU나 MPU 등의 프로세서를 포함할 수 있다. 물론 제어장치는 CPU나 MPU 이외에 그 주변회로들을 더 포함할 수도 있다. 제어장치는, 3차원 비전 센서(111)를 통해 취득되는 물체의 이미지를 근거로 물체의 위치로 로봇의 바디나 로봇암을 위치 이동시켜 물체를 파지하여 지정된 위치로 이동시키기 위하여 동작할 수 있다. 다만, 본 발명의 실시예에서는 물체의 위치에 대한 정보를 사전에 가지고 있지 않은 상태에서 물체를 정확히 파지하기 위한 자세를 추정해야 하므로, 3차원 비전 센서(111)에서 제공하는 RGB 이미지나 뎁스 이미지를 이용하여 물체를 정확히 파지하기 위한 자세를 추정하는 동작을 수행할 수 있다.
산업용이나 협동 로봇을 이용해 물체를 집어 올리고 원하는 위치에 내려놓기 위해 로봇에 부착된 3차원 비전 센서(111)로서 RGBD 센서를 이용하여 물체의 6자유도 자세를 추정할 수 있다. 산업용 혹은 협동 로봇이 물체를 잡기 위해서는 로봇의 좌표계를 기준으로 물체 위치와 방향을 알기 위한 좌표값인 최대 6자유도(예: 위치 3자유도: X, Y, Z, 회전 3자유도: Roll, Pitch, Yaw)의 정보가 필요하다.
따라서, 본 발명의 실시예에 따른 로봇장치(100) 또는 제어장치는, 물체의 위치에 대한 정보를 사전에 가지고 있지 않은 상태에서 물체의 자세를 추정하기 위하여 RGBD 센서를 이용하여 물체가 놓여 있는 평면 즉 바닥면에 붙어 있는 아루코 마커(Aruco Marker) 등의 기준 마커를 인식하여 RGBD 센서로부터 물체가 놓여있는 평면이 얼마나 틀어져 있는지를 먼저 추정(혹은 판단)할 수 있다. 이어 로봇장치(100)는 그 추정한 틀어짐 정도의 정보를 근거로 로봇에 부착되어 있는 RGBD 센서와 물체가 놓여있는 평면 즉 바닥면이 평행(혹은 수평)이 되도록 역기구학(Inverse Kinematics)을 이용하여 평행하게 만든다. RGBD 센서와 바닥면이 수평을 이룬 상태에서 로봇장치(100)는 RGBD 센서로 물체의 윤곽(contour)을 찾아 물체의 무게 중심점을 찾아내고, PCA(Principal Component Analysis)를 이용하여 평면 즉 바닥면에 대한 수직한 벡터를 근거로 요우 방향의 회전값을 도출할 수 있다. 이와 같은 과정을 통하여 최종적으로 물체를 파지할 수 있는 정보를 모두 도출하게 된다.
물론 도 1의 로봇장치(100)는 3차원 비전 센서(111)를 이용해 취득되는 이미지상에서의 6자유도 정보와, 실제 3차원 공간에서 물체가 위치하는 곳의 6자유도 정보에는 차이가 있을 수도 있다. 이를 위해 이미지상의 픽셀(또는 화소)(pixel)당 기설정되어 있는 실제 거리의 값을 대입하게 되면, 촬영 이미지를 통해 얻은 위치값과 회전값을 실제 물체가 놓이는 3차원 공간에서의 위치값과 회전값으로 변환할 수 있게 되고, 이를 통해 로봇장치(100)의 자세를 제어하여 물체를 정확히 파지해 원하는 위치로 옮겨 놓을 수 있게 되는 것이다. 예를 들어, 화소당 실제 거리의 값이 10㎝라면, 10 픽셀의 거리는 실제 거리가 1m가 되는 것이다.
물론 본 발명의 실시예에서는 로봇장치(100)의 6자유도 자세 추정을 위한 기준 마커를 사용하는 것을 예시하였지만, 별도의 마커를 사용하지 않더라도 물체의 주변에 위치하여 촬영 이미지에 포함되는 다양한 대상을 기준으로 할 수도 있으므로, 본 발명의 실시예에서는 Aruco Marker 등을 사용하는 것에 특별히 한정하지는 않을 것이다. ArUco marker는 기준 마커 중 한가지로 n × n 크기의 2차원 비트 패턴과 이를 둘러싸고 있는 검은색 테두리 영역으로 구성되어 있다. 검은색 테두리 영역은 마커를 빨리 인식하기 위한 것이며, 내부의 2차원 비트 패턴은 흰색 셀과 검정색 셀의 조합으로 마커의 고유 ID를  표현한 것으로 마커를 식별하는 데 사용된다.
도 2는 도 1의 로봇장치의 세부구조를 예시한 블록다이어그램이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 로봇장치(100)는 동작부(200), 3차원 비전 센서부(210), 제어부(220), 물체자세추정부(230) 및 저장부(240)의 일부 또는 전부를 포함한다.
여기서, "일부 또는 전부를 포함한다"는 것은 저장부(240)와 같은 일부 구성요소가 생략되어 로봇장치(100)가 구성되거나, 물체자세추정부(230)와 같은 일부 구성요소가 제어부(220)와 같은 다른 구성요소에 통합되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
동작부(200)는 로봇장치(100)를 구성하는 로봇바디나 로봇암 등을 포함할 수 있다. 동작부(200)는 제어부(220)의 제어하에 6자유도의 동작을 수행할 수 있다. 다시 말해, 동작부(200)는 X, Y, Z축 방향으로 이동이 가능할 뿐 아니라, 각 축에 대하여 회전 동작이 가능할 수 있다. 물론 이러한 6자유도의 동작은 물체가 놓이는 바닥면에 대하여 로봇장치(100)가 수평을 유지한 상태에서 물체의 위치에서 정확히 물체를 파지하여 원하는 위치에 내려놓기 위한 것이라 볼 수 있다.
3차원 비전 센서부(210)는 앞서 도 1을 통해 충분히 설명한 바 있지만, 로봇장치(100)의 로봇암이나 핑거부의 주변에 구비될 수 있으며, 물체를 파지하기 전에 바닥면에 놓인 물체를 정확하게 파지하기 위해 자세를 추정하고, 그 추정에 따른 6자유도의 위치정보와 회전정보를 생성하도록 동작할 수 있다. 물론 이를 위하여 3차원 비전 센서부(210)는 물체의 바닥면에 있는 마커를 촬영하여 촬영 이미지를 제어부(220)로 제공할 수 있다. 또한, 3차원 비전 센서부(210)는 물체가 놓인 바닥면에 대하여 수평을 유지한 상태에서 다시 물체를 촬영 또는 감지하여 물체의 윤곽을 파악할 수 있도록 촬영 이미지나 감지 관련 데이터를 제어부(220)로 제공할 수도 있다.
무엇보다 3차원 비전 센서부(210)는 로봇의 어느 부위에 부착되는지에 따라 실제 물체를 파지하는 핑거와의 거리나 방향의 오차에 대한 보정이 이루어져야 하는 것은 분명하다. 다시 말해, 본 발명의 실시예에 따라 추정되는 6자유도 정보가 3차원 비전 센서부(210)의 위치를 기준으로 하는 것이라면, 물론 핑거부의 위치에 3차원 비전 센서부(210)가 구성되는 경우에는 예외일 수 있지만, 물체의 정확한 파지를 위해서는 센서부의 위치와 실제 물체를 파지하는 핑거부간 거리나 방향 정보를 반영하여 기생성된 6자유도 정보를 보정하는 것이 바람직하다. 이는 당업자에게 자명할 수 있으므로 더 이상의 설명은 생략하도록 한다.
제어부(220)는 도 2의 동작부(200), 3차원 비전 센서부(210), 물체자세추정부(230) 및 저장부(240)의 전반적인 제어 동작을 담당한다. 대표적으로 제어부(220)는 3차원 비전 센서부(210)에서 제공하는 마커를 포함하는 촬영 이미지를 분석하여 3차원 비전 센서부(210)의 RGBD 센서가 바닥면에 대하여 얼마나 틀어져 있는지 틀어짐 정도를 추정하도록 물체자세추정부(230)에 해당 촬영 이미지의 데이터를 제공할 수 있다. 이에 따라 물체자세추정부(230)에서 틀어짐 정도의 추정과 관련해서 RGBD 센서의 회전 동작을 제어하기 위한 회전값(Roll, Pitch, Yaw)을 제공하면 제어부(220)는 이를 근거로 3차원 비전 센서부(210)의 자세를 제어할 수 있다. 여기서, 3차원 비전 센서부(210)를 제어한다는 것은 로봇장치(100)의 핑거(부)를 회전 즉 자세 제어를 하는 것으로 이해될 수도 있을 것이다.
또한, 제어부(220)는 RGBD 센서를 바닥면에 대하여 수평하게 유지한 상태에서 물체를 촬영하여 취득되는 촬영 이미지나 물체의 감지와 관련한 데이터를 물체자세추정부(230)에 제공할 수 있다. 이를 통해 물체자세추정부(230)에서 물체의 윤곽을 통해 무게 중심점을 찾고 또 그 무게 중심점과 바닥면에 대한 수직 벡터를 근거로 바닥면에 놓인 물체에 대한 위치정보(X, Y, Z)와 회전정보(Roll, Pitch, Yaw)를 생성해 주면, 제어부(220)는 해당 6자유도의 정보를 이용해 로봇바디나 로봇암 등의 동작부(200)를 제어하여 바닥에 놓인 물체를 정확히 파지해 원하는 위치에 내려 놓을 수 있게 되는 것이다.
물체자세추정부(230)는 본 발명의 실시예에 따라 로봇이 물체를 파지(pick)하고 특정 위치에 내려놓는(place) 작업을 위한 물체의 6자유도 자세 추정 동작을 수행할 수 있다. 이를 위하여 물체자세추정부(230)는 RGBD 센서를 이용하여 물체가 놓여있는 평면에 붙어 있는 Aruco Marker를 인식하여 RGBD 센서로부터 물체가 놓여있는 평면 즉 바닥면이 얼마나 틀어져 있는지 추정하고, 또 로봇에 부착되어 있는 RGBD 센서와 물체가 놓여있는 평면이 평행이 되도록 역기구학을 이용하여 평행하게 만들도록 하며, RGBD 센서로 물체의 윤곽을 찾아 물체의 무게 중심점을 찾아내고, PCA를 이용하여 평면에 수직한 벡터에 대해 회전(예: Yaw 방향) 값을 도출한다. 이와 같은 과정을 통하여 최종적으로 물체를 파지할 수 있는 정보를 모두 도출하여 제어부(220)에 제공할 수 있다.
물론 물체자세추정부(230)는 이이 과정에서 촬영 이미지를 통해 비전 좌표계를 기준으로 하는 6자유도 정보를 생성하였다면 실제 환경에서의 6자유도 정보로 변환하는 동작을 추가로 수행할 수도 있다. 예를 들어, 물체자세추정부(230)는 RGBD 센서의 해상도를 근거로 화소당 실제 환경에서의 거리값을 기설정할 수 있다. 예를 들어 화소당 실제 환경의 거리가 10㎝라고 가정하면, 10 픽셀은 실제 환경에서 1m에 해당할 수 있는 것이다. 이와 같이, 물체자세추정부(230)는 로봇장치(100)가 실환경에서 물체를 파지하여 특정 위치에 내려놓을 수 있도록 실환경에서의 값으로 변환하여 제어부(220)에 제공할 수 있을 것이다.
저장부(240)는 제어부(220)의 제어하에 처리되는 다양한 유형의 데이터를 임시 저장할 수 있다. 저장부(240)는 3차원 비전 센서부(210)에서 RGB 이미지와 뎁스 이미지가 제공될 때 제어부(220)의 제어하에 이에 대한 화소 데이터를 임시 저장한 후 물체자세추정부(230)로 제공할 수 있다.
상기한 내용 이외에도 도 2의 동작부(200), 3차원 비전 센서부(210), 제어부(220), 물체자세추정부(230) 및 저장부(240)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로, 그 내용들로 대신하고자 한다.
본 발명의 실시예에 따른 도 2의 동작부(200), 3차원 비전 센서부(210), 제어부(220), 물체자세추정부(230) 및 저장부(240)는 서로 물리적으로 분리된 하드웨어 모듈로 구성되지만, 각 모듈은 내부에 상기의 동작을 수행하기 위한 소프트웨어를 저장하고 이를 실행할 수 있을 것이다. 다만, 해당 소프트웨어는 소프트웨어 모듈의 집합이고, 각 모듈은 하드웨어로 형성되는 것이 얼마든지 가능하므로 소프트웨어니 하드웨어니 하는 구성에 특별히 한정하지 않을 것이다. 예를 들어 저장부(240)는 하드웨어인 스토리지(storage) 또는 메모리(memory)일 수 있다. 하지만, 소프트웨어적으로 정보를 저장(repository)하는 것도 얼마든지 가능하므로 위의 내용에 특별히 한정하지는 않을 것이다.
한편, 본 발명의 다른 실시예로서 제어부(220)는 CPU 및 메모리를 포함할 수 있으며, 원칩화하여 형성될 수 있다. CPU는 제어회로, 연산부(ALU), 명령어해석부 및 레지스트리 등을 포함하며, 메모리는 램을 포함할 수 있다. 제어회로는 제어동작을, 그리고 연산부는 2진비트 정보의 연산동작을, 그리고 명령어해석부는 인터프리터나 컴파일러 등을 포함하여 고급언어를 기계어로, 또 기계어를 고급언어로 변환하는 동작을 수행할 수 있으며, 레지스트리는 소프트웨어적인 데이터 저장에 관여할 수 있다. 상기의 구성에 따라, 가령 로봇장치(100)의 동작 초기에 물체자세추정부(230)에 저장되어 있는 프로그램을 복사하여 메모리 즉 램(RAM)에 로딩한 후 이를 실행시킴으로써 데이터 연산 처리 속도를 빠르게 증가시킬 수 있다. 딥러닝 모델 같은 경우 램(RAM)이 아닌 GPU 메모리에 올라가 GPU를 이용하여 수행 속도를 가속화하여 실행될 수도 있다.
도 3은 본 발명의 실시예에 따른 로봇에 부착된 RGBD 센서를 이용한 물체 자세 추정 방법의 흐름도이며, 도 4a 내지 도 4e는 도 3의 각 단계의 이해를 돕기 위한 사진이다.
설명의 편의상 도 3 내지 도 4e를 도 2와 함께 참조하면, 본 발명의 실시예에 따른 도 2의 물체자세추정부(혹은 물체자세추정장치)(230)(이하, 물체자세추정장치로 설명함)는 RGBD 센서의 3차원 비전 센서(111)를 통해 촬영되는 뎁스(depth) 이미지와 RGB 이미지의 해상도가 상이한 경우 서로 일치시켜주고 비전의 캘리브레이션 정보를 가져와 이미지 외곽 부분의 왜곡 현상을 보정하여 이미지를 최적화하는 동작을 수행할 수 있다(S300, S310).
또한, 물체자세추정장치는 도 4a에 도시된 바와 같이 Aruco marker 인식 및 비전 좌표계 기준 Marker의 좌표(X, Y, Z, Roll, Pitch, Yaw)를 추정한다(S320). 촬영 이미지를 이용해 이미지의 비전 좌표계의 값으로 먼저 6자유도 정보를 생성한다고 볼 수 있다.
이어 물체자세추정장치는 도 4b에 도시된 바와 같이, Aruco Marker의 방향(Roll, Pitch, Yaw) 값을 로봇 즉 제어부(220)에 전달하여 역기구학(Inverse Kinematics)(혹은 기설정된 프로그램 등)를 이용하여 비전 이미지와 Marker가 있는 평면 즉 바닥면이 평행이 되도록 한다(S330). 이를 위하여 제어부(220)는 도 1의 3차원 비전 센서(111)나 도 2의 3차원 비전 센서부(210)의 자세를 제어해 물체가 놓이는 바닥면과 수평을 유지하도록 할 수 있다.
또한, 물체자세추정장치는, 도 4c에서와 같이 비전 이미지와 물체가 있는 평면 즉 바닥면이 평행(혹은 수평)이 되도록 한 후 물체의 윤곽을 통해 중심점을 획득한다(S340). 물론 이의 과정에서 촬영 이미지를 활용할 수도 있지만, RGBD 센서를 바닥면과 수평하게 유지하는 경우 물체는 감지될 수 있으므로, 촬영이미지의 형태가 아니더라도 중심점을 획득하는 것이 얼마든지 가능할 수 있을 것이다. 예를 들어, 카메라의 셔터를 누르지는 않지만, 렌즈에 잡히는 모습에서 중심점을 찾는 것과 유사할 수 있다.
그리고 물체자세추정장치는 도 4d에서와 같이 PCA(혹은 기설정된 프로그램 등)를 사용하여 물체의 회전정보를 획득한다(S350, S360). 물론 이의 과정에서 물체자세추정장치는 RGBD 센서에서 바닥면에 대한 수직 벡터를 생성하여 이를 근거로 중심점까지의 Z축 방향의 회전값(Yaw)을 얻을 수 있다. 즉 RGBD 센서를 기준으로 수직 벡터와 중심점 사이의 각도(θ)가 회전값이 될 수 있는 것이다.
마지막으로 물체자세추정장치는 위의 일련의 과정으로 물체의 위치와 방향정보를 생성하고(S370), 이를 통해 도 4e에서와 같이 최종적으로 물체 파지가 가능할 수 있다. 가령, 물체자세추정장치는 중심점과 Z축 방향의 회전값을 근거로 로봇의 3자유도 위치정보와 3자유도 회전정보의 6자유도 정보를 생성할 수 있다.
상기한 내용 이외에도 본 발명의 실시예에 따른 물체자세추정장치는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
도 5는 본 발명의 실시예에 따른 물체 자세 추정 장치(예: 로봇장치 등)의 구동과정을 나타내는 흐름도이다.
설명의 편의상 도 5를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 물체 자세 추정 장치로서 도 1의 로봇장치(100)는 로봇암이나 로봇핑거부에 부착되는 3차원 비전 센서(111)를 이용해 로봇이 파지하려는 물체가 놓인 바닥면상의 마커를 촬영하여 촬영 이미지를 얻을 수 있다(S500). 여기서, 마커는 아루코 마커가 사용될 수 있다.
이어 로봇장치(100)는 수신한 촬영 이미지의 보정 동작을 수행할 수 있으며, 이를 위하여 R, G, B의 화소로 이루어지는 RGB 이미지와 가령 뎁스 정보가 반영된 뎁스 이미지(또는 뎁스 정보)의 해상도가 서로 다를 때 해상도를 서로 일치시키면서 이를 통해 보정 정보를 생성할 수 있으며, 보정 정보를 통해서는 이미지의 왜곽 보정을 수행할 수도 있다.
또한, 본 발명의 실시예에 따른 물체 자세 추정 장치로서 로봇장치(100)는 수신한 촬영 이미지 내의 마커를 근거로 3차원 비전 센서와 바닥면을 수평하게 유지한 상태에서 감지되는 물체의 윤곽을 이용해 무게 중심점을 획득하고, 획득한 무게 중심점 및 3차원 비전 센서에서 바닥면에 대한 수직 벡터를 근거로 로봇의 Z축 방향(Yaw)의 회전값을 획득하며, 획득한 무게 중심점 및 회전값을 근거로 물체를 파지하기 위한 로봇의 위치정보(X, Y, Z) 및 회전정보(Roll, Pitch, Yaw)의 6자유도 정보를 도출할 수 있다(S510).
이의 과정에서 로봇장치(100)는 촬영 이미지 내의 마커를 근거로 바닥면과 3차원 센서의 틀어짐 정도를 추정하여 추정한 틀어짐 정도를 근거로 생성되는 회전 정보(Roll, Pitch, Yaw)를 이용해 3차원 비전 센서(111)의 자세를 제어하여 바닥면과 수평을 유지시킬 수 있다. 물론 이러한 틀어짐 정도를 추정하기 위해 2차원 패턴을 포함하는 아루코 마커가 유용할 수 있는 것이다.
한편, 로봇의 위치정보(X, Y, Z)의 경우에는 비전(센서)으로 마커를 인식하여 회전정보(R, P, Y)를 추출할 수 있다. 이때 회전정보의 추출을 위해 물론 특정하려는 것은 아니지만 가령 OpenCV 라이브러리에서 solvePnP 함수를 이용할 수 있다. OpenCV는 컴퓨터 비전 또는 머신러닝 오픈소스 라이브러리이다. OpenCV 라이브러리는 영상 관련 라이브러리로서 사실상 산업계 표준이며, solvePnP 함수는 영상을 획득한 카메라의 위치 및 방향(camera pose)을 알아낼 때 유용하게 사용된다. 카메라를 통해 마커가 있는 영상이 획득이 되면 마커 검출된 점을 활용하여 solvePnP 계산이 이루어지며, 마커추적에 실패한 경우 다시 마커 검출 조건을 설정한 후 solvePnP 진행이 이루어진다.
이어 로봇장치(100)는 회전정보를 통해 비전의 XY 평면과 마커의 XY 평면이 평행이 되도록 로봇을 이동(혹은 동작을 제어)할 수 있다. 그리고 평행한 상태에서 물체를 인식하여 X, Y, Z 정보 즉 위치정보를 획득할 수 있다.
상기한 내용 이외에도 본 발명의 실시예에 따른 로봇장치(100)는 다양한 동작을 수행할 수 있으며, 기타 자세한 내용은 앞서 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
한편, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 로봇(장치) 111: 3차원 비전 센서
200: 동작부 210: 3차원 비전 센서부
220: 제어부 230: 물체자세추정부
240: 저장부

Claims (2)

  1. 로봇에 부착되는 3차원 비전 센서를 이용해 상기 로봇이 파지하려는 물체가 놓인 바닥면상의 마커(marker)를 촬영한 촬영 이미지 내의 상기 마커를 근거로 상기 3차원 비전 센서와 상기 바닥면을 수평하게 유지시키는 단계; 및
    상기 수평을 유지한 상태에서 감지되는 상기 물체의 윤곽(contour)을 이용해 무게 중심점을 획득하고, 상기 획득한 무게 중심점 및 상기 3차원 비전 센서에서 상기 바닥면에 대한 수직 벡터를 근거로 상기 로봇의 Z축 방향(Yaw)의 회전값을 획득하며, 상기 획득한 무게 중심점 및 상기 회전값을 근거로 상기 물체를 파지하기 위한 상기 로봇의 위치정보(X, Y, Z) 및 회전정보(Roll, Pitch, Yaw)의 6자유도 정보를 도출하는 단계;를
    포함하는, 로봇에 부착된 센서를 이용한 물체 자세 추정 방법.
  2. 제1항에 있어서,
    상기 수평하게 유지시키는 단계는,
    상기 마커를 근거로 상기 바닥면에 대한 상기 3차원 비전 센서의 틀어짐 정도를 판단하는 단계; 및
    상기 판단한 틀어짐 정도가 반영된 상기 3차원 비전 센서의 회전 정보(Roll, Pitch, Yaw)를 생성해 상기 3차원 비전 센서의 자세를 제어하는 단계;를
    포함하며,
    상기 틀어짐 정도를 판단하는 단계는,
    상기 3차원 비전 센서를 통해 취득되는 깊이(Depth) 이미지와 RGB 이미지의 해상도가 상이한 경우, 해상도를 서로 일치시키는 단계; 및
    상기 해상도를 일치시킬 때 생성되는 캘리브레이션 정보를 이용하여 상기 이미지의 외곽부분의 왜곡 현상을 보정하는 단계;를 포함하며,
    상기 수평하게 유지시키는 단계는,
    상기 촬영 이미지 내에서 상기 마커로서 2차원 비트 패턴과 상기 패턴을 둘러싸는 검은색 테두리 영역을 구성되는 아루코 마커(ArUco marker)를 인식하는 단계;를 포함하는,
    로봇에 부착된 센서를 이용한 물체 자세 추정 방법.
KR1020220178116A 2022-12-19 로봇에 부착된 센서를 이용한 물체 자세 추정 방법 KR20240096989A (ko)

Publications (1)

Publication Number Publication Date
KR20240096989A true KR20240096989A (ko) 2024-06-27

Family

ID=

Similar Documents

Publication Publication Date Title
Romero-Ramirez et al. Speeded up detection of squared fiducial markers
US9259844B2 (en) Vision-guided electromagnetic robotic system
CN110660104A (zh) 工业机器人视觉识别定位抓取方法、计算机装置以及计算机可读存储介质
JP5458885B2 (ja) 物体検出方法と物体検出装置およびロボットシステム
Azad et al. Stereo-based 6d object localization for grasping with humanoid robot systems
TW201706091A (zh) 在導引式組裝環境中用於將機械視覺座標空間結合一起的系統和方法
US11625842B2 (en) Image processing apparatus and image processing method
CN113379849B (zh) 基于深度相机的机器人自主识别智能抓取方法及系统
JP2012141962A (ja) 位置姿勢計測装置及び位置姿勢計測方法
JP2012002761A (ja) 位置姿勢計測装置、その処理方法及びプログラム
JP2008246631A (ja) 対象物取出装置
US20210023718A1 (en) Three-dimensional data generation device and robot control system
CN112348890B (zh) 一种空间定位方法、装置及计算机可读存储介质
Roy et al. Pose estimation of texture-less cylindrical objects in bin picking using sensor fusion
US20230297068A1 (en) Information processing device and information processing method
CN114092428A (zh) 图像数据处理方法、装置、电子设备和存储介质
CN114037595A (zh) 图像数据处理方法、装置、电子设备和存储介质
Lin et al. Vision based object grasping of industrial manipulator
Xu et al. A vision-guided robot manipulator for surgical instrument singulation in a cluttered environment
KR20240096989A (ko) 로봇에 부착된 센서를 이용한 물체 자세 추정 방법
WO2023082417A1 (zh) 抓取点信息获取方法、装置、电子设备和存储介质
Funakubo et al. Recognition and handling of clothes with different pattern by dual hand-eyes robotic system
Fröhlig et al. Three-dimensional pose estimation of deformable linear object tips based on a low-cost, two-dimensional sensor setup and AI-based evaluation
CN114022342A (zh) 抓取点信息获取方法、装置、电子设备和存储介质
KR20240096990A (ko) 비고정 물체를 위치 이동시키는 로봇의 제어 장치