안녕하세요 충남대학교 컴퓨터공학과 김진섭입니다.
이번 시간에는 uArmSwiftPro에 OpenMV를 붙여 사용하여보도록 하겠습니다.
빨간색 정 사각형 물체를 인지하고, uArm이 해당 물체를 들어올려, 정해진 위치에 옮기는 오픈소스가 있는데요, 해당 오픈소스를 적용하는 과정에 대하여 포스팅 하도록 하겠습니다. (오픈소스는 uFactory에서 제공하여주었습니다.)
uArm에 OpenMV를 붙이고, 오픈소스를 넣어주는 과정을 수행하기 위한 준비물, 소프트웨어 설치 과정, 하드웨어 선 연결 과정으로 설명드리도록 하겠습니다.
준비물
이번 OpenMV를 수행하기 위하여 준비해야할 물품에 대하여 설명드리도록 하겠습니다.
uArm을 미 포함하여, 총 8개의 물품이 준비되어 있어야합니다.
1. C타입의 케이블 2개
2. 아두이노 메가보드
3. OpenMV 고정할 물품
4. OpenMV
5. 아두이노와 연결하는 USB 케이블
6. uArm에 장착할 Extention Board
7. DC Terminal
8. 예제 수행을 위한 정사각형 물체
소프트웨어 처리
우선, 소프트웨어 과정을 살펴보도록 하겠습니다.
소프트웨어에 대한 자료는 https://github.com/TonyLeheng/Vision-Pick-and-Place에서 다운로드 받으시면 됩니다.
uArm
우선, uArm에 대한 처리과정을 설명드리도록하겠습니다.
uArm을 update하기 위해서 Xloader를 설치하여야합니다.
Xloader 설치하러 가기 : http://xloader.russemotto.com/
위의 링크로 들어가 Xloader를 설치하고 실행시켜줍니다.
Xloader를 실행시켰다면, Device와 Baudrate를 위 처럼 설정하여 준 뒤, 오른쪽 위에 ... 박스를 클릭하여, hex파일을 설정합니다.
위에 보시면 두개의 hex파일이 있는데, 여기서 2ndUART를 선택하시면 됩니다.
그 뒤, Upload를 클릭하여 업로드를 수행해 주면, uArm에 대한 소프트웨어 준비는 끝이납니다.
(주의) 위 업로드를하게되면, uArm을 uArmStudio에서 제어는 불가하게됩니다. 만약 다시 돌리고 싶으면 Standard.hex를 Upload시키시면 됩니다.
아두이노 메가보드
다음으로는, 아두이노 메가 보드에 대한 업데이트입니다.
위 깃헙에서 다운로드받은 파일중에서, Vision을 열어줍니다.
아두이노 메가보드는 위 준비물 설명에서 2번 물품을 의미하며, 5번 물품을 이용해 컴퓨터와 연결시켜줍니다.
위에 보이는 빨간 박스처럼 세팅을 하여줍니다.
세팅이 완료되었으면 위 빨간 박스를 클릭하여 업로드버튼을 클릭하여주어 업로드를 완료시켜줍니다.
해당 업로드가 완료되었다면, 아두이노에 대한 소프트웨어 준비는 모두 끝이납니다.
OpenMV
OpenMV를 소프트웨어 처리하여주기 위해서는 OpenMV IDE가 필요합니다.
http://www.openmv.io 왼쪽 URL을 클릭하여 OpenMV IDE를 다운로드받은 후 작업을 수행해 주시길 바랍니다.
위 준비물에서 4번인 OpenMV를 소프트웨어 처리해주는 과정을 진행할 계획입니다. 우선 USB 케이블을 이용하여 OpenMV와 컴퓨터를 연결시켜줍니다.
OpenMV IDE를 열고, open File을 클릭하여줍니다.
github에서 다운로드 받았던 폴더에서 color_tracking_test를 클릭하여 열어줍니다.
위처럼, color_tracking_test가 열렸다면 왼쪽 아래의 빨간색 박스를 클릭하여 준뒤, 파란색 박스의 버튼을 눌러주어 실행시켜줍니다.
실행을 시키고, 빨간색 박스를 OpenMV로 비추어 보면, 이렇게 뽀얗게 빨간색 박스를 인식함을 확인할 수 있습니다.
빨간색 박스를 OpenMV로 비춰보며 위 사진의 빨간색 박스부분의 렌즈부분을 돌려주며 포커스를 맞추어줍니다.
위처럼 포커싱 될 때 까지 돌려주어 설정하여줍니다.
포커싱이 완료되었다면, Save Open script to OpenMV Cam을 눌러, OpenMV에 저장합니다.
uArm, 아두이노 메가보드, OpenMV의 세팅이 끝났다면 예제에 대한 소프트웨어 관련 처리는 끝이라고 보시면됩니다.
하드웨어 처리
이제는 하드웨어적으로 OpenMV를 uArm에 연결하는 과정 그리고 선을 연결하는 과정을 설명해드리도록 하겠습니다.
OpenMV를 uArm에 붙이는 작업
위 사진의 빨간색 박스를 보시면, 두개의 나사구멍이 있습니다. 해당 나사구멍에 준비물 3번을 설치하도록 하여, 우측 사진처럼 만들어줍니다.
다음으로, 위에서 설치한 부분에 작은 틈 사이로 OpenMV를 놓고 나사를 이용하여 조여주어, OpenMV를 uArm에 설치하여줍니다.
선 처리 과정
아두이노 메가보드를 보면, 위처럼, C타입 USB 케이블을 꽃을 수 있는 두 군데가 있습니다.
왼쪽은 uArm의 C타입 USB를 꽃아주면 되고, 오른쪽에는 OpenMV의 C타입 USB를 꽃아주면 됩니다.
우선 OpenMV와 아두이노 메가보드를 연결하는 과정입니다. 준비물 1번의 한개의 케이블을 활용하여 위처럼 uArm과 메가보드에 연결하여줍니다.
다음으로, uArm과 아두이노 메가보드를 연결하여줍니다. 우선 메가보드와 연결된 선을 Extention Board(준비물 6번)에 연결하여줍니다.
위처럼 ExtentionBoard를 uArm에 연결시켜줍니다.
준비물 7번을 이용하여 위처럼 설치하여줍니다.
최종적으로 uArm의 전원 선을 아두이노 메가보드에 위처럼 연결하여줍니다.(전원을 주지 않은 상황)
위 과정이 모두 끝이 났다면, 이제 실행을 할 수 있게 됩니다.
실행하기
이제 위의 소프트웨어와 하드웨어 처리를 한 결과를 실행하여 봅시다.
메가보드에 전원을 공급하면 위처럼 불빛이 들어오게 됩니다. 왼쪽 위의 빨간색으로 표시한 부분에 검은색 버튼이 있는데, 누르면 uArm이 동작하게 됩니다.
위 수행 결과에 대한 동영상입니다.
*만약, 위처럼 성공적으로 물체를 찾고 들어올리지 못한다면 여러가지 원인이 있을 수 있습니다.
대표적인 원인으로 OpenMV가 기울어져 설치되어있는지 확인하여주시길 바랍니다.
만약, OpenMV가 올바르게 설치되어있다면, 메가보드를 업로드할 때 쓰이던 코드 Vision을 열고 loop부분에서 x_uarm와 y_uarm을 이용하여 명령어를 처리하는 부분을 약간 수정하여주시길 바랍니다.(uArm의 동작을 보고 x 방향 or y 방향으로 얼만큼 움직이면 될 지 계산을 하여 적용하여 주면 됩니다.)
이상으로 포스팅을 마치도록 하겠습니다. 감사합니다.
'Etc > odds and ends' 카테고리의 다른 글
uArm 예제를 응용해 바둑돌 두는 동작 구현 (2) | 2019.01.10 |
---|---|
OpenMV가 바둑돌을 찾아내도록 코드를 구현해봅시다. (0) | 2019.01.04 |
Python으로 uArm 제어하기 (4) | 2018.12.28 |
uArm을 아두이노 제어 (0) | 2018.12.27 |
uArm 소개 & uArm Studio 사용법 (1) | 2018.12.24 |