Social Media Responsive Robot Week 4
After our tutorial last week, we came to an agreement that the projection idea may be hindering other possibilities for the environment that may suit the robot’s aesthetic better.
Aims for the week:
-Build physical prototypes for the robot’s environment
-Learn how to program in p5.js and get twitter input
-Complete a basic sentiment analysis code and output sentiment to Arduino
For the environment, we were inspired by pop up books and paper sculptures, and we first experimented with recreating a few of the things we liked of what we found.
Above photos of prototypes from experimentation
Through this experimentation, we decided to create an environment made up of modules that individually represent different emotions.
Modules disguise as the relief box on the background then it can be opened once it gets triggered by Twitter.
The environment module system (close-open)
To receive and send data from twitter, we used p5.js, the twitter API, and Twit, which is a twitter API client for Node. So far we have been able to stream tweets with the mention @Hex_yes which is the twitter handle for the robot, and we are able to see the information about who has mentioned the robot in a tweet, and what they wrote in the tweet.
For the sentiment analysis, also done in p5.js, we used AFINN-111, which is a list of words stating the sentiment score of each word, with each word rated from negative 5 to positive 5. The scores of the words in text that is analysed is added together and gives a total sentiment score. What we want to achieve through this is to associate certain ranges of sentiment scores to certain behaviours in the robot and in its environment. To start with, we were able to send messages from the p5.js sketch to an Arduino, to light up different LEDs based on if the sentiment score of a text was positive, negative, or neutral. Next week we plan to program in the behaviours of the robot that would correspond to the sentiment score.