Skip to main content

Python library for Dobot Magician

Project description

CircleCI

Python library for Dobot Magician

Based on Communication Protocol V1.1.4 (latest version here)

Installation

Install driver from https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

pip install pydobot

Example

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()

Methods

  • Dobot(port, verbose=False) Creates an instance of dobot connected to given serial port.

    • port: string with name of serial port to connect
    • verbose: bool will print to console all serial comms
  • .pose() Returns the current pose of dobot, as a tuple (x, y, z, r, j1, j2, j3, j4)

    • x: float current x cartesian coordinate
    • y: float current y cartesian coordinate
    • z: float current z cartesian coordinate
    • r: float current effector rotation
    • j1: float current joint 1 angle
    • j2: float current joint 2 angle
    • j3: float current joint 3 angle
    • j4: float current joint 4 angle
  • .move_to(x, y, z, r, wait=False) queues a translation in dobot to given coordinates

    • x: float x cartesian coordinate to move
    • y: float y cartesian coordinate to move
    • z: float z cartesian coordinate to move
    • r: float r effector rotation
    • wait: bool waits until command has been executed to return to process
  • .speed(velocity, acceleration) changes velocity and acceleration at which the dobot moves to future coordinates

    • velocity: float desired translation velocity
    • acceleration: float desired translation acceleration
  • .suck(enable)

    • enable: bool enables/disables suction
  • .grip(enable)

    • enable: bool enables/disables gripper
  • .wait(ms) adds a waiting period to the internal queue of messages

    • ms: int number of milliseconds to wait

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydobot-1.3.2.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

pydobot-1.3.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file pydobot-1.3.2.tar.gz.

File metadata

  • Download URL: pydobot-1.3.2.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for pydobot-1.3.2.tar.gz
Algorithm Hash digest
SHA256 fd9bf88701b9edb4a9f0e3ee34e144d4ee3837b5931f78a461c3e9be6d7073f6
MD5 c5b078d52d97f0deaf7e7813654115e7
BLAKE2b-256 378bc4e042466c1d9d73117b6f555f6088ba8627850ef9fa18a9861d963ddfcd

See more details on using hashes here.

File details

Details for the file pydobot-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: pydobot-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for pydobot-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1649f41ca0fc49c0d1f1dcf624ceb8264bbc1522c2366438547917bd353ea25a
MD5 59e2bb53c7b2d23899d76e530dbed8ed
BLAKE2b-256 26d8cf69b982978e92529c8d7c5f077e94bebe213ea56bb6be2c11d89f94e365

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page