<목차>
1.개발환경 구축순서
2.Myblockly 블록코딩
3.python 코드
전원연결
드라이버설치 : 윈도우11에서 안해도 자동 잡힘
USB 연결 : USB to C
MyStudio 설치 :
펌웨어 설치 및 UI테스트 M5 STACK PICO ATOM
프로그램 설치 python MyBlocky ...etc
이머전시버튼 꽂고 -> 24V DC 연결 -> 파워 ON -> 엔드이펙터 ATOM(esp32)이 빨간 LED로 뜸.
이머전시 버튼 : 안꽂히면 동작을 안하도록 셋팅 되어있다.
0.info
※참고사항
-로봇암의 엔드이펙터 ATOM의 esp32는 cortex m4 정도 속도를 냄
-로봇암은 485B로 통신 진행
-디바이스 상태 펌웨어 버전 확인하기.
-elephant社 의 파이썬 api인 pymycobot을 다운 받기 (mycobot, myagv패키지 첨부)
1.Clibarion
로봇 영점 맞추기 : 6축마다 서로 맞물리는 홈 대로
Calibration -> Acalibration -> 1 (1축 홈끼리 맞추고-> NEXT클릭 -> 2 (2축 홈끼리 맞추고) -> ... ->
2.test servo
1축 ok 2축 ok 3축 ok... 되는지 확인(축이 각각 움직이며 확인) -> 마지막에 완료되면 EXit 되면 Exit 버튼 눌렀을 때 아톰(엔드이펙트 신호/전원단)에서 초록불로 바뀜.
3.USB connection
그다음
C to USB->pc 연결하고 장치관리자에서

확인
그 후 메뉴 -> Tranfer 클릭 -> USB 연결 클릭 (※USB연결을 꽂은 상태에선 전류가 들어오기 때문에, 정지버튼을 누른 상태에 로봇암의 서보모터 전력이 차단된 건 확인 했지만 ESP32 보드의 전원이 꺼지지 않았다. 반드시 USB를 제거할 것.)
(8번에 연결)


다운로드 링크 : https://github.com/elephantrobotics/myblockly-package/releases/tag/v1.3.7
exe파일 다운로드 설치
파이썬 모듈 임포트

윈도우 cmd에서
pip install pymycobot --upgrade --user
명령 설치
pymycobot/pymycobot/mycobot.py 코드 리뷰
참고 링크 : https://github.com/elephantrobotics/pymycobot/blob/main/pymycobot/mycobot.py
init() : 구문부터 시작 참조되는 가장 첫번째 포맷.
def(mesg) : 메세지 형태로 보내줌, 추 후 시리얼 통신으로.
_res() : 이 프로토콜을 통해 보내줌.
get_radians() : 6축 각도값 얻어옴.
send_radians() : 좌표를 알고 있어야 안전하게 명령 입력 가능.
sync_send_coords() : 이걸로 포즈를 취함
test 코드 실행
다운로드 링크 : https://cafe.naver.com/e2gedu
"카이로스과정 - cobot" 검색 -> cobot_basic.py 코드 다운

cmd창에서 해당 디렉토리로 dir 로 확인하고 cd로 이동해서
python cobot_basic.py 실행
원점으로 갈 때는 A누르고 0 누르면 원점으로 감.
q 누르면 나감.
*[vscode에서 디버그 콘솔 실행해서 input()함수 입력하는법]
참고링크 : https://seong6496.tistory.com/408

<mc.set_gripper_value(100,20) 실행결과. / (각도,속도)>

<mc.set_gripper_value(0,20) 실행결과.>
<gripper_test.py 코드>
from pymycobot.mycobot import MyCobot
import time
mc=MyCobot('COM4',115200)
mc.set_gripper_mode(0)
mc.init_eletric_gripper()
time.sleep(1)
while True:
mc.set_eletric_gripper(0)
mc.set_gripper_value(100,20)
time.sleep(2)
mc.set_eletric_gripper(1)
mc.set_gripper_value(0,20)
time.sleep(2)
※주의, 그리퍼가 100이상으로 각도가 설정되어 움직일 경우 락킹이 걸린다. 그러면 그리퍼 작동이 안되기에, 이걸 푸는 코드가 별도로 필요하다.
<※그리퍼 해제 코드>
mc.set_gripper_state(254, 20)
mc.set_gripper_calibration()
위의 그리퍼 상태를 254 코드, 20의 속도로 언락을 진행 하고, 그리퍼 캘리브레이션 구문만 초기에 지정해주면 된다, 단, 실행 전 while True 구문 이 후 그리퍼 open이면 그리퍼를 최대로 펼친상태서 실행한다.
<roboatarm_angle_test.py 코드>
from pymycobot.mycobot import MyCobot
import time
i=0
mc=MyCobot('COM4',115200)
mc.send_angles([0,0,0,0,0,0],20)
time.sleep(2)
for i in range(1,3):
print(i)
mc.send_angle(1,10,20)
time.sleep(2)
mc.send_angle(2,10,20)
time.sleep(2)
mc.send_angles([0,0,0,0,0,0],20)
time.sleep(2)
(축,각도,속도) 형태로 입력해 제어하며
mc.send_angles([0,0,0,0,0,0],20)는 초기화다.