Niryo robot System API Client

This package is wraps a python client to the System API. It also expose some ROS services for the CPP packages to use the API.

It belongs to the ROS namespace: /niryo_robot_system_api_client.

System API Client API functions

System API Client

The library has been designed in order to be ROS agnostic, so it can be used in any python code. For instance, a script getting the robot name via Python ROS Wrapper will looks like:

from niryo_robot_system_api_client import system_api_client

response = system_api_client.get_setting('robot_name')
robot_name = response.data['robot_name']

System API Client ROS wrapper

In order to control the robot more easily than calling each topics & services one by one, a Python ROS Wrapper has been built on top of ROS.

For instance, a script getting the robot name via Python ROS Wrapper will looks like:

from niryo_robot_system_api_client.api import SystemAPIRosWrapper

client = SystemAPIRosWrapper()
robot_name = client.get_setting('robot_name')

API list

Package Documentation

ROS Topics

Publishers

Topic Name

Type

Description

/niryo_robot_database/setting_update

niryo_robot_database/Setting

N/A

/rosout

rosgraph_msgs/Log

N/A

/niryo_robot_system_api_client/setting_update

niryo_robot_system_api_client/SettingMsg

Publish the new setting when it has been changed in the system API

Subscribers

Topic Name

Type

Description

/niryo_robot_system_api_client/setting_update

niryo_robot_system_api_client/Setting

N/A

ROS Services

Service Name

Type

Description

/niryo_robot_database/settings/get

niryo_robot_system_api_client/GetSettings

N/A

/niryo_robot_database/settings/set

niryo_robot_system_api_client/SetSettings

N/A

/niryo_robot_system_api_client/get_loggers

roscpp/GetLoggers

N/A

/niryo_robot_system_api_client/set_logger_level

roscpp/SetLoggerLevel

N/A

/niryo_robot_system_api_client/settings/get

niryo_robot_system_api_client/GetSettings

N/A

/niryo_robot_system_api_client/settings/set

niryo_robot_system_api_client/SetSettings

N/A

/niryo_robot_system_api_client/settings/set

niryo_robot_system_api_client/SetSettings

Set a setting in the system API

/niryo_robot_system_api_client/settings/get

niryo_robot_system_api_client/GetSettings

Get a setting from the system API

ROS Parameters

Parameter Name

Default value

Simulation value

Unit

Description

/niryo_robot_system_api_client/hardware_version

ned

N/A

N/A

N/A

/niryo_robot_system_api_client/initialized

True

N/A

N/A

N/A

/niryo_robot_system_api_client/log_level

INFO

N/A

N/A

N/A

/niryo_robot_system_api_client/hardware_version

ned

N/A

string

Hardware version of the robot

/niryo_robot_system_api_client/initialized

false

N/A

bool

Whether the system_api_client node has been initialized or not

ROS Action

Namespace: None