Dancing with the Robot Arm
Follow along: Dancing Robot Arm Example
The program launching process along with parameter settings are all simplified and set up on the Jupyter Notebook Environment.
- Open the 05_04_dance.ipynb Jupyter Notebook
- Load Arm_Lib module and register the robot arm as an object
- Follow and Execute the example codes
(The Jetson Board used for these examples are => Jetson Nano)
05_04_dance.ipynb
- Running the cell codeCtrl + Enter
Load Arm_Lib module and register the robot arm as an object
#!/usr/bin/env python3
#coding=utf-8
import time
from Arm_Lib import Arm_Device
Arm = Arm_Device()
time.sleep(.1)
time_1 = 500
time_2 = 1000
time_sleep = 0.5
Arm_serial_servo_write (motor number, angle, time)
Dance motion using servo motor angle control and while statement
# Dancing Robot arm in repeat
def main():
# 서보를 중심으로 만든다.
Arm.Arm_serial_servo_write6(90, 90, 90, 90, 90, 90, 500)
time.sleep(1)
while True:
Arm.Arm_serial_servo_write(2, 180-120, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 120, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 60, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 180-135, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 135, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 45, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 180-120, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 120, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 60, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 90, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 180-80, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 80, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 80, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 180-60, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 60, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 60, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 180-45, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 45, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 45, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(2, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(3, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 90, time_1)
time.sleep(.001)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(4, 20, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(6, 150, time_1)
time.sleep(.001)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(4, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(6, 90, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(4, 20, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(6, 150, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(4, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(6, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(1, 0, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(5, 0, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(3, 180, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 0, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(6, 180, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(6, 0, time_2)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(6, 90, time_2)
time.sleep(.001)
Arm.Arm_serial_servo_write(1, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(5, 90, time_1)
time.sleep(time_sleep)
Arm.Arm_serial_servo_write(3, 90, time_1)
time.sleep(.001)
Arm.Arm_serial_servo_write(4, 90, time_1)
time.sleep(time_sleep)
print(" END OF LINE! ")
try :
main()
except KeyboardInterrupt:
print(" Program closed! ")
pass
Remove the robot arm object
del Arm # Remove robot arm object