App Summary
PocketBot for Ros is an Android application and ROS node. It provides both controls for a ROS enabled robot and social interactions. In addition the app uses WebRTC for telepresence.
Installation
From the Play Store
This app has been tested with ROS indigo, kinetic and lunar. On Ubuntu 14.04, 16.04, 17.04 and HypriotOS on the Rapberry Pi 3.
ROS API
pocketbot_ABCD
The node name is randomly generated so that multiple PocketBots may connect at the same time.Published Topics
pocketbot/emotion (std_msgs/String)- Emotional state of the robot. (JOY, ACCEPTED, AWARE, ANGER, SADNESS, REJECTED, SURPRISED, FEAR)
- When the PocketBot app recognizes speech it is output on this topic as a String the app normally send this to the AI service
- AI services response, the app will normally speak this text when in face mode
- The current orientation of the Android device
- Position of foremost recognized face
- Output from onscreen joysticks in PocketBot app's control screen. Right joystick outputs linear x and angular z. Left joystick outputs angular y and angular x.
- Current position of robot in latitude and longitude as measured by Android device, position_covariance[0] is the accuracy in meters
- Updated when a new way point is added using PocketBot's navigation interface
- Heading in degrees 0-360 of direction device is facing (front camera)