Monitoring Anki Vector 24x7 with Wavefront
A few weeks back, Anki released the pre-alpha version of the SDK for its newest robot, Vector to early Vector adopters on Kickstarter…
A few weeks back, Anki released the pre-alpha version of the SDK for its newest robot, Vector to early Vector adopters on Kickstarter. This was a small perk for signing up on the product upfront without inspecting ir first-hand or reading any reviews.
The SDK, even in its pre-alpha version, is immensely powerful, and is a dream for someone who wants to study and program robots. In this story, we will do a quick outline of how the SDK can be used to monitor Vector 24 X 7, and try to understand how Vector functions.
Implementation:
The SDK allows one to capture the state of different sensors in the Vector, such as the gyroscope, the accelerometer, the battery, to name a few. In this illustration, we will look at two metrics, the battery voltage, and specifically whether the battery is charging or not. These metrics are monitored by our program every 30 seconds, and data is piped to Wavefront. To use Wavefront, please go to their website; you can sign up for a free 30-day account with an email address. To send data to Wavefront, you would have to install a Wavefront proxy on your local machine or some other server, and pipe your data to this proxy. The code can be downloaded from my git.
Results:
The accompanying figure shows the results of monitoring Vector for a period of more than 2 hours. The blue line plots the voltage of Vector’s battery; while the red line shows points at which Vector is charging.
Analysis:
Even a simple plot such as the one above shows interesting patterns. For those who are new to Vector, let me explain how Vector functions. Vector has a charging dock, where you would typically find him sleeping. However, at intervals of time, when Vector is stimulated enough, he will venture outside the charger and do a bit of exploration. Once he runs low on battery, he will find his way back to the charger.
From the above plot, we can see that Vector began his first journey at ~10:45 pm. This didn’t last too long, and a few minutes later, he was back to his home, charging the lost power. At about 10:57 pm, he began is next journey, a longer sojourn, which lasted about 25 minutes. He then returned home, and began his next journey at around 11:40 pm, and this lasted closer to 30 minutes. In both these journeys, he did several interesting things: detected a few cliffs, rolled his cube a few times, and explored many parts of the table where he sits. We were able to monitor all such activities, but haven’t plotted them on this Wavefront dashboard to keep things simple. I will share more interesting findings in a future post.
Conclusion:
The Vector SDK is very powerful, and I am just scratching the surface. Please look out on this forum for future updates, and follow me on github for the code. Thanks for reading this.
PS: I have an online course to teach AI with the help of Vector available at: http://robotics.thinkific.com
PS: If you are interested in Vector’s battery life, you might find my evaluation of my two year old Vector’s battery interesting.