National Robotics Week – Robot Party tonight!

You’re invited to the Robot Party, tonight at 8PM ET! Join us for lots of fun, knowledge, and robotics! If you have a robot, bring it to the Google+ Hangout (make sure I have you in my circles)! Or, you can watch the stream on the page!
Looking forward to your robots! SEE YA THERE!
ALSO! I’ll be giving a talk at RoboGames about the Robot Party! It will be a lot of fun, looking forward to seeing everyone there! Crossing my fingers that I’ll be able to display my robots as well!
:::
What is the Robot Party?
The Robot Party is a weekly Google+ hangout that brings together robot builders from all over to share their robots, knowledge, and ask questions! It is for all age ranges, young or old, just bring your robot!
The Robot Party is every Thursday at 8PM ET! If you have a robot, join the hangout on Google+! Be sure to leave a comment on one of the posts so we can add you to our circles for the party. If you don’t have a robot/don’t want to be in the hangout, you can watch the Ustream mirror!
:::
robotgrrl.com/robotparty
nationalroboticsweek.org
:::
Uploaded lots of pics from some various Robot Parties last night! Check them out!
More photos coming soon- I pick them out all by hand, so it sometimes takes a while!
RoboBrrd’s First Test Laser Cutting!
There are two pretty cool parts of last week! On Friday I headed over to SpikenzieLabs where they were able to cut the beak pieces and the existing front faces! It was extremely exciting, and Mark and Andy are super generous for lending their time and expertise! On Sunday I worked on modelling stress simulation. But first, let’s look at the laser cut pieces!
Here’s a video of cutting the pieces and all! Watch on YouTube!
The front face came out pretty good. There are some areas that need fixing, like the nose holder part.
The interlocking corner seemed to work well!
The interlocking tabs for the top and side face seemed to work well too
This will definitely need some improvements…
The beak can open without any issues, or so it seems!
The beak pieces fit together in cardboard quite well. The half-deep tabs on the side pieces going into the beak bridge worked fine!
We cut these out onto acrylic to see how well the tabbing did with the real acrylic material! WOW! It was pretty cool!
The pieces actually didn’t fit together. Mark tried with Windex to make them fit together more, but they didn’t.
The width of the tabs is too much for the holes. This will need to be fixed! Also there is a little wiggle room for the height of the tab holes compared to the material. Meep!
The side pieces don’t fit in because the bridge doesn’t fit in.
All in all, the laser cut pieces are exceptionally cool. It’s great to see how fast they are made, and they look very shiny and capture the light really cool! It will be so fantastic to see a RoboBrrd made out of this shiny material at some point. I’m not even sure if I would want to put felt on it…
Speaking of felt, I checked out the eTextile Ustream and after-party Google+ Hangout last week! The person that runs it, @lbruning is so cool! It’s a great community too, they help a lot with giving some ideas and tips since I’m so lost with anything that is soft ^_^ One of the things I was wondering about was decorated coats for RoboBrrd, and they suggested to check out Spoonflower, where you can order a canvas of your design! So I could potentially draw the net of RoboBrrd’s coat onto the artwork, and then the maker could cut it out and put it on their RoboBrrd. Check out this cool design! The fabric could be attached to the RoboBrrd using velcro, or glue if you want it to be permanent. We could also use magnets, but there’s a choking hazard involved there.
NEXT UP! Working on the modelling and stress simulation! Stress simulation in Inventor is something that I was quite interested in figuring out. Once you figure out what you have to do before running the simulation, it gets really easy! Basically you have to assign a material, add some constraints, and add the forces. Then when you press Simulate, it will give you a simulation of all the stresses and such. You can even choose what sort of forces you want to see and all. For the material, I chose PPS Plastic, which is thermoplastic, and acrylic is a type of thermo plastic. Here is a timelapse of the Inventorness progress this week.
Here you can see what it looks like when there is force applied to all the sides. I believe this one was 10lbs of force, constrained along the bottom. This is the 3rd principal stress, which helps understand the maximum compressive stress that it can handle. According to the physical properties of acrylic, the max for a 6mm sheet is 124 M Pa, so we are well within the boundaries here.
Here I was trying to determine if a rounded rectangle would be stronger than some small triangles. From this simulation, it looks like the rounded rectangle is definitely stronger. Or at least, it’s less weaker than the triangles.
This is what would happen if you squeezed the two sides together really hard. It’s interesting to see how it angles up and down at the sides.
This is also interesting, because I can definitely see a similar distortion happening with the cardboard cutout when applying a force directly on top. This is with the triangles though, which makes the sides a little weaker, but you get the gist.
Here’s a video of the animation in action:
It took a while for me to figure out how exactly to simulate an actual bending motion. I came up with an applied pressure on the back face, with two small forces on the side, with it constrained in the middle. Here’s what it looks like with 9psi of pressure on the back, and 1lb of force on the two sides.
This would definitely break because it exceeds the flexural strength, which is 114 M Pa.
You can tell it’s bending by looking at the sides
Check out the video animation too
Modelling the stress is pretty cool. Of course, determining if something is actually going to break depends a lot on the physical properties that you look up. For instance, the ones that I referenced are from here, and that is for 6mm thick acrylic. For the 3.175mm thic acrylic that I’m using, these values would probably be significantly smaller. This page from Autodesk was also helpful in trying to understand some things. This is a pretty cool conversion calculator that gives me some sort of sense of scale (in a very vague sense).
Now the tabbing is going to be an issue to try and get right. It would be great if RoboBrrd wouldn’t have to have screws to attach its various faces together. If it’s designed right it really shouldn’t have any, but perhaps I will add in some spots just in case… Anyway, here are the tab dimensions that I have to change. The height on the hole has to be a tiny bit smaller, and the width on the tab has to be smaller. Currently I’m trying to figure out by how much they should be smaller
So hopefully this week my boards from Dorkbot will arrive. It’s kind of weird why it is taking so long, especially when I opted for faster shipping
Once they are here I can document in more detail how to make something similar in gEDA, perhaps an Arduino shield or something!
Hopefully the tab dimensions issue will be solved by the end of this week, and it will also be cool to try to join all the lines together in Illustrator beforehand so that the laser isn’t jumping all over.
Mega thanks to SpikenzieLabs for the help with the laser cutting!
Also congrats to the FIRST Robotics team that I mentored for a bit this season- Team 296 the Northern Knights who did a good job at the Montreal regional, and won Engineering Inspiration Award! They learned lots, way to go!
January Robot Party Posters!
The January Robot Party posters are available now! You can get them here! It’s great to hang on your wall, really colourful and lots of robots to look at!
They’re $7, and the money that I make from them will go towards my Maker Faire travel expenses!
As always, the Robot Party is at 8PM eastern time on Thursday! Bring your robots, share your knowledge and have fun!
SEE YA AT THE ROBOT PARTY!
3D RoboBrrd Start in Inventor
Working on the laser cut pieces for RoboBrrd is a little different than the popsicle sticks. The pieces have to be interlocking, have to be able to be attached together using screws, and the thickness of the material (1/8 inch or 3.175mm) is a lot more than the ~1mm of popsicle sticks.
Instead of trying to do guess-work and design this in Inkscape, I chose to model the whole robot in Inventor. Mainly because the dimensioning is a lot easier and more precise, but also because it will be more flexible to go from 2D laser cut pieces to 3D printed pieces (if we ever get a Makerbot). Also having a model on screen will be really useful to put in the instructions and annotate it.
This week has been pretty intense. It’s a really long timelapse. Pretty much every night by the time I would stop recording on Screen Ninja, it would say that it has been recording for 4 hours… yeah. It takes a lot of time to make anything, check out the timelapse!
Autodesk also has this nifty thing called Inventor Publisher. Basically you can take your Assembly files and explode them or rotate them, and make sort of like a movie. They went the next step though and also made it an interactive experience with their app… check it out:
OK, so started out with modelling the base of the beak:
It’s mainly all dimensioned, in case the tab sizes have to change:
Then the bridge part of the beak:
The tabs line up good:
Then the side pieces:
Assembled:
Exploded:
Then started on the front face! Decided there should be lots of mounting holes in the corners. The holes for the LEDs are large to have enough room for the wires:
This was the first try at the tabs. It was horrible because it wasn’t a repeating pattern, they weren’t grouped as a block, and the extrusion never joined the main part of the extrusion. It was horrendous!
These parts here are the nose ‘rib’ and the nose pad. The rib goes through the hole in the beak to suspend it, and the nose pad stops the beak from moving along the rib. In this version the rib has to use a size 2 screw because it actually has to go through the hole in the beak, and there’s not a lot of room. The nose pad in this version actually had to change because it was interfering with the beak!
Assemblies are great to be able to take some files in and see how they work together. Better yet, they auto-update whenever there’s a change in the original part file. Here we’re checking to see how the beak fits. As you can see, it doesn’t fit very good because they are overlapping!
Here’s the cross-section of the assembly, basically you can see how much room the rib has to move around in.
I took some screenshots and played with them in Photoshop (it was quicker than setting constraints in the assembly) to see how they would rotate. There is a bit of an overlap, but in this case they would probably push against eachother and there would be enough room where the rib goes through the bridge of the beak to allow the beak halves to move up a tiny amount and not get stuck. This will need to be tested in reality a bit more.
Getting the tabs to work properly is actually a very difficult challenge. Here I’m zoomed in the entire way, and you can see some of the lines don’t mash up properly. Ended up redoing the tabs instead of trying to fix this mess.
Here it is after it is fixed, as you can see the faces of the main part and the tabs are joined together! Also the nose pad changed in height as well.
Next up was to create a 2D drawing of all the pieces in that file. I had to manually split the file for the face/rib/pad, but it worked out. For some random reason the nose pad decided to be imported at 5:1 scale, which was kind of hilarious because I have no idea how that happened and it just looks kind of funny. After changing that though, it was no problem.
And here they are in Inkscape! They aren’t one path though, I’m not sure how this will effect the laser cutting :s
3d modelling in Inventor is pretty epic. Here’s some screenshots of some various views and angles:
Yeah I think the 3d modelling part is pretty sweet!
In the models I made the tabs bigger than the holes. This sounds counter-intuitive, but apparently when cutting this thing called ‘kerf’ will make the tabs smaller and the holes bigger. Cool! Luckily Spikenzie Labs spent a lot of time figuring this out, so they are the experts and are awesome at sharing their experience!
You may or may not be wondering how on earth RoboBrrd will still be OSHW if the files are in Inventor- which only hardly anyone will be able to open. There’s actually a lot of ways! Above I showed the outlines in Inkscape, from there I can render out to png, pdf, or svg- which anyone can open. I can embed the Inventor file into a webpage with the Autodesk viewer snippet, which you can actually see an example of on RoboBrrd’s page (except it is using an AutoCAD model). The interactive portion- I can make the file available for anyone, and Autodesk has the app for iOS and Android. It can also be rendered out to video, which I can put on YouTube. So as you can tell, it really isn’t that big of a problem. There’s going to be lots of ways for the documentation and files to be out there that everyone will be able to see and you won’t have to have Inventor.
I’m going to print these out on paper and see what needs to be changed! I’m pretty excited about this all, it’s going to be really cool to see how they turn out.
The Robot Party posters have been printed, however apparently getting shipping tubes is insanely difficult. I tried a site that had decent prices, but YEESH some Americans just can’t stand Canadians and refuse to ship stuff here, it’s ridiculous! Finally I found some over at Staples industrial, so they should be here shortly.
Also shoutout to my friends over at WyoLum who are doing some really cool STEM outreach this week/last week. I was supposed to be there but unfortunately couldn’t make it. I’m sure their electronics and experience will rock the conferences!
More to come about the pieces for RoboBrrd, stay posted! Also HAPPY BIRTHDAY to MANOI! What a rocking robot, it is always so cool- and definitely enjoys its new blinky necklace!
Cloud Robotics Hackathon!
I was at the Cloud Robotics Hackathon this weekend in Montreal and it was a BLAST! There were tons of teams participating, learning about robotics, programming with Arduino, and there was a MakerBot, some Naos, and a Darwin-OP there! Holy macaroni!
My favourite part at the end was listening to the experiences that people had programming their robot. There were lots of new people to robotics, so it was great.
I worked with Marek over the weekend! He is a super web dev guru, and was also on the Edubotics team at Startup Weekend Montreal. We came up with a pretty crazy project, under the team name of TEAM LIGHTNINGBOTS, because lightning comes from the cloud!
We ended up winning the Montreal part of the Cloud Robotics hackathon! Here is our project’s video!
As a quick summary, we made a network of cheerleading robots for an educational math game that can post the scores on MyRobots, then display them on a robotic scoreboard. Let’s take a look at this in more detail!

Here is the basic setup. There is the math game on the iPad. This app is actually a web app with a very thin native client layer to send data to the robot. It works by sending HTTP callbacks, which the app parses, then sends a packet through the Redpark Serial Cable, which Learning Pet (blue RoboBrrd) receives, parses, then does an action. You can input two digit numbers into the app because there is a specially-tuned delay to do so. You get an unlimited number of tries for answering, and no hints, since this is a basic version of it (proof of concept). The green dots below are showing the number of questions completed and needed to level up. The game repeats once you level up. The game is functional in any modern web browser, so you can check it out HERE! Marek was the one who coded this, and it was developed beforehand at Startup Weekend, so nothing new here.

Now for the new part: when Learning Pet (blue RoboBrrd) receives the data from the app, it also broadcasts the message out through its Xbee to the other two robots. We use the XBee Network Protocol for this, developed by Kris Kortright, but we use my uno-compatible fork of it.
Both Impy (orange RoboBrrd) and MANOI receive this data through their XBees, and are able to act out the actions as well. When you get the answer right, they do a little action of encouragement (MANOI swings its arms, RoboBrrds flap their wings, and Impy changes its eyes green too). When you get the answer wrong, they shake their heads- MANOI looks really scary doing this so you don’t want to get the answer wrong. When you level up, they all do a crazy dance celebration.
You can grab their code on Github here!
Now for the next new part: when Impy (orange RoboBrrd) receives the data from the mesh, it communicates with the computer which is running a Processing application. In the application, it creates a tally of the questions answered, and the number correct, the enthusiasm value (which is just how drastic changes in RoboBrrd’s sensors were), and the “brain power”.
The brain power is determined by the function:
(correct/tries)+enthusiasm+(100*levelnumber)

This data is then uploaded to MyRobots every 15 seconds and then cleared out for the next upload batch.
One of the tricky parts was figuring out how to optimize the sending and receiving of packets on Impy (orange RoboBrrds) end. It turned out that we had to listen before we send, or something like that, just to make it work a bit more reliably.
You can grab the code for the Processing sketch on Github here.

Here’s the next new part: To have the results of the game displayed on a live scoreboard, we used the DFRobot RobotShop rover as a scoreboard. I attached it to the bottom of a soapdish, which gave the treads enough clearance, and some popsicle sticks for support. Marek added the numbers and faceplate to it, and coded it up in Python. The code pulled the live “correct” number score from MyRobots and then called the Arduino to update the motors accordingly. It was pretty sweet!


All in all, the whole system worked great. It’s truly the ultimate social robot network, because we were able to combine so many robots together!
There was a lot of stuff that we developed that we didn’t use or mention though. For instance, Marek created this web nodejs application that can show the same webpage to all clients, and also send tcp messages to everyone connected. CHECK IT OUT HERE! We were going to use this originally as a sort of orchestra or central command console for the robots. He also made a Twitter analyzing program that looks for happy faces or sad faces in the streaming Twitter firehose. The data is being plotted on his MyRobots page for it, which is really cool.
On the first day I worked on getting Learning Pet (blue RoboBrrd) going with the ADK. For some reason it would work fine, I would get up for a break, and then not work. So that night was the turning point in the hackathon when we went with the idea we have now.
The idea we implemented is pretty cool though, since it both sends data to MyRobots and it uses it. We also are using basically 3 clouds in the 1 project, being:
1. The math game web app
2. The local mesh network
3. MyRobots
All in all, it was a blast! Huge thanks to Marek for his web skills!
I’m definitely looking forward to volunteering at this hackathon next year. Thanks to the organizers for making such an awesome event. SEE YOU IN THE CLOUD!
RoboBrrd Mesh Network- Pulse Sensor and HAPPY BIRTHDAY!

HAPPY BIRTHDAY ROBOBRRD!
Today is a SUPER day and here are some treats that you and RoboBrrd can enjoy! Or maybe just RoboBrrd will enjoy it, but anyway here they are!
Here is the video about the RoboBrrd Mesh Network: Pulse sensor! This was shown a while ago on the Adafruit Ask an Engineer Show n Tell Google+ Hangout (that’s AAAESNTGH for short)! It’s a little long, but if you can bear with my umm’s and uhh’s, it’s a pretty cool demo. Watch it on YouTube!
The pulse sensor sends data to both RoboBrrds, and the orange RoboBrrd (Impy) sends what hat it is wearing to blue RoboBrrd (Learning Pet). You can look at the code on Github here, and check out the XBee Network Protocol here!
NEXT UP is this really cool new web badges portal by Adafruit. The aim is that their badges and online portal will become ‘Scouts 2.0′, giving out badges to kids for accomplishing electronic goals! They let me beta test it early, so RoboBrrd is up there with it’s Robot Badge!
It’s going to be really interesting to use the API for stuff. For example, one day in the future, when you first load your code onto your RoboBrrd and connect it to the ‘Hello Brrd World’ Processing sketch, then DING it will use the API and contact the adafruit badge servers, and you’ll instantly be awarded a Robot badge! Maybe there will even be a RoboBrrd badge! I dunno how they’re going to handle the authentication for the API keys, but that will be interesting to see.

Check out RoboBrrd with the Robotics badge! Woootooo!
Today is the kickoff day for the Cloud Robotics Hackathon! I’m really looking forward to working together with my team. There’s going to be a little bit of everything in our project, and you can listen for quick updates @RobotGrrl! The hashtags are going to be #roboticshackathon, #cloudrobot, #cloudrobotMTL. There will be a special Robot Party on Saturday at 8PM ET! See you then!
That just about wraps up the birthday post for RoboBrrd! It has been a BLAST! And the next 100 years are going to be even BETTER! Thanks to all the friends who enjoy keeping up with RoboBrrd’s progress! HIP HIP HOORAY!
Reading Data from MyRobots / ThingSpeak
Last post I showed some code and a guide on how to connect your robot to MyRobots/ThingSpeak! Now let’s look at how we can read the data from MyRobots. This part will be pretty cool, because you can read other robots data, and have your robot react to it!
I haven’t written up a MAKE Project guide for this yet, but wanted to show it anyway. Here you can get the SimpleThingSpeak_Parse code on Github!
We will be using the JSON Processing library to get and parse the data.
There are three main parts to this code:
1. Reading the entire feed
2. Specific feed field
3. Last entry in the robot feed
Here’s what the basic field structure looks like. The channel data is the info about your robot, and the feeds is an array, with each element being the specific datapoint.
- created_at (str)
- description (str)
- field1…8 (str)
- id (int)
- last_entry_id (int)
- name (str)
- updated_at (str)
feeds
- (your entry int here)
– created_at (str)
– entry_id (int)
– field1…8 (str)
So for the accessing entire feed, you can use these functions:
Here’s a very basic example of how to use these functions:
-
// example, get random stuffs, print it out
-
int feedsNum = getFeedLength();
-
-
println("\nHey! Did you know that " + robotName + ", aka coolest robot in the world was created on MyRobots on " + creationDate + "?");
-
println("It’s last field1 value that it sent (entry #" + lastEntry + " by the way) was: " + lastField1 + ". Cool!\n");
For the field feed, you can use this function:
For the last entry, you can use this function:
And that is it! You can use the data from the functions and connect it up to your robot.
Try it out, get the code from Github!
























































