How to deploy an Android application on Pepper QiSDK with Command Center
Discovering Command Center and App Lifecycle¶
Let’s start this lesson with the first step: introducing the Command Center platform developed at SoftBank Robotics in order to make the applications remotely available to robots. You will also learn about Command Center Application Lifecycle, as well as the application validation process by QA (Quality Assurance team) through the QA cycle and application versioning (beta or release).
What is Command Center?¶
Command Center is a platform on which you can manage both your robots and apps. Thanks to this platform, you can now upload your solutions and deploy them on your robot fleet very easily.
Among new features, you can now manage licences and find useful applications more easily.
The three interfaces of Command Center¶
Command Center consists of 3 websites: the Client Interface, the Developer Interface and the Store Interface.
The Client Interface
On the Command Center Client Interface, you can manage your robots and deploy your different solutions to a robot or a group of robots.
The interface is available at this address: https://command-center.softbankrobotics.com/client/
On the Client Interface, you can take the following actions:
- Assign and remove missions
- Give specific persons access to robot administration or view, such as the rights to deploy missions or tasks
- Change a robot name
- Create groups of robots
- Assign users to a group
- Invite new users
- Assign roles to users
- Edit users’s profiles
You can find all the relevant information by following our video tutorial - Client.
The Developer Interface
On the Command Center Developer Interface you can upload your applications, request QA and manage licences as needed.
The interface is available at this address: https://command-center.softbankrobotics.com/dev/
On the Developer Interface you can take the following actions:
- Upload an Android-based mission (.apk)
- Upload a Naoqi-based mission (.pkg)
- Archive and restore a mission
- Edit a mission’s informations
- Invite contributors
- Share a beta version of a mission
- Request or cancel a mission’s QA validation
- Release a mission on the store
- Distribute licences
You can find all the relevant information by following our video tutorial - Developer.
If you do not see a "Dev" icon on the top of the Command Center page when logged in (it should be located next to the "Client" icon), it means that you do not have access to the Developer Interface. Please contact the SoftBank Robotics Support team, they will grant you the correct access rights.
On the Command Center Store Interface you can access a catalogue of applications with improved filters to easily find the application that fits your needs.
The interface is available at this address: https://command-center.softbankrobotics.com/store/
You can find all the relevant information by following our video tutorial - Store.
Command Center ecosystem¶
Command Center uses a specific vocabulary, for example a Mission can be either an application or a group of applications. If you don't feel comfortable with some terms, you can find the list of all the specific terms in Command Center Glossary
The glossary is also available at the end of this lesson in the glossary section
Command Center makes sure that the robot supports the API level corresponding to the app you chose (or any other specific requirement) before assigning it.
Assigning a mission to a robot or a group of robots does not deploy it on the robots right away. It just makes it available for download on the next robot update.
On the robot side, Android applications are downloaded, installed and updated automatically (often at boot). You can also force the update using the "Update SoftBank Robotics Applications" app directly available on the tablet. You will learn about this on the step Deploying the application on Pepper QiSDK
Command Center lifecycle of an application¶
Let’s go through the Command Center lifecycle of an application. For the first deployment of an app you can skip this part and go directly to the next step of the lesson. By default your application will be stored as a Beta version and you can use it as is in your development phase.
Please note that in this lesson we talk about the application lifecycle in the context of Command Center which is different than the Android and Robot lifecycle.
By the way, you can get more information on the Android and Robot lifecycle in the article Android Studio logs explained through QiSDK app lifecycle
Now in order to ask for the validation of your app, it is necessary to understand the Application Lifecycle when . You can interact with the SoftBank Robotics Support team if after reading this section you need more information.
An application uploaded to Command Center can have several status, among which Beta and Release versions, as well as intermediate QA phases status that we will give more details about in this section. This is the Application lifecycle.
Beta version of your app¶
By default, when you upload an application on Command Center, it appears first as a Beta version.
At this moment you can :
- Deploy the application on your own robots for an unlimited amount of time.
- Share the application for 30 days with a customer or a partner (renewable indefinitely).
- Archive the app: when you archive a specific version of an app, this version will be uninstalled from all the robots on which it was installed.
- Submit the application to QA.
In order to share a beta version of an application for a 30 days period, the customer or partner you share it with must have an access to the Developer Interface as well.
Once you submit an application for QA, there are several intermediate phases:
- QA Stand-by: waiting for the QA team to start testing
- QA in Progress: the QA team is reviewing the specs and running the tests.
- QA Rejected or QA Approved: you will get a report from QA with a list of the tests and results. If blockers were found your application can be rejected, otherwise it should be approved.
Once your application is QA Approved, you can choose between 2 kinds of release :
- Private Release: you only share the app with someone that has a Command Center account by giving to him one or multiple licence(s) through the Developer Interface (for a specific amount of time or forever).
- Public Release: visible for anyone who has access to Command Center. In the Developer Interface you can choose if the app is a paying mission of not. If it is paying, you will have to give a licence to allow someone to assign it to their robot, if not, anyone can install it.
In the diagram below, you will find all the actions that you can take as a developer linked to the ones of our QA team.
Let’s now switch to a more operational part: in the next step, you will discover how to prepare your app for upload to Command Center.