Pepper Extras: a companion library

An android library as a collection of utility classes for Pepper QiSDK
Pepper Extras: a companion library

SoftBank Robotics Labs is a set of public SoftBank Robotics projects (experimental code snippets, helper libraries, etc.) hosted on GitHub for anybody developing for Pepper and NAO.
For the whole project and all the instructions on how to run and use it, please go and see the project on Github.

This library is a collection of utilities for Pepper QiSDK that we have found generally useful when making applications, and that we hope can help you too.

More specifically, it includes:

  • New actions:
    • StubbornGoTo (tries again in case of failure, with different strategies).
    • ExtraLookAt (a special LookAt action that, among other things, can end as soon as the object is seen).
  • An ExplorationMapView widget (displays Pepper’s map and its real time position.).
  • Geometry helpers around Frames, Transform, Quaternions etc. - the idea being to have the same kind of functionality you could have with almath when using NAOqi in Python.
  • An integration of QiSDK Futures with kotlin coroutines, allowing to write asynchronous, non-thread-blocking code as if it was synchronous (without needing andThenConsume, thenApply etc. that tend to hinder readability)
  • A withRobotFocus utility that allows you to get a qiContext in your instrumented test case, so you can call QiSDK functions. You can then choose to run your instrumented test cases on a real robot or on emulator.

These are all built atop the standard QiSDK and do not use any special access. The library is written in Kotlin, but can also be used in projects written in Java.