Background

BOW API

BOW API Reference Documentation.

NAMESPACE
BOW API

The BOW API namespace provides the core functionality for connecting to and communicating with BOW robots. It manages user authentication, robot discovery, and data transfer through communication channels like vision, audition, and motor control. The API supports both local and remote robot connections.

METHOD
Version

Get the BOW API and BOW Messages library version information.

METHOD
StartEngine

StartEngine configures the variables required for the BOW API to be instantiated. This function sets up the audio sampling and playback settings, sets the folder name for the log files and otherwise initialises all the variables required for the API.

METHOD
LoginUser

Login with your BOW username and password to initialise communication session and therefore communicate with robots associated with your account. If you have the BOW Hub installed, then you can bypass entering your username and password by setting use_bow_hub to True which will login using the credentials used for the BOW Hub.

METHOD
QuickConnect

The QuickConnect function simplifies the process of connecting to a robot and opening its channels. Quick connect talks to the BOW Hub to login, get a list of robots, connect to the robot chosen via the BOW Hub and open the requested channels.

METHOD
GetRobots

GetRobots returns a list of robots associated with the user account. You can filter robots according to whether they are available remotely or locally. Or you can fetch only the robot currently selected on your BOW Hub.

METHOD
StopEngine

StopEngine closes the BOW Engine, any and all open connections to robots will be closed and the BOW Engine will be stopped. If you would like to restart the BOW Engine after stopping, the start function will need to be called again.

CLASS
BaseChannel

The BaseChannel class is a generic channel template that facilitates sending and receiving typed messages over a named communication channel. This class is a base class that is inherited and explicitly typed by the Robot class channels.

  
Method
IsOpen

Check if channel is open or not.

  
Method
Get

A virtual function to Get data from the channel designed to be overriden by data type specific Robot class channels.

  
Method
Set

A virtual function to Set data to the channel designed to be overriden by data type specific Robot class channels.

CLASS
Robot

The Robot class represents a connection to a BOW robot. Each instance manages a separate robot connection, allowing you to control multiple robots simultaneously. The class handles all communication, data transfer, and modality management between your application and the robot.

 
Property
Details

 
Property
Channels

 
Channel
Vision

 
Channel
Audition

 
Channel
Tactile

 
Channel
Proprioception

 
Channel
Exteroception

 
Channel
Interoception

 
Channel
Motor

 
Channel
Speech

 
Channel
Voice

Method
Init

The Robot class initialiser. The constructor accepts the robot details obtained from GetRobots

Method
Connect

Starts a connection with the robot. This method will start a peer to peer connection with the robot using the robot details provided in the constructor.

Method
OpenChannel

Opens a channel for the given modality. This channel is between the robot and client and makes available data from the chosen modality to be transmitted.

Method
Set

Sends data on an open channel.

Method
Get

Reads data from an open channel. This reads a data message from the robot on the named open channel.

Method
CloseChannel

Closes an open channel. This closes the named open channel.

Method
Disconnect

Close the connection to the robot.This closes the peer to peer connection between the API and the robot.