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 toDobotTcp.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 exposesDobotCtrlpublic 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.