ABB Robotics Injects NVIDIA AI Brains Into Factory Robots


endpoints: robots: - index: “indexes/robot” path: “/robots” - index: “robot” path: “/robots/:id”

tags:

  • name: “Robots” description: “Robot management operations”
  • name: “AI” description: “Artificial Intelligence operations”

components: schemas: Robot: type: “object” properties: id: type: “integer” description: “Unique identifier for the robot” name: type: “string” description: “Name of the robot” status: type: “string” enum: [“active”, “inactive”, “maintenance”] description: “Current status of the robot” manufacturer: type: “string” description: “Manufacturer of the robot” model: type: “string” description: “Model of the robot” manufacturing_date: type: “string” format: “date” description: “Date when the robot was manufactured” specs: type: “object” properties: max_speed: type: “number” description: “Maximum speed in m/s” payload_capacity: type: “number” description: “Maximum payload in kg” reach: type: “number” description: “Maximum reach in meters” degrees_of_freedom: type: “integer” description: “Number of degrees of freedom” accuracy: type: “number” description: “Positioning accuracy in mm” repeatability: type: “number” description: “Repeatability in mm” power_consumption: type: “number” description: “Power consumption in kW” weight: type: “number” description: “Weight in kg” dimensions: type: “object” properties: length: type: “number” description: “Length in mm” width: type: “number” description: “Width in mm” height: type: “number” description: “Height in mm” capabilities: type: “array” items: type: “string” description: “List of robot capabilities” applications: type: “array” items: type: “string” description: “List of suitable applications” sensors: type: “array” items: type: “string” description: “List of installed sensors” actuators: type: “array” items: type: “string” description: “List of installed actuators” programming_language: type: “string” description: “Programming language used” communication_protocols: type: “array” items: type: “string” description: “Supported communication protocols” safety_features: type: “array” items: type: “string” description: “Safety features” certifications: type: “array” items: type: “string” description: “Certifications” image_url: type: “string” description: “URL to robot image” documentation_url: type: “string” description: “URL to documentation” manufacturer_website: type: “string” description: “Manufacturer website URL” price: type: “number” description: “Price in USD” warranty_period: type: “integer” description: “Warranty period in months” maintenance_interval: type: “integer” description: “Maintenance interval in hours” created_at: type: “string” format: “date-time” description: “Creation timestamp” updated_at: type: “string” format: “date-time” description: “Last update timestamp” required: - name - manufacturer - model

RobotCreate:
  type: "object"
  required:
    - name
    - manufacturer
    - model
    - status
  properties:
    name:
      type: "string"
    manufacturer:
      type: "string"
    model:
      type: "string"
    status:
      type: "string"
      enum: ["active", "inactive", "maintenance"]
    manufacturing_date:
      type: "string"
      format: "date"
    specs:
      $ref: "#/components/schemas/RobotSpecs"
    capabilities:
      type: "array"
      items:
        type: "string"
    applications:
      type: "array"
      items:
        type: "string"
    sensors:
      type: "array"
      items:
        type: "string"
    actuators:
      type: "array"
      items:
        type: "string"
    programming_language:
      type: "string"
    communication_protocols:
      type: "array"
      items:
        type: "string"
    safety_features:
      type: "array"
      items:
        type: "string"
    certifications:
      type: "array"
      items:
        type: "string"
    image_url:
      type: "string"
    documentation_url:
      type: "string"
    manufacturer_website:
      type: "string"
    price:
      type: "number"
    warranty_period:
      type: "integer"
    maintenance_interval:
      type: "integer"

RobotUpdate:
  type: "object"
  properties:
    name:
      type: "string"
    status:
      type: "string"
      enum: ["active", "inactive", "maintenance"]
    specs:
      $ref: "#/components/schemas/RobotSpecs"
    capabilities:
      type: "array"
      items:
        type: "string"
    applications:
      type: "array"
      items:
        type: "string"
    sensors:
      type: "array"
      items:
        type: "string"
    actuators:
      type: "array"
      items:
        type: "string"
    programming_language:
      type: "string"
    communication_protocols:
      type: "array"
      items:
        type: "string"
    safety_features:
      type: "array"
      items:
        type: "string"
    certifications:
      type: "array"
      items:
        type: "string"
    image_url:
      type: "string"
    documentation_url:
      type: "string"
    manufacturer_website:
      type: "string"
    price:
      type: "number"
    warranty_period:
      type: "integer"
    maintenance_interval:
      type: "integer"

RobotSpecs:
  type: "object"
  properties:
    max_speed:
      type: "number"
    payload_capacity:
      type: "number"
    reach:
      type: "number"
    degrees_of_freedom:
      type: "integer"
    accuracy:
      type: "number"
    repeatability:
      type: "number"
    power_consumption:
      type: "number"
    weight:
      type: "number"
    dimensions:
      type: "object"
      properties:
        length:
          type: "number"
        width:
          type: "number"
        height:
          type: "number"

Error:
  type: "object"
  properties:
    code:
      type: "integer"
    message:
      type: "string"

RobotListResponse:
  type: "object"
  properties:
    total:
      type: "integer"
    page:
      type: "integer"
    page_size:
      type: "integer"
    data:
      type: "array"
      items:
        $ref: "#/components/schemas/Robot"

securitySchemes: bearerAuth: type: “http” scheme: “bearer” bearerFormat: “JWT”

security:

  • bearerAuth: []

paths: /robots: get: summary: “Get all robots” description: “Retrieve a list of all robots with optional filtering” tags: - “Robots” parameters: - name: “status” in: “query” schema: type: “string” enum: [“active”, “inactive”, “maintenance”] description: “Filter by status” - name: “manufacturer” in: “query” schema: type: “string” description: “Filter by manufacturer” - name: “application” in: “query” schema: type: “string” description: “Filter by application” - name: “page” in: “query” schema: type: “integer” default: 1 description: “Page number” - name: “page_size” in: “query” schema: type: “integer” default: 20 description: “Page size” responses: “200”: description: “Successful response” content: application/json: schema: $ref: “#/components/schemas/RobotListResponse” “400”: description: “Bad request” content: application/json: schema: $ref: “#/components/schemas/Error” “401”: description: “Unauthorized” content: application/json: schema: $ref: “#/components/schemas/Error” “500”: description: “Internal server error” content: application/json: schema: $ref: “#/components/schemas/Error”

post:
  summary: "Create a new robot"
  description: "Add a new robot to the system"
  tags:
    - "Robots"
  security:
    - bearerAuth: []
  requestBody:
    required: true
    content:
      application/json:
        schema:
          $ref: "#/components/schemas/RobotCreate"
  responses:
    "201":
      description: "Robot created successfully"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Robot"
    "400":
      description: "Bad request"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "401":
      description: "Unauthorized"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "500":
      description: "Internal server error"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"

/robots/{id}: get: summary: “Get a robot by ID” description: “Retrieve detailed information about a specific robot” tags: - “Robots” parameters: - name: “id” in: “path” required: true schema: type: “integer” description: “Robot ID” responses: “200”: description: “Successful response” content: application/json: schema: $ref: “#/components/schemas/Robot” “404”: description: “Robot not found” content: application/json: schema: $ref: “#/components/schemas/Error” “500”: description: “Internal server error” content: application/json: schema: $ref: “#/components/schemas/Error”

put:
  summary: "Update a robot"
  description: "Update an existing robot's information"
  tags:
    - "Robots"
  security:
    - bearerAuth: []
  parameters:
    - name: "id"
      in: "path"
      required: true
      schema:
        type: "integer"
      description: "Robot ID"
  requestBody:
    required: true
    content:
      application/json:
        schema:
          $ref: "#/components/schemas/RobotUpdate"
  responses:
    "200":
      description: "Robot updated successfully"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Robot"
    "400":
      description: "Bad request"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "401":
      description: "Unauthorized"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "404":
      description: "Robot not found"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "500":
      description: "Internal server error"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"

delete:
  summary: "Delete a robot"
  description: "Remove a robot from the system"
  tags:
    - "Robots"
  security:
    - bearerAuth: []
  parameters:
    - name: "id"
      in: "path"
      required: true
      schema:
        type: "integer"
      description: "Robot ID"
  responses:
    "204":
      description: "Robot deleted successfully"
    "401":
      description: "Unauthorized"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "404":
      description: "Robot not found"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
    "500":
      description: "Internal server error"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"

info: title: “Robot Management API” description: “API for managing industrial robots” version: “1.0.0” contact: name: “API Support” email: “[email protected]

openapi: 3.0.0