본문 바로가기

Robot/Project

3D 카메라를 이용한 박스 인식 및 박스 위치 계산 - 디팔렛타이징

23년 추석이 있던 9월, 10월 2개월 동안 핑크랩은 한가지 재미있는 프로젝트를 진행했습니다. 저희에게 의뢰를 주신 기관은 구미에 있는 로봇직업혁신센터입니다. 의뢰를 받고 저희는 아래의 내용을 수행했습니다.

  • 기존에 센터에서 보유하고 있는 ABB 로봇팔과 3D카메라를 이용해서
  • ABB로봇의 ROS1 패키지를 ROS2용으로 변경하고
  • 3D 카메라의 영상에서 서로 붙어서 구분이 잘 안되던 박스들을 잘 인식하게 하고
  • 인식된 박스의 윗면(평면)을 찾아서, 인식하고
  • 인식된 박스들의 윗면 중 가장 높은 윗면을 찾아서
  • 공간상의 좌표를 로봇에게 전송하는 일입니다.

우리는 재미있어 보이면 하니까요^^.

작업장은 이렇게 생겼습니다. 로봇직업혁신센터는 교육의 역할이 강하기 때문에 다양한 로봇과 실습환경이 꾸며져 있습니다.

거기에는 Azure Kinect 센서가 이미 장착되어 있었습니다. 우리는 단종된 저 아이말고 D435로 먼저 개발하고 현장에 맞춰 적용을 했습니다.

동일 박스가 붙어 있어도, 잘 찾도록 객체인식 살짝 돌려주구요~^^

인식된 객체들에서 3D 카메라의 Point Cloud 데이터들 중에서 평면들을 별도로 각각 찾습니다. 그 중에 카메라 기준 가장 가까운, 즉 가장 높이 있는 박스의 윗면을 찾아서, 그 중점을 계산해서 로봇에게 전송하는 과정입니다.

이쁘죠?^^

그리고 ROS1용으로만 만들어진 ABB 로봇의 패키지를 ROS2 humble에 맞추는 작업도 했습니다.

짧은 기간이지만, 저희는 꽤 재미있게 작업을 했구요. 관련해서 교육도 진행할 수 있도록 매뉴얼화 해서 배포했습니다.^^. 관련 영상도 함께 보시죠^^

https://youtu.be/EHPTae3KSAQ?si=NPgZRrni6fJghsSQ

 

반응형