Niryo_robot_programs_manager

This package is in charge of interpreting/running/saving programs. It is used by Niryo Studio.

Programs manager node

The ROS Node is made of several services to deal with the storage and running of programs.

Calls are not available from the Python ROS Wrapper, as it is made to run its programs with the Python ROS Wrapper.

It belongs to the ROS namespace: /niryo_robot_programs_manager/.

Parameters - Programs manager

Programs Manager’s Parameters
Name Description
autorun_file_name Name of the file containing auto run infos
programs_dir Path to the Program storage mother folder

Services - Programs manager

Programs manager Services
Name Message Type Description
execute_program ExecuteProgram Executes a program
execute_program_autorun Trigger Executes autorun program
get_program GetProgram Retrieves saved program
get_program_autorun_infos GetProgramAutorunInfos Gets autorun settings
get_program_list GetProgramList Gets saved programs’ name
manage_program ManageProgram Saves and Deletes programs
set_program_autorun SetProgramAutorun Sets autorun settings
stop_program Trigger Stops the current running program

All these services are available as soon as the node is started whereas on standalone mode or not.

Dependencies - Programs manager

Services files - Programs manager

ExecuteProgram

bool execute_from_string

string name
string code_string

niryo_robot_programs_manager/ProgramLanguage language
---
int16 status
string message
string output

GetProgram

string name

niryo_robot_programs_manager/ProgramLanguage language
---
int32 status
string message

string code
string description

GetProgramAutorunInfos

---
int32 status
string message

niryo_robot_programs_manager/ProgramLanguage language
string name

# Mode
int8 ONE_SHOT = 1
int8 LOOP = 2

int8 mode

GetProgramList

niryo_robot_programs_manager/ProgramLanguage language
---
string[] programs_names
niryo_robot_programs_manager/ProgramLanguageList[] list_of_language_list
string[] programs_description

ManageProgram

# Command
int32 SAVE = 1
int32 DELETE = -1
int8 cmd

# Program Name
string name

# - Creation
niryo_robot_programs_manager/ProgramLanguage language

string code
string description

bool allow_overwrite
---
int16 status
string message

SetProgramAutorun

# Program language
niryo_robot_programs_manager/ProgramLanguage language

# Program Name
string name

# Mode
int8 DISABLE = 0
int8 ONE_SHOT = 1
int8 LOOP = 2

int8 mode

---
int16 status
string message

Messages files - Programs manager

ProgramIsRunning

bool program_is_running

int8 EXECUTION_ERROR = -2
int8 FILE_ERROR = -1
int8 NONE = 0
int8 PREEMPTED = 1
int8 SUCCESS = 2

int8 last_execution_status
string last_execution_msg

ProgramLanguage

int8 NONE = -1

int8 ALL = 0

# Runnable
int8 PYTHON2 = 1
int8 PYTHON3 = 2

# Not Runnable
int8 BLOCKLY = 66

int8 used

ProgramLanguageList

niryo_robot_programs_manager/ProgramLanguage[] language_list

ProgramList

string[] programs_names
niryo_robot_programs_manager/ProgramLanguageList[] list_of_language_list
string[] programs_description