안녕하세요. 충남대학교 컴퓨터공학과에 재학중인 김진섭입니다.
약 한달간 백마인턴쉽이라는 좋은 제도로 '(주) 인스페이스'라는 기업에서 인턴 생활을 하게 되었습니다.
이번 인턴생활을 하며 수행할 프로젝트는 uArm을 이용하여 오목을 두는 로봇을 개발하는 것 입니다.
오늘 처음 uArm을 사용해봐서 어떻게 써야할지 잘 모르기 때문에 사용법을 익히기 위해 uArm과 관련 YouTube 영상, 메뉴얼을 확인하여 얻어낸 지식을 공유하고자 글을 씁니다.
글의 목차를 설명 드리면
1. 제품에 대한 소개
2. uArm 개발환경 설치
3. uArm Studio를 활용하여 개발하기
순서로 진행하도록 하겠습니다.
1. 제품에 대한 소개
uArm은 UArm Swift와 uArm Swift Pro가 있습니다.
인스페이스에서 제공해 준 uArm의 모델명은 'uArm Swift Pro'이므로 uArm Swift Pro와 관련된 글을 작성하도록 하겠습니다.
uArm을 활용하여 오목을 두는 로봇을 만드는 것 이외에도 커피를 섞어주는 것과 같은 반복작업을 수행하는 기능
3D 프린터, Laser Cutting등의 기술을 수행하는 기능을 할 수 있습니다.
해당 제품의 본체는 위 처럼 구성되어있습니다. uArm의 관절을 기준으로 Lower Arm, Upper Arm으로 구분되며 End-effector에는 사용하고자 하는 목적에 따라 부품을 장착하여 사용할 수 있습니다.
우측의 사진은 본체의 버튼입니다.
맨 우측의 Power Button을 이용하여 Arm을 켜고 끌 수 있습니다.
Blutooth도 버튼으로 되어 On/Off 설정을 할 수 있습니다.
uArm의 기능중 하나가 offline Learning입니다. 맨 왼쪽 Record 버튼을 누르고 팔을 수동으로 움칙인 뒤 다시 Record 버튼을 누르면 동작을 학습합니다. 그 뒤, Play Button을 누르면 학습한 동작을 수행합니다.
End-effetor에 붙일수 있는 부품 몇가지를 소개시켜드리면 아래와 같은 Suction Cup, Laser, 그리고 Gripper 등이 있습니다.
맨 좌측 사진 부터 Suction Cup, Laser, Gripper입니다.
Suction Cup은 물건을 흡착시켜 들어올릴 때 사용하는 부품이고, Laser는 Laser Cutting과 같은 일을 처리할 때 사용하는 부품입니다.
Gripper는 무엇인가를 잡고있도록 하기 위한 부품입니다.
이번 프로젝트에서 바둑돌을 잡기 위해 Suction Cup을 추후에 사용해야될 것 같다고 생각했습니다.
2. uArm 개발환경 설치
uArm의 개발환경으로는 대표적으로 uArm Studio가 있습니다.
uArm Studio를 설치하는 과정을 알려 드리겠습니다.
1) uArmStudio 설치하기
우선 https://www.ufactory.cc/#/en 사이트에 접속합니다.
위 처럼 Support/Downloads를 클릭하여줍니다.
위 화면에서 사용하시는 제품을 클릭하여줍니다. (저는 uArm Swift Pro를 사용하므로 맨 좌측 제품을 클릭하겠습니다.)
위 빨간 박스에 있는 uAmStudio와 CuraForuArm을 자신의 PC환경과 맞게 설치하여줍니다.
(해당 설치는 큰 어려움이 없으므로 설치 과정은 생략하도록 하겠습니다.)
설치가 모두 끝났다면 uArm Studio를 실행합니다.
계정이 없으면 계정을 생성하신 후 위 화면에서 로그인합니다.
로그인과 UARM의 연결이 완료되었다면, 위와 같은 화면이 보여지며, 위 uArmStudio를 활용하여 개발을 진행하도록 합니다.
Blockly는 구글의 앱 인벤터와 동일하게 블록 처리를 하여 프로그래밍을 진행하는 것 입니다.
Control은 사용자가 직접 Arm을 Control하여 움직이는 방법입니다.
Teach & Play는 이전에 언급한 Offline Learning을 수행합니다.
Draw/Laser 와 3D Printing은 사용해 보지는 못하였으나, Laser을 사용하여 수행하는 기능이라고 짐작됩니다.
3. uArm Studio를 활용하여 개발하기
1) Blockly
Blockly는 위처럼 블록을 이용하여 uArm에 대한 제어를 처리해주는 명령을 만드는 방법입니다.
위 방법을 이용하여 제품을 움직일 수 있으며, 여러가지 조건 제어를 이용하여 Arm을 처리할 수 있습니다.
위 처럼 블럭을 구성한 뒤 오른쪽 위에 초록색 버튼(Run 버튼)을 누르게되면 위 Logic이 실행됨을 볼 수 있습니다.
위 동영상은 위 블럭을 Run하여 수행하는 동작 과정입니다.
2) Control
Control은 사용자가 직접 로봇을 움직이도록 하는 제어입니다.
위에서 보는것 처럼, 'w' 'a' 's' 'd' 또는 마우스를 이용하여 로봇을 제어할 수 있습니다.
3) Teach & Play
오프라인에서 수동으로 학습시켜 동작할 수 있도록 만드는 기능입니다.
uArm의 Record 버튼을 누르게 되면 uArm이 학습모드로 들어가고, 사용자가 수동으로 조작을 하여줍니다.
학습을 종료하고자하면, 다시한번 Record 버튼을 누릅니다.
해당 학습한 동작을 수행하고자 한다면, 우측의 Play 버튼을 눌러주면 동작을 진행합니다.
uArm은 많은 오픈소스가 존재하고, uArm은 아두이노와 연동을 하여 동작을 처리할 수 있다고합니다.
다음 포스팅에서는 오픈소스를 활용한 동작 과정을 익혀보고 기회가 된다면 아두이노 연동까지 진행해 보도록 하겠습니다.
이상으로 포스팅을 마치도록 하겠습니다. 감사합니다.
'Etc > odds and ends' 카테고리의 다른 글
uArm 예제를 응용해 바둑돌 두는 동작 구현 (2) | 2019.01.10 |
---|---|
OpenMV가 바둑돌을 찾아내도록 코드를 구현해봅시다. (0) | 2019.01.04 |
uArmSwiftPro Open MV사용해보기 (2) | 2019.01.02 |
Python으로 uArm 제어하기 (4) | 2018.12.28 |
uArm을 아두이노 제어 (0) | 2018.12.27 |