Based on Communication Protocol V1.1.4 (_latest version here_)
Install driver from https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
pip install pydobot
from serial.tools import list_ports
import pydobot
available_ports = list_ports.comports()
print(f'available ports: {[x.device for x in available_ports]}')
port = available_ports[0].device
device = pydobot.Dobot(port=port, verbose=True)
(x, y, z, r, j1, j2, j3, j4) = device.pose()
print(f'x:{x} y:{y} z:{z} j1:{j1} j2:{j2} j3:{j3} j4:{j4}')
device.move_to(x + 20, y, z, r, wait=False)
device.move_to(x, y, z, r, wait=True) # we wait until this movement is done before continuing
device.close()
Dobot(port, verbose=False) Creates an instance of dobot connected to given serial port.
.pose() Returns the current pose of dobot, as a tuple (x, y, z, r, j1, j2, j3, j4)
.move_to(x, y, z, r, wait=False) queues a translation in dobot to given coordinates
.speed(velocity, acceleration) changes velocity and acceleration at which the dobot moves to future coordinates
.suck(enable)
.grip(enable)
.wait(ms) adds a waiting period to the internal queue of messages