Skip to content

Overview

This document describes the gRPC-based ACS (Autonomous Control System) API for Bear ACS users. The ACS API provides methods for controlling Carti600 and enables users to:

  1. Dispatch and manage tasks — Create task chains, reassign, cancel, and query task status
  2. Monitor and control robots — Retrieve online robot states, pause and resume robot operations
  3. Retrieve map information — Query map vertex/point data including docking configurations

The ACS API is deployed on-premises and communicates via gRPC with HTTP/JSON transcoding support.

Available RPCs

Category RPC HTTP Method Description
Task AddTaskChain POST /task/add Dispatch a sequence of tasks to AMRs
Task ReassignTaskByAmrId PUT /taskChain/reassignByAmrId/{amr_id} Reassign tasks for a specific robot
Task ReassignTaskByTaskChainId PUT /taskChain/reassignByTaskChainId/{task_chain_id} Reassign tasks under a specific task chain
Task FinishTaskChain GET /taskChain/endFinishPauseIsFalseTask/{task_chain_id} Mark a dispatch confirmation task as completed
Task QueryTaskChain GET /task/getTaskChainByIds Retrieve task chain info with status and timing
Task CancelTaskChain POST /task/cancel/{task_chain_id} Cancel a task chain
Robot GetOnlineRobots GET /amr/onlineAmr Get all online robots with their states
Robot PauseRobot POST /amr/taskCommand/pause/{amr_id} Pause a robot's task execution
Robot ResumeRobot POST /amr/taskCommand/resume/{amr_id} Resume a paused robot
Map GetMap GET /map/getMapVertexes/{map_id} Get map vertex/point information

Communication Pattern

All RPCs are unary (request/response). The following sequence diagram illustrates how a request flows from a client to the ACS system:

sequenceDiagram
    box Client Network
    participant Client
    end
    box On-Prem Network
    participant ACS as ACS API Service
    participant CS as Control System
    end

    Client->>ACS: gRPC / HTTP Request
    ACS->>CS: Forward to Control System
    CS->>ACS: Return result
    ACS->>Client: Forward response