[Robotis]Lifting forelimbs
Mini tasks01 - Lifting forelimbs
- Task
- The robot starts the task in a sitting position.
- Put your hand in front of the robot.
- Upon making a sound (e.g., claps), the robot lifts its forelimb.
- Note that the robot’s forelimbs do not need to touch your hand.
How to?
우선 Mac OS에서는 로보티즈 2.0버전이 잘 맞았기 때문에, 로보티즈 태스크와 모션 프로그램 모두 2.0으로 맞춰서 설치했다.
기본모션들 중에서 추가로 더 필요한 것은 팔을 들어올리는 모션이었기 때문에 모션 프로그램으로 팔을 들어올리는 모션을 만들었다.
로봇에 팔을 들어올리는 모션을 추가로 저장한 후, 태스크에서 코딩을 한다.
우선 앉아있는 자세의 모션을 불러오고, (기본모션에서 앉은 자세는 6번이었다.) 최종 소리 감지 횟수가 1 이상이면 모션호출번호를 1을 불러 내가 커스텀한 팔을 들어올리는 모션을 수행하게 한다.
각 모션을 수행할 때마다 CompleteMotion함수가 호출되는데, 이는 한 동작이 완전히 끝날 때까지 조건 대기를 True로 해주는 함수이다.
모션을 하나 수행한 뒤 다음 모션으로 넘어가기 위해서는 이 함수를 꼭 호출해 주어야 한다.
Code
version 4.00
cm_version 1.0
platform CM-530
o // param_text:Created : 11 / 17 / 2020
-
o main
o begin
o label laddr_src:Sleep
o call faddr_dest:Stop
o load param_dest:motion:0:50 param_src:dec_num:6
o call faddr_dest:CompleteMotion
o load param_dest:cm:19 param_src:dec_num:0
o label laddr_src:SleepAgain
o if param_src:cm:19 lop:>= param_src:dec_num:1 rop:then
o jump laddr_dest:Awake
o jump laddr_dest:SleepAgain
o call faddr_dest:CompleteMotion
o label laddr_src:Awake
o load param_dest:motion:-:50 param_src:dec_num:8
o call faddr_dest:CompleteMotion
o end
o function faddr_src:CompleteMotion
o begin
o wait param_src:motion:-:51 lop:== param_src:bool_num:1 rop:then
o end
o function faddr_src:Stop
o begin
o load param_dest:motion:0:50 param_src:dec_num:0
o call faddr_dest:CompleteMotion
o end