Videos and Codes for Display
Videos given below are for reference.
Notice: The baud rates are different depending on the type of device. Before using them, refer to the information related thereto. The serial port number can be viewed through calculator device manager or a serial helper.
1 Controlling RGB Light Panel
from pymycobot.mycobot320 import MyCobot320
import time
# The above needs to be written at the beginning of the code, which means importing the project package
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
i = 7
# loop 7 times
while i > 0:
mc.set_color(0, 0, 255) # blue light on
time.sleep(2) # wait for 2 seconds
mc.set_color(255, 0, 0) # red light on
time.sleep(2) # wait for 2 seconds
mc.set_color(0, 255, 0) # green light on
time.sleep(2) # wait for 2 seconds
i -= 1
2 Controlling Arms to Move Them to Starting Point
from pymycobot.mycobot320 import MyCobot320
#The above needs to be written at the beginning of the code, which means importing the project package
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# Check whether the program can be burned into the robot arm
if mc.is_controller_connected() != 1:
print("Please connect the robot arm correctly for program writing")
exit(0)
# Fine-tune the robotic arm to ensure that all the bayonets are aligned in the adjusted position
# Subject to the alignment of the mechanical arm bayonet, this is only a case
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
3 Single-Joint Motion
from pymycobot.mycobot320 import MyCobot320
import time
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# Robotic arm recovery
mc.send_angles([0, 0, 0, 0, 0, 0], 40)
time.sleep(3)
# Control joint 3 to move 70°
mc.send_angle(3, 70, 40)
time.sleep(3)
# Control joint 4 movement -70°
mc.send_angle(4, -70, 40)
time.sleep(3)
# Control joint 1 to move 90°
mc.send_angle(1, 90, 40)
time.sleep(3)
# Control joint 5 movement -90°
mc.send_angle(5, -90, 40)
time.sleep(3)
# Control joint 5 to move 90°
mc.send_angle(5, 90, 40)
time.sleep(3)
4 Multi-Joint Motion
import time
from pymycobot import MyCobot320
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# Robotic arm recovery
mc.send_angles([0, 0, 0, 0, 0, 0], 50)
time.sleep(2.5)
# Control different angles of rotation of multiple joints
mc.send_angles([90, 45, -90, 90, -90, 90], 50)
time.sleep(2.5)
# Return the robotic arm to zero
mc.send_angles([0, 0, 0, 0, 0, 0], 50)
time.sleep(2.5)
# Control different angles of rotation of multiple joints
mc.send_angles([-90, -45, 90, -90, 90, -90], 50)
time.sleep(2.5)
5 Coordinate control
from pymycobot.mycobot320 import MyCobot320
import time
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# Get the coordinates and posture of the current head
coords = mc.get_coords()
print(coords)
# Send angular motion to a certain attitude for coordinate control, with a speed of 50
mc.send_angles([0, 0, -90, 0, 90, 0], 50)
time.sleep(2.5)
# Intelligent planning of the route, allowing the head to reach the coordinates of [-2.3, -153.2, 400.8] in a linear manner, and maintain the posture of [-120.0, 0.7, 179.73], with a speed of 40mm/s
mc.send_coords([-2.3, -153.2, 400.8, -120.0, 0.7, 179.73], 40, 1)
# Set the waiting time to 1.5 seconds
time.sleep(1.5)
# Intelligent planning of the route, allowing the head to reach the coordinates of [0.0, -120.4, 500.3] in a linear manner, and maintain the posture of [-70.81, -22.17, -163.49], with a speed of 50mm/s
mc.send_coords([0.0, -120.4, 500.3, -70.81, -22.17, -163.49], 50, 1)
# Set the waiting time to 1.5 seconds
time.sleep(1.5)
# Only change the x-coordinate of the head, setting the x-coordinate of the head to 100. Let it intelligently plan the route to move the head to the changed position at a speed of 70mm/s
mc.send_coord(1, 100, 70)
6 Control the robot arm to swing left and right
from pymycobot.mycobot320 import MyCobot320
import time
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# Get the coordinates of the current position
angle_datas = mc.get_angles()
print(angle_datas)
# Use a sequence to pass the coordinate parameters and let the robot move to the specified position
mc.send_angles([0, 0, 0, 0, 0, 0], 50)
print(mc.is_paused())
# Set the waiting time to ensure that the robot has reached the specified position
# while not mc.is_paused():
time.sleep(2.5)
# Move joint 1 to the position of 90
mc.send_angle(1, 90, 50)
# Set the waiting time to ensure that the robot has reached the specified position
time.sleep(2)
# Set the number of loops
num = 5
# Let the robot swing left and right
while num > 0:
# Move joint 2 to position 50
mc.send_angle(2, 50, 50)
# Set the waiting time to ensure that the robot has reached the specified position
time.sleep(1.5)
# Move joint 2 to position -50
mc.send_angle(2, -50, 50)
# Set the waiting time to ensure that the robot has reached the specified position
time.sleep(1.5)
num -= 1
# Retract the robot. You can manually swing the robot, and then use the get_angles() function to get the coordinate sequence,
# Use this function to make the robot reach the position you want.
mc.send_angles([88.68, -135, 145, -128.05, -9.93, -15.29], 50)
# Set the waiting time to ensure that the robot arm has reached the specified position
time.sleep(2.5)
# Let the robot arm relax and you can swing it manually
mc.release_all_servos()
7 Controlling the robotic arm to dance
from pymycobot.mycobot320 import MyCobot320
import time
if __name__ == '__main__':
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0",115200)
# Set the start time
start = time.time()
# Let the robot reach the specified position
mc.send_angles([-1.49, 115, -145, 30, -33.42, 137.9], 80)
# Determine whether it has reached the specified position
while not mc.is_in_position([-1.49, 115, -145, 30, -33.42, 137.9], 0):
# Let the robot resume movement
mc.resume()
# Let the robot move for 0.5s
time.sleep(0.5)
# Pause the movement of the robot
mc.pause()
# Determine whether the movement has timed out
if time.time() - start > 3:
break
# Set the start time
start = time.time()
# Let the exercise last for 30 seconds
while time.time() - start < 30:
# Let the robot quickly reach this position
mc.send_angles([-1.49, 115, -145, 30, -33.42, 137.9], 80)
# Set the color of the light to [0,0,50]
mc.set_color(0, 0, 50)
time.sleep(0.7)
# Let the robot quickly reach this position
mc.send_angles([-1.49, 55, -145, 80, 33.42, 137.9], 80)
# Set the color of the light to [0,50,0]
mc.set_color(0, 50, 0)
time.sleep(0.7)
8 Controlling Gripper
from pymycobot.mycobot320 import MyCobot320
import time
# MyCobot320 class initialization requires two parameters:
# The first is the serial port string:"/dev/ttyAMA0"
# The second is the baud rate: 115200
#
# Example:
# mc = MyCobot320("/dev/ttyAMA0", 115200)
#
# Initialize a MyCobot320 object
mc = MyCobot320("/dev/ttyAMA0", 115200)
# make it move to zero position
mc.send_angles([0, 0, 0, 0, 0, 0], 40)
time.sleep(3)
# Pro adaptive gripper needs to be set to transparent transmission mode before use
mc.set_gripper_mode(0)
time.sleep(1.5)
num = 5
while num > 0:
# Set the state of the gripper to quickly open the gripper at a speed of 70, Parameter 1 represents pro adaptive gripper type
mc.set_gripper_state(0, 70, 1)
time.sleep(3)
# Set the state of the gripper to quickly close the gripper at a speed of 70, Parameter 1 represents pro adaptive gripper type
mc.set_gripper_state(1, 70, 1)
time.sleep(3)
num -= 1
num = 3
while num > 0:
# Set the gripper value to 0 and the speed to 70, Parameter 1 represents pro adaptive gripper type
mc.set_gripper_value(0, 70, 1)
time.sleep(3)
# Set the gripper value to 50 and the speed to 70, Parameter 1 represents pro adaptive gripper type
mc.set_gripper_value(50, 70, 1)
time.sleep(3)
# Set the gripper value to 0 and the speed to 70, Parameter 1 represents pro adaptive gripper type
mc.set_gripper_value(0, 70, 1)
time.sleep(3)
num -= 1
# Get the value of the gripper
print("gripper value:", mc.get_gripper_value())