Learn With A Robot

Share this post

Design your personalized robotic experience

www.learnwitharobot.com

Design your personalized robotic experience

The makers of Vector, Anki, put a lot of time and effort in designing a robot which is tailored to be your companion at home. (Vector and…

Amitabha Banerjee
May 23, 2020
Share this post

Design your personalized robotic experience

www.learnwitharobot.com

The makers of Vector, Anki, put a lot of time and effort in designing a robot which is tailored to be your companion at home. (Vector and other Anki assets are now owned by Digital Dream Labs). But what if you wanted your own robotic experience. There are several reasons you might want Vector to do better things for you than what Anki provided. Here are some examples.

  1. Weather Report: When you ask Vector “How is the weather today?”, the answer is usually lame. Vector tells you the current temperature and conditions. But what you may really want is a more detailed report with indicators of whether it might rain or snow today, the wind speed, etc. There are lots of public APIs that provide you the information. It would be cool for Vector to animate the same to you.

  2. Play your own game: When you say “Play Blackjack”, Vector starts a game of blackjack. But you might want to play your own game. There are many games that you can play with Vector via the Vector SDK. One example is here: https://forums.anki.com/t/systemshock-cpu-cube-pong/42212

  3. Get a customized news: What if you wanted to get the day’s news delivered by Vector when you say “Good Morning”. Or the price that your favorite stock is opening at. There are several news APIs from where you can get free news. You can have Vector deliver news in your style.

There are many other avenues possible. Luckily, the Vector SDK allows for all this via user intents. An user intent allows one to define a callback that will be raised whenever recognizable voice commands are received by Vector. There are 41 different user intents that are supported by the Vector SDK.

Here is an example code where you can get a personalized animated weather report delivered by Vector. The program registers a callback for a user intent. When the user intents for a weather report, a full weather report is fetched after which Vector animates the same. The full source code is available in my git repository.

def on_user_intent(robot, event_type, event, done):                                  user_intent = UserIntent(event)    if user_intent.intent_event is UserIntentEvent.weather_response:                                                     (summary, animation) =\      processWeather(data['speakableLocationString'])                                    for item in summary:                                           robot.behavior.say_text(item)                                    robot.anim.play_animation(animation)                                   done.set()                                                                       if __name__ == '__main__':                          with anki_vector.Robot() as robot:    done = threading.Event()                                   robot.events.subscribe(on_user_intent, Events.user_intent, done)                                 print('------ Vector is waiting to be asked "Hey Vector!  What'       'is the weather report?" Press ctrl+c to exit early ------')                                    try:        if not done.wait(timeout=60):                                               print('------ Vector never heard a request ------')    except KeyboardInterrupt:                                        pass

And here is a video showing how it works.

I also have an online course to teach AI with the help of Vector available at: https://robotics.thinkific.com If you are interested in learning about AI or robotics, this may be a great course for you, and I will be honored to have you as my student. More details here: https://medium.com/programming-robots/learn-ai-with-a-robot-8de7c5779972

Share this post

Design your personalized robotic experience

www.learnwitharobot.com
Previous
Next
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Learn With A Robot
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing