Project-wide robot control interface and MG400 implementation

dobot is an implementation of the project’s common robot-control interface for the DOBOT MG400. MG400 is the supported hardware, not the origin of the common interface. The interface is defined by the project and also applied to COBOTTA and Universal Robots (UR) integrations; it is not a vendor API inherited from COBOTTA.

Applications / automation systems
                |
      Project-wide robot I/F
                |
      +---------+---------+
      |         |         |
  DobotCtrl   COBOTTA     UR
      |       adapters   adapters
  DobotTcp
      |
  DOBOT MG400 TCP/IP API
      |
   MG400 hardware

The diagram shows the design relationship. The exact class names and feature coverage of the COBOTTA and UR implementations cannot be verified from this repository alone.

Responsibilities

  • Common interface: consistent method shapes for move, drive, take_arm, give_arm, motor control, error reset, and status access.

  • DobotCtrl: public MG400-facing implementation of the common interface, delegating to DobotTcp.

  • DobotTcp: MG400-specific coordinate and command conversion, TCP communication, and live status handling.

  • Vendor API and extension layer: access the DOBOT TCP/IP commands while keeping vendor code separate from project extensions.

  • ese774_frame: transparently exposes DobotCtrl public methods and properties over HTTP/JSON. It does not define the common robot interface.

Sharing an interface does not imply identical capabilities. Unsupported MG400 features must remain explicitly unsupported rather than being simulated silently.

Local and remote control

Local programs instantiate DobotCtrl directly. Remote programs access the same DobotCtrl instance through an ese774_frame server. No separate remote robot-control API is introduced. HTTP request completion is distinct from physical motion completion.

Manufacturer manuals

The DobotStudio Pro user manual describes hardware setup, coordinate systems, programming, and safety; it does not define this project’s Python interface. The MG400 maintenance manual covers safety, inspection, and alarms. Python feature support must be established from the source code.