산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

비전 기반 장애물 회피 기능이 있는 모바일 로봇

요약:

이 보고서의 목적은 USB 웹캠을 사용하여 장애물을 시각적으로 감지하고 피할 수 있는 모바일 로봇을 설계하고 구현하는 개념을 논의하고 시연하는 것입니다. 이 시스템은 Linux 기반 US$35 컴퓨터인 Raspberry Pi 하드웨어로 이식되었습니다. 이 블로그에서는 실내 환경 내에서 탐색할 수 있는 모바일 로봇의 성공적인 구현을 실현하는 데 필요한 중요한 개념을 강조할 것입니다. 제안된 솔루션은 작업자 없이 창고 설정 내에서 한 위치에서 다음 위치로 상품을 운송하는 데 사용됩니다.

소개:

로봇은 이미 시장에 존재하지만 이러한 로봇은 구입 비용이 비싸고 창고, 전장 또는 가정과 같은 단일 환경 설정에서 작동하도록 의도적으로 설계되었습니다. 이 로봇은 초음파 센서 및 적외선 센서와 같은 수동 센서를 사용하여 장애물을 감지할 수 있으며 지면에서의 이동성 때문에 자율주행차라고도 합니다. 전통적으로 이러한 자율 시스템에는 일반적으로 위치와 환경을 감지하기 위해 초음파 거리 센서, 적외선 센서 또는 GPS와 같은 수동 센서가 장착되어 있습니다. 이러한 센서가 있으면 로봇이 장애물과 함께 배치될 때 장애물과의 충돌을 피할 수 있습니다(Wang J. et al, 2011). 그러나 처리 능력이 높은 저가형 임베디드 컴퓨터 시스템 기술의 발전으로 장애물을 감지할 수 있는 자율 로봇을 설계하는 데 보다 안정적이고 비용 효율적인 방법을 사용할 수 있게 되었습니다. 한 가지 가능한 방법은 시각적으로 장애물을 감지하고 피할 수 있는 컴퓨터 비전 알고리즘을 사용하는 것입니다. 센서 기반의 장애물 감지 방식은 로봇의 거리에 대한 장애물의 근접성에 국한되지만 비전 기반 방식의 경우 장애물을 피하기 전에 장애물을 감지하고 식별할 수 있습니다.

제안된 솔루션 및 인공물:

이 보고서의 목적은 Raspberry Pi에 연결된 USB 웹캠을 사용하여 장애물을 감지하고 피할 수 있는 자율 로봇을 설계하는 것입니다. 이 보고서는 모바일 로봇의 기본 개념과 현재 실내 환경에서 사용되는 기술을 소개합니다. 제안 시스템을 구현하기 위해 다음 단계를 수행했습니다.

<울>
  • 장애물을 감지할 수 있는 SimpleCV와 같은 컴퓨터 비전 프레임워크를 사용하여 알고리즘을 설계합니다.
  • Raspberry Pi에 알고리즘 구현
  • Python 프로그래밍 언어를 사용하여 Raspberry Pi에서 모터 제어 구현
  • Raspberry Pi를 사용하여 제안된 시스템의 성능 테스트 및 평가
  • 또한 제안된 시스템을 완전히 구현하기 위해 다음과 같은 목표를 달성했습니다.

    <울>
  • 요구에 따라 알고리즘을 수정하여 장애물 감지 범위를 만들 수 있습니다.
  • 일정한 크기의 기하학적 모양(예:원)이 감지를 위해 장애물에 배치됩니다.
  • SimpleCV 라이브러리는 Raspberry Pi와 통신하여 2개의 DC 모터를 제어합니다.
  • 코드를 수정하고 다양한 거리에서 장애물을 감지하여 시스템을 테스트하고 평가합니다.
  • 하드웨어 및 소프트웨어 목록:

    제안된 시스템은 USB 웹캠을 사용하여 이미지를 캡처하는 Raspberry Pi에 구현되었습니다. 다음은 제안된 자율 로봇을 완전히 구현하는 데 필요한 하드웨어 및 소프트웨어 목록입니다.

    하드웨어:

    <울>
  • 라즈베리 파이 키트,
  • USB 웹캠,
  • 2개의 DC 모터,
  • H-Bridge(모터 방향 제어용),
  • 섀시,
  • 케이블
  • 브레드보드
  • 소프트웨어 패키지:

    <울>
  • SimpleCV 파이썬 라이브러리,
  • 우분투 운영 체제,
  • 라즈베리 OS(라즈비안),
  • 파이썬 2.7
  • 제안하는 시스템은 다양한 범위에서 장애물을 감지할 수 있다. 이는 Visual looming 알고리즘에서 영감을 얻었으며 카메라와 장애물 사이의 거리를 측정하면서 코드 내에서 최소 픽셀 수를 정의함으로써 달성되었습니다.

    그림 – 프로젝트 원과 로봇에서 장애물의 거리 사이의 관계를 찾는 데 사용되는 실험 설정

    위에 표시된 배열은 로봇에서 장애물의 실제 거리에 해당하는 최소 픽셀 수 사이의 관계를 결정하기 위해 장애물(원)과 로봇 사이의 거리를 측정하기 위해 실험실에서 만들 수 있습니다. 위의 도표와 2장에서 논의한 바와 같이 원의 크기는 원이 가까울수록 커지고 원이 멀어지면 작아진다. 따라서 알고리즘 내에서 픽셀 수가 변경될 때 로봇에 대한 장애물의 거리 측정을 허용하는 테스트 세트를 수행할 수 있습니다. 위의 그림과 같이 장애물이 이동하여 알고리즘이 장애물을 감지하는 정확한 거리를 찾습니다.

    그림 - 시각적 어렴풋한 개념은 의학에서 영감을 받았습니다.

    전체 시스템 순서도:

    다음 순서도는 제안된 비전 기반 로봇이 Raspberry Pi와 SimpleCV 프레임워크를 사용하여 설계되는 방법을 설명합니다. 그림 6과 같이 USB 웹캠이 컴퓨터의 입력으로 Raspberry Pi에 연결됩니다. USB 웹캠은 특정 기하학적 모양(예:장애물에 배치될 원)에 대해 수신 프레임을 스캔합니다. 장애물을 기하학적 형태, 즉 원으로 표시하는 이유는 단순히 알고리즘 준비 시 시간을 줄이기 위해 결정되었습니다. 일반적으로 비전 기반 장애물 감지는 로봇과 장애물 사이의 거리를 판단하기 위해 스테레오 비전을 생성하는 두 대의 카메라를 사용하여 수행됩니다(Neves&Matos, 2013). 따라서 하나의 카메라를 사용하여 원의 반지름을 계산하여 기하학적 모양, 즉 원을 감지하면 로봇이 로봇과 장애물의 거리를 감지하는 데 도움이 됩니다. 이 장애물 감지 방법은 Sachin &Paolo(1998)가 제안한 Vision looming 방법에서 영감을 받았습니다.

    제안된 시스템은 Raspberry Pi에 연결될 USB 카메라를 통합합니다. Raspberry Pi는 기하학적 모양, 즉 원을 찾는 동안 비디오에서 이미지를 가져오는 python 스크립트를 실행합니다. 원이 감지되면 화면의 원 위치를 기반으로 스크립트가 로봇의 방향을 제어하는 ​​데 사용할 GPIO 포트 핀을 올리거나 내립니다.

    컴퓨터 비전 알고리즘 구조:

    알고리즘은 Raspberry Pi로 이식하기 전에 Ubuntu 기반 노트북에서 준비되었습니다. 이는 Ubuntu와 Raspbian이 Linux의 특징이기 때문에 크로스 플랫폼 간에 알고리즘을 더 쉽게 이식하고 구현할 수 있습니다. 덕분에 Raspberry Pi에 지속적으로 연결할 필요 없이 알고리즘 작업을 유연하게 수행할 수 있었습니다. 따라서 하드웨어 인터페이스에 대한 걱정 없이 알고리즘을 독립적으로 구현했습니다.

    비전 기반 시스템을 설계하는 첫 번째 단계는 장애물을 감지하고 알고리즘 준비에 도움이 되는 관심 영역(ROI)을 선택하는 것입니다. 이 경우 ROI는 알고리즘에 의해 감지되는 검은색 원입니다. 감지 후 알고리즘은 관심 영역만 배경에 표시되도록 이미지를 이진화합니다. 알고리즘은 화면에서 원의 좌표를 측정하고 원이 감지된 화면 영역에 대한 좌표를 측정합니다. 좌표가 화면 중앙에 있으면 알고리즘은 앞에서 설명한 대로 그에 따라 로봇을 이동합니다.

    알고리즘을 작성하기 전에 Raspberry Pi가 장애물을 감지하고 추적할 수 있도록 화면 해상도를 결정해야 했습니다. Raspberry Pi는 시스템 클록 속도가 700MHz이고 RAM이 512MB로 제한된 저전력 컴퓨터이므로 고화질 비디오 입력은 많은 처리 능력을 소모하여 결국 시스템을 신뢰할 수 없게 만듭니다. 따라서 Raspberry Pi 컴퓨터가 카메라의 데이터를 처리하기에 충분한 중간 지점을 선택해야 합니다.

    여러 번의 시행착오 끝에 320×240의 해상도가 선택되었습니다. 이 해상도는 다양한 색상 공간과 기하학적 모양을 감지하기에 충분했습니다. 또한 이 해상도는 특히 640×480 이상의 고해상도에서와 같이 이 해상도가 입력 비디오의 지연을 일으키지 않는 것으로 나타났습니다. 이는 이 보고서의 섹션 4에서 자세히 논의됩니다.

    이미지에서 장애물을 감지하는 첫 번째 단계는 그림 8과 같이 화면을 세 개의 개별 세그먼트로 나누는 것이었습니다. 이것은 장애물의 위치를 ​​감지하고 추적하기 위해 수행되어 각 모터 동작이 섹션에서 논의된 대로 수행될 수 있습니다. 이전 섹션. 이 디자인 프로젝트에서 장애물은 특정 기호, 즉 원으로 표시됩니다. 따라서 원이 있으면 알고리즘에 장애물이 있는 것으로 등록됩니다.

    자세한 내용:비전 기반 장애물 회피 기능이 있는 모바일 로봇


    제조공정

    1. 로봇 비전의 현실은 무엇입니까?
    2. Raspberry Pi 기반 벽 회피 로봇 – FabLab NerveCentre
    3. 동영상이 있는 Raspberry Pi 웹 제어 로봇
    4. Google Coral로 재활용 분류 로봇
    5. 모바일 협업으로 유지 관리 문제 해결
    6. 인공 지능을 사용한 장애물 회피
    7. 자외선 조명으로 로봇 소독
    8. 서보 모터로 로봇을 피하는 장애물
    9. Arduino를 사용한 간단한 장애물 센서
    10. 로봇, 협업 로봇 암과 모바일 플랫폼 결합