Robot Application Standards

On this page

Before publishing your Applications on the SoftBank Robotics Store , take a few minutes to read and understand the following requirements. Make sure your application is compliant with all of them before publishing it on the SoftBank Robotics Store .

Note

These requirements aim to keep a good quality in Applications intended for SoftBank Robotics robots. Applications that violate any of these requirements will not be accepted in the SoftBank Robotics Store .

Reliability

  • The Application MUST NOT exhibit bugs.
  • The Application MUST be able to run multiple times without restarting NAOqi or the robot itself.
  • The Application MUST NOT download code in any way or form.

Modules and Services

  • The Application MUST NOT unregister any standard NAOqi module or service.
  • The Application MUST only use documented APIs in the manner prescribed by SoftBank Robotics and must not use or call any private APIs.
  • The Application MUST register only its own modules or services after being launched, and MUST unregister all of them, before exiting either voluntarily or not.
  • The Application MUST reset all parameters and settings from standard NAOqi modules and services, that it has previously modified, before exiting either voluntarily or not.

Motion Safety

  • The Application MUST be able to start from any robot posture.
  • The Application MUST NOT make the robot intentionally collide with himself or with his environment.
  • The Application MUST NOT drive the robot to carry objects heavier than 400 grams.

Autonomous Life

  • The Application MUST NOT disable Autonomous Life.
  • The Application’s activities MUST be able to be launched by Autonomous Life via: launch trigger conditions, trigger sentences, and/or the robot’s tablet.
  • The Application MUST NOT contain launch trigger conditions that are always true.
  • Trigger sentences MUST be specific enough to avoid conflicts with other Applications.
  • The Application MUST define syntactically correct trigger sentences in every supported language, if the Application can be launched orally using trigger sentences.
  • The Application MUST NOT contain more than one activity flagged as “May start on user request”.
  • The Application MUST stop within 10 seconds on user’s stop request.
  • The Application MUST stop all the behaviors, that it has manually started or run, before exiting either voluntarily or not.

Resources and Data

  • The Application MUST only modify ALMemory keys created by the Application.
  • The Application MUST unsubscribe from all the extractors, to which it has previously subscribed, before exiting either voluntarily or not.
  • The Application MUST release all the resources, that it has previously acquired, before exiting either voluntarily or not.
  • The Application MUST only save and modify files inside its User Writeable Data directory or its User Writeable Conf directory. The paths must be retrieved using the provided API.
  • The Application MUST NOT crash due to incompatibility of data or configuration files previously saved in its User Writeable Data or its User Writeable Conf directories.

Naming Conventions

  • The Application’s title MUST be specific enough to avoid conflicts with other Applications.
  • The Application MUST have a syntactically correct title in every supported language.
  • The Application ID MUST be directly related to the Application title.
  • The Application ID MUST only contain lower-case ASCII letters or numbers, and the words must be separated by a dash.
  • The Application ID MUST contain between 4 and 64 characters.

Packaging and Installation

  • The Application MUST contain a Manifest file.
  • The Application MUST specify, in its Manifest, the robot models it is compatible with.
  • The Application MUST specify, in its Manifest, the minimum NAOqi version it is compatible with.
  • The Application MUST contain a description in every supported language.
  • The Application MUST specify in its description if any object is required.
  • The Application MUST specify in its description if it requires the robot to move from its starting position.
  • The Application MUST list in its description all external required Applications.
  • The Application MUST contain a 320x320 icon with a PNG format.
  • The Application MUST NOT contain a scaled, blurry or pixelated icon.
  • The Application MUST be installed and updated through the SoftBank Robotics Store exclusively.
  • The Application MUST NOT require extra manual operations during installation.