|Area of Focus
|Alexa Voice Service, Robotics, Sensors, Smart Cities, Embedded, Smart Home
|Ubuntu / Ubuntu Core
|Amazon AWS IoT
|Qualcomm Robotics RBx Dev Kit
The Qualcomm® Robotics RB5 Development Kit is an artificial intelligence (AI) board for makers, learners, and developers. It is based on the Qualcomm® QRB5165 SoC. After following along with this brief guide, you should be ready to start building practical AI applications, cool robots, and much more.
QRB5165 is the new generation premium-tier processor for robotics applications. It is designed with the 7 nm process for superior performance and power efficiency.
In this project we describe integration of Alexa skills with Qualcomm Robotics RB5 Development kit.
The main objective for this project is to showcase the use of Alexa skills to control a robot. The idea is straightforward – you can use your commercial Amazon Echo device to talk to your robot. This project is designed to demonstrate a simple use-case in a live running example which can be extended to complex use cases as per the requirements.
The outcome is using voice commands to control the robot and implement some basic actions like starting the robot, increasing its speed, decreasing its speed, and then stopping it.
Source Code / Source Examples / Application Executable
RB5 Alexa skill (GitHub Link coming soon!)
RB5 Adaptation Node (GitHub Link coming soon!)
Build / Assembly Instructions
The below picture shows the system architecture of Alexa skills with Qualcomm Robotics RB5 development kit.
- An Alexa skill can be designed specifically to support Robotics use cases. Alexa skills primarily use AWS infrastructure (managed by Amazon) for ease in deployment.
- The skill can be linked to a lambda function which is designed to handle user specific commands.
- Once a user speaks a command (after invoking the keyword “Alexa”), the skill handler receives an event. The event is routed to the specific handler of the exact user phrase spoken. The configuration of the skills has been done in JSON via the Amazon skills configuration page.
- The handler which handles the command does the job of converting the message (from Alexa) to one which can be handled by the Qualcomm Robotics RB5 development kit.
There is an event listener (as a ROS Node) on the Qualcomm Robotics RB5 development kit which is blocked on a socket. As soon as data is received on the socket, the ROS2 node de-multiplexes the message and converts it to motor controls (Twist) messages to maneuver the robot. Some sample skill phrases that can be created are:
- Increase speed
- Decrease speed
The following needs to be done to deploy the project.
- Create an Alexa skill. Sample Alexa skills to get you started with the development activity are coming soon!
- Deploy the Alexa skill by following the instructions given in Amazon Alexa documentation.
- Deploy the lambda IoT engine (specific) to the Qualcomm Robotics RB5 development kit on any AWS infrastructure. You will need to create a specific AWS account to ensure the IoT engine can be deployed for the project. Once deployed, please note the IP address and configure the IP address on the Qualcomm Robotics RB5 development kit node which handles the Alexa skill.
- Download the Alexa skills ROS package on the Qualcomm Robotics RB5 development kit and do on-device compilation of the ROS node which handles the Alexa skill. You can find specific instructions to compile ROS nodes on ROS2 website.
- Once this is done start the ROS node and restart the Qualcomm Robotics RB5 development kit.
- You will need an Echo device and follow the instructions mentioned in steps 3-5 to deploy the Alexa skill.
- You will need to login with the same account on your Echo device which has the Alexa skill.
Speak to the Echo device with the instructions per the skill documentation. E.g.a. “Alexa, open demo robot”b. “Alexa, move demo forward”c. “Alexa, increase demo speed”
|Qualcomm Technologies, Inc.
Qualcomm Robotics RB5 and Qualcomm QRB6165 are products of Qualcomm Technologies, Inc. and/or its subsidiaries