병렬 링크 로봇을 만들어 봤어요.

병렬 링크 로봇 제작(소프트웨어 편)


병렬 링크 로봇, 별명 삼각주 로봇의 제작 노트.소프트웨어 편.
기계편은 3D CAD와 3D 프린팅 서비스를 활용해 3개의 서보 모터로 구성된 병렬 링크 로봇의 주체를 제작했다.이번에는 파이토존에서 서보 모터를 제어해 로봇 가동소로 제작된 소프트웨어를 쓴다.

요구 규격


로봇을 제어할 때는 일반적으로'시교'로 불리는 로봇에게 동작을 가르치는 행위를 한 뒤 교시대로 로봇을 자동으로 수행하는 절차를 밟는다.가르침은 크게 다음과 같은 세 가지가 있다.이번에는 이것들을 모두 실시했다.
가르침의 종류
설명
온라인 수업
로봇을 제어하는 리모컨을 사용해 실제로 로봇을 돌리면서 동작을 가르친다.
오프라인 교육
시뮬레이터에서 로봇을 움직여 동작을 가르치다.
직접 가르침
맨손으로 로봇을 만지며 동작을 직접 가르친다.

클래스 구조


이것은 파이톤이 쓴 모듈의 클래스입니다.

각 반의 역할입니다.
클래스 이름
과업
PS4Controller
pygame 모듈을 사용하여 PS4의 Dual Shock 4 컨트롤러에서 각종 조작 정보를 얻을 수 있는 클래스입니다.아날로그봉의 정보는 삼각주 로봇의 3차원 동작을 지시하는 데 쓰인다.○△□×단추는 삼각주 로봇 시뮬레이션 모델의 그리기 영역을 전환하는 보기 모드입니다.
AX12Driver
dynamixel_sdk 모듈을 사용하여 Dynamixel AX12에서 서보 모터의 레벨을 제어합니다.삼각주 로봇을 구성하는 3개의 서버 모터를 포지셔닝 제어함으로써 삼각주 로봇이 상하좌우로 움직인다.
DeltaModel
삼각주 로봇의 운동학, 역운동학의 계산 논리를 제공하는 반.
DeltaBase
삼각주 로봇을 통제하기 위해 공통적으로 필요한 기능을 제공하는 추상류.각종 단계의 초기화 외에도 matplotlib을 사용하여 로봇 모양의 3D 도표를 시종일관 그리는 기능을 제공했다.
DeltaTeaching
삼각주 로봇의 가르침을 위해 공통적으로 필요한 기능을 제공하는 추상류.설명 작업 중인 서보 모터의 위치 정보를 메모리에 기록하고 프로그램이 끝날 때 파일로 출력합니다.출력 형식은 JSON입니다.
DeltaTeachingOffline
삼각주 로봇의 오프라인 교육 유형.PS4 Controller에서 얻은 조작 정보를 토대로 각 축 방향의 이동 속도를 얻어 로봇의 현재 위치를 계산한다.델타 모델의 역운동학적 계산 기능을 사용하여 위치 정보를 모터의 각도 정보로 변환합니다.델타베이스에서 계승된 기능으로 3D 그래프의 가상 모델에서 업데이트된 로봇의 상태를 묘사한다.
DeltaTeachingOnline
삼각주 로봇의 온라인 교육 유형.Deltaching Offline 클래스에서 상속된 기능을 사용하여 가상 모델을 제어하고, AX12 드라이브에 대해 서보 모터의 위치 제어 지시를 하여 가상 모델과 실제 컴퓨터가 같은 상태를 유지하도록 한다.
DeltaTeachingDirect
삼각주 로봇을 직접 가르치는 종류.AX12 드라이브에서 서보 모터의 현재 위치 정보(각도)를 얻어 기록합니다.또한 DeltaBase에서 상속된 기능을 통해 3D 차트의 가상 모델에 이 정보를 반영합니다.
DeltaPlayerOffline
삼각주 로봇의 오프라인 자동 집행류.각종 가르침 시간에 기록된 서보 모터의 위치 정보의 시차 데이터를 입력으로 삼아 3D 도표의 가상 모델로 가르침 후의 동작을 재현한다.
DeltaPlayerOnline
삼각주 로봇의 온라인 자동 집행 유형.Delta Player Offline에서 상속된 기능을 사용하여 가상 모델을 제어하고, AX12 Driver에 서보 모터의 위치 제어 지시를 하여 가상 모델과 실제 컴퓨터가 같은 상태를 유지하도록 한다.

소스 코드


사이트 축소판 그림


이것은 설치할 때 참고하는 사이트다.
항목
URL
삼각주 로봇의 역운동학
https://tony-mooori.blogspot.com/2016/09/kinematics.html
삼각주 로봇의 운동학
http://hypertriangle.com/~alex/delta-robot-tutorial/
삼각주 로봇의 운동학
https://github.com/awesomebytes/delta_robot/blob/master/src/delta_kinematics.py
PS4 DualShock4
https://gist.github.com/claymcleod/028386b860b75e4f5472
Dynamixel 서보 모터의 규격
http://support.robotis.com/jp/product/dynamixel/ax_series/dxl_ax_actuator.htm
Dynamixel 서보 모터 드라이버
https://github.com/ROBOTIS-GIT/DynamixelSDK

동작 시범



온라인 수업


PS4의 컨트롤러를 리모컨으로 삼아 삼각주 로봇을 돌린다.PC의 가상 모델과 실제 시스템이 동시에 실행됩니다.가상 모델은 보기 모드로 전환해서 시점을 바꿀 수 있습니다.

오프라인 교육


PS4의 컨트롤러를 리모컨으로 삼아 삼각주 로봇의 가상 모델을 제어하는 동시에 위치 정보를 시간 서열 데이터로 기록한다.이후 로봇은 자동으로 같은 동작을 리셋한다.

직접 가르침


로봇을 손으로 직접 터치하여 돌리다.로봇의 위치가 변할 때마다 이 정보를 시간 서열 데이터로 기록한다.이후 로봇은 자동으로 같은 동작을 리셋한다.

좋은 웹페이지 즐겨찾기