Integration Reference
The supported Python control interface is the Robot wrapper from gather_sdk. ROS applies only to separately provisioned integrator robots.
Gather Robot SDK
from gather_sdk import RobotConstructor
Robot(
ecu_host="192.168.4.4",
ecu_port=502,
max_linear_mps=0.25,
max_angular_rps=0.75,
camera_resolution="HD720",
camera_fps=30,
)Core Methods
robot.open() -> None
robot.capture() -> CameraFrame
robot.safety_status() -> SafetyStatus
robot.enable_motors() -> None
robot.drive(linear_mps: float, angular_rps: float) -> None
robot.stop() -> None
robot.disable_motors() -> None
robot.close() -> NoneUse with Robot() as robot: so camera and controller cleanup occurs even when project code raises an error.
SafetyStatus
status.estop_ok
status.motors_enabled
status.service_button_0
status.service_button_1
status.service_button_2estop_ok=True means the physical E-stop circuit reports healthy. Enabling and driving recheck safety and fail closed when health cannot be confirmed.
ROS Integration
Use ROS only when the assigned robot has a separately installed ROS workspace.
Primary guide:
ROS Module (gather_motor)
Published topics:
/motor/engaged(std_msgs/msg/Bool)/motor/estop_engaged(std_msgs/msg/Bool)/motor/button_states(gather_motor/msg/ButtonStates)
Subscribed topics:
/cmd_vel(geometry_msgs/msg/Twist)/motor/enable(std_msgs/msg/Bool)
Services:
/motor/set_lights(gather_motor/srv/SetLights)/motor/reset_service_buttons(gather_motor/srv/ResetServiceButtons)
/motor/estop_engaged=true is a motion-inhibit state. In the Gather SDK, the corresponding developer-facing value is SafetyStatus.estop_ok=false.
Interface Boundaries
- Use
Robotfor Python camera, safety, and motion projects. - Do not import or configure the controller backend directly.
- The developer SDK does not include ROS packages.
- Installed project internals are not public APIs.