Welcome to DOFBOT Pro repository
7.DOFBOT dancing
DOFBOT Dancing
1. Experimental Approach
This experiment controls the DOFBOT to dance by modifying the angles of different servos and adding delay times, thereby creating a dancing effect similar to a robotic arm.
2. Code Content
Code path:
~/dofbot_pro/dofbot_ctrl/scripts/07.dance.ipynb
xxxxxxxxxx#!/usr/bin/env python3#coding=utf-8import timefrom Arm_Lib import Arm_Device# Create robotic arm objectArm = Arm_Device()time.sleep(.1)time_1 = 500time_2 = 1000time_sleep = 0.5x# DOFBOT cyclic dancingdef main(): # Let the servos return to center position Arm.Arm_serial_servo_write6(90, 90, 90, 90, 90, 90, 500) time.sleep(1) times = 0.003 while True: Arm.Arm_serial_servo_write(2, 180-120, time_1) time.sleep(times) Arm.Arm_serial_servo_write(3, 120, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(3, 135, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(3, 120, time_1) time.sleep(times) Arm.Arm_serial_servo_write(4, 60, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(2, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(3, 90, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(3, 80, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(3, 60, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(3, 45, time_1) time.sleep(times) Arm.Arm_serial_servo_write(4, 45, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(2, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(3, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(4, 90, time_1) time.sleep(times) time.sleep(time_sleep) Arm.Arm_serial_servo_write(4, 20, time_1) time.sleep(times) Arm.Arm_serial_servo_write(6, 150, time_1) time.sleep(times) time.sleep(time_sleep) Arm.Arm_serial_servo_write(4, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(6, 90, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(4, 20, time_1) time.sleep(times) Arm.Arm_serial_servo_write(6, 150, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(4, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(6, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(1, 0, time_1) time.sleep(times) Arm.Arm_serial_servo_write(5, 0, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(3, 180, time_1) time.sleep(times) 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(times) Arm.Arm_serial_servo_write(1, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(1, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(5, 90, time_1) time.sleep(time_sleep) Arm.Arm_serial_servo_write(3, 90, time_1) time.sleep(times) Arm.Arm_serial_servo_write(4, 90, time_1) time.sleep(time_sleep) print(" END OF LINE! ")try : main()except KeyboardInterrupt: print(" Program closed! ") passxxxxxxxxxxdel Arm # Release the Arm objectOpen the program file from jupyter lab, and click the "Run entire notebook" button on the jupyter lab toolbar, you can see the DOFBOT dancing.

To exit, click the stop button on the toolbar.
