[Documentation] [TitleIndex] [WordIndex

Robot App Store Design

Vision

The robot app store (RAS) is a place to share robot applications. The RAS is also the infrastructure that supports the development, packaging, and deployment of apps.

Story: PR2 Developer

I've just gotten my PR2 to fold t-shirts. I want to share this demo with other PR2 users, so that they can make their PR2s fold t-shirts. The RAS makes this easy, with the following steps:

Story: PR2 User

I've just heard about the t-shirt folding app, and I want to run it on my PR2. The RAS makes this easy, with the following steps:

Story: Turtlebot Developer: Independent "dance off" app

I've come with a great new "dance off" app for my Turtlebot. It works on pretty much any mobile robot with a Kinect, as long as the Kinect can see a person. The libraries for turtlebot are pretty well defined, so I just want it to take my developer tree, wrap it up, and make it available to everyone else. All I want to tell it is my launch file, and the supported robots. The packager has me confirm the packages that will be wrapped up, and tells me how large the app will be. When it comes time to select supported robots, I can select specific robot platforms. I can also select more general capability-based constraints. In the case of turtlebot, I think it will work with any mobile robot with a navigation stack and a RGB-D camera. The camera has to be either a "base" camera or a "head" camera.

Story: Turtlebot owner: Independent "dance off" app

There's this great new 'dance off' app that works on any mobile robot with a Kinect.

Story: Turtlebot owner: Pano app developer

I wrote this great new 'pano' app that spins a robot at a known location and generates a panorama. It's time to package this app, so I know that my app will work on any robot that is localized and also accepts twist commands to drive a mobile base. I also need a camera, in either a base or head-mounted configuration.

Story: Turtlebot owner: Pano app and extension

There's this great new 'pano' app that adds to the set of tasks that my robot knows how to do. With this new task, I can select points on a map that the robot will take panorama at. The great thing about this app is that I can mix it with other tasks. I can tell it to go to one location and take a pano, I can tell it to go to another location and do task "pickup mail", and yet another location and do task "vacuum", and when it's all done it returns to its docking station to recharge.

Story: automator

As a user, I can sequence a bunch of my tasks on a map. Below the map, a timeline estimates how long the tasks will take, and also estimates how long the battery will last.

Story: Turtlebot v2 developer: Content apps

Turtlebot v2 has a screen to display content to a user. There's an interactive storybook app that I want to write a new story for. I write the content for my new story, cueing appropriate spins, trills, and other flourishes of the robot, and then package it into the eTurtleStory format. I publish this to the eTurtleStory store, where it appears for the many Turtlebot owners to download and enjoy.

Story: Thing-o-matic developer

I wrote this great new app for the thing-o-matic that can print 3D point clouds. It cleans them up nicely and resizes them appropriate. It just needs 3D models from my robot. The great thing about the app platform is that I can associate my app with the "data explorer" for my robot. Any data that contains 3D models will have a new menu item that lets me 'print to thing-o-matic'. My app actually runs on a laptop connected to the Thing-o-matic. So does the "data explorer", which is another app I downloaded to my laptop.

Story: TV app

As a turtlebot v2 user, I can run my "TV app", which streams my TV programs to me on the v2 screen. The great thing about this app is that the robot follows me as I walk around the house, so I can continue to watch TV while watching the app. When the turtlebot starts running out of battery, a warning appears in the app that tells me that its going to recharge, unless I override it.

Story: turtlebot user

When I go to install the new "dance off" app, the app store tells me that this app needs the ability to record camera images. I thought this app just ran a scripted dancing demo, so I'm a bit suspicious. I decline the install of the app.

Story: teleop app

As a turtlebot owner, I download this new teleop app for my phone. It tells me that I also need to download the teleop app for my robot. When I install the teleop app on my robot, it gives me a code so that I can securely pair my phone with my robot. Once I have confirmed this code, my phone can take over the robot whenever I want and drive it around.

Requirements

TODO; draw from the stories

Questions

Definition

Release

Development

Deployment

Running

Platform

Security


2020-08-08 12:22