-
Even an 8 year old can program a Muribot :D
04/30/2015 at 06:05 • 0 comments -
Kickstarter Countdown 5/7 - Kids love it!
04/30/2015 at 05:28 • 0 commentsSo todays post is going to be shorter than yesterdays primarily because today I spent most of the day planning a Muribot workshop for my two girls. They are 7 and 8 and they had so much fun and so did I! I actually forgot to take a lot of pictures during the process. Both of them got to write a program out of the manual and Brina (8) wanted to make a video for you all showing you how easy it was for her to write the wall bouncer demo.
She can't really type, and needed the command reference with the commands we'd been using highlighted, but by the end of the night she was able to write that program all by herself, I remember doing that when I was a kid and it really brought a tear to my eye that she was not only living my experience but also using a platform that I never got a chance to use. She actually modified the turn radius to turn 180 rather than turning 30 degrees, I was so proud.
It didn't compile the first time, she had to debug it too but in the end she found her mistake and it compiled perfectly. Afterwards we programmed it into the robot and ran the program. Watching it bounce in the small box was so rewarding for the them. I can't wait to see the faces of other children enjoying the same experience.
Muribot has been completely designed to compete with university platforms, so as her confidence grows the platform will grow with her. Seeing a child program Muribot may not sound like much, but it proves that this platform can appeal to adults and kids alike.
-
Kickstarter Countdown #4/7 - Motivations
04/29/2015 at 05:01 • 0 commentsWith the launch only being a couple of days away, I wanted to take the time in this post to talk about what inspired me, the future of Muribot, and where I'd like to see it go.
As I've said in the past I created Muribot because I wanted to bring a high quality robotic platform to the market that would be useful not only to teach kids about programming but to explore advance concepts that someone at a university might be researching. I needed the platform to be not only low-cost but also very functional and adaptive. There's a well known graphic that some of you may be familiar with a triangle and at each point is cost, quality, and time. And you can only choose 2 of the 3.
I'd like to believe that I managed to get all 3 but in reality I've actually sacrificed a lot of my personal time developing Muribot. I first posted about my robotics development on my tumblr blog back in 2013, but that prototype had been in development for ~5 years prior. In fact I actually gave a talk about MINI Mouse at the 2011 BA-Con (now defunct?) here in Columbus.
I was inspired by a demonstration of a Khelpera mobile robotics platform back when I was in high school. The demonstrator had the robot running a mapping program, and then downloaded the data from the memory. I was enchanted because I've been programming from a very young age, and to see something that linked the real world into the world of programmng was something I desired ever since that day.
But the problem for me is I come from a middle class family with a stay at home Mom and a brother so while we had quite a lot, we didn't have enough money to ever justify the ~$3,750 cost of one of those platforms. Nor would I ever have asked! Even back then I'm sure it would have been possible to create something similar to Muribot, and I recognized that fact and it stuck with me.
Fast forward to about 2008, and I'd spent a number of years building small electronics on breadboards and messing with microcontrollers. And the idea about the Khepera popped in my head again and this time, I had the skills to do something about it.
Using acrylic and motors from Pololu, parts from digikey, PCBs from ExpressPCB (Very expensive! Use Elecrow instead!) and sensors from Sparkfun and Acroname, I spent the next 5 years off-and-on, designing a robot that costs ~$600. A robot that would eventually become Muribot. I knew that was still too expensive and it looked terrible, but it was nearly as cheap as Muribot and most importantly it worked. This was all the confirmation I needed to charge forward toward my aspirations.
I then spent the next 6 months doing what took me 5 years prior, a testiment to the skills I had gained. Back in October 2014, Muribot Revision A01 was produced
This robot had numerious issues, and several oversights with the H-Bridge rendered backwards motion inoperable, but it was completely functional otherwise. This test production confirmed the design was functional, more importantly it was cheap enough that selling it was now a viable option!
BUT! The problem, we are a small (VERY small) local organization, not even a licensed company, that has a small local following. We don't really have the capacity to advertise, and we all have day jobs that prevent us from simply devoting all our waking time to MOAR. We had juggled around the idea of doing a kickstarter for MINI Mouse but it was just NOT something that was production quality, but now it seemed like this would be the perfect way to get the fruits of our hard work into the market.
Thus here we are, after another 6 months of planning and refining the and testing the design. The kickstarter is almost here! So lets talk about what's going to happen afterwards!
There's a definite possibility that we could simply fall flat and not generate enough interest to even get a single backer, although that isn't very likely. More likely is that we simply don't reach our goal, and that's one reason we love kickstarter. If we don't reach it, you don't lose any hard earned money, and we get an idea of how interested people are in our product. I think that's a win-win for everyone!!
We could also reach our goal, which would be wonderful because that would mean that my hobby could potentially turn into my job, and I would absolutely love to actually make Muribots for all of you. We're estimating anywhere from ~100-500muribots will have to be made and everything is ready to go in that regard, however…
we could absolutely SMASH our funding goal…I'm not emotionally prepared for this one honestly, but I am prepared in the sense that I have numerious stretch goals planned if that were to occur. And potentially some extra surprises to add to the rewards!! I really only need the funding goal, and I'm not greedy enough to even expect this result.
If we don't meet our goal, we will probably try again after digesting the feedback we get from this kickstarter. If we do meet it however, we will be able to easily produce Muribots en masse as well as any of our other products. We'll actually be able to market the platform and by doing so possibly have some other distributers interested in stocking a few of them.
At the same time, once we are selling Muribots, we can start taking the time to focus solely on MOAR and creating even smaller, cheaper, and more capable products. We could host workshops around the Columbus area, and really get kids involved in robotics and programming.
I would love to see MOAR robotics become a misnomer, I would love to see people across the world with Muribot and its future cousins. I'd love to be able to find workshops using my product across the world, I'd love to see researchers in AI, autonomous navigation, and swarm robotics using my product to do their research.
Some people might think those are big dreams, big aspirations.
But I say if you aren't dreaming big, if you aren't trying to make the biggest impact in the world your skills can let you; then you're simply not dreaming big enough.
-
A Limited Edition
04/28/2015 at 22:35 • 0 commentsSo I'm DEFINITELY going with the gold-leaf paint, it retains the surface finish really well and it much easier to work with than the gold leaf, if you need an idea of the difference, in the picture below I probably spent 4 hours leafing the case on the left. The right took me about 2 hours, but that was simply because I put 3 coats of paint and then 3 coats of sealant to lock in the flavor.
I used Krylon 18k Gold-Leaf spray paint, and Krylon Sealant. I also picked up a can of the Krylon Green Glow-in-the-Dark, I guess I'll have to add "Glow-in-the-Dark" to the list!
I could add UV LEDs to the inside, and then the glow would be actively charged while the robot is running :D! They also have a florescent spray which would glow blue/purple under a UV LED.
-
Form1 Coloring Process Test
04/28/2015 at 14:21 • 0 commentsToday I decided to test the coloring process in yesterdays video on the Form1 sample Twisted Rook. While the coloring process works well on the Shapeways prints, it just does NOT compare to the quality of a Form1 piece; it is simply incredible that these are printed, the pictures don't really do it justice.
-
Kickstarter Countdown #3/7 - The Golden Ticket
04/28/2015 at 05:22 • 0 commentsToday I set aside 5 of the cases to try different ways of getting a nice gold finish on the plastic. The first way that I tried was to use gold leaf. It looks really good but is a son of a borg to work with. The second method that I'm going to try is gold paint, based on my experience brushing the adhesive onto the plastic this should work great, however the craft store I had visited did not have any and I wasn't able to go else where today because I have important Muribot things to get done.
Not much new is happening other than just prep work. So I'd like to talk about the MCU that the Muribot uses, and why I chose this particular microprocessor.
Muribot uses a PIC18F46J50 in a 44-pin TQFP package. It is capable of running at 64Mhz but to use the USB functionality the maximum clock speed is restricted to 48Mhz so that is what Muribots clock source. I chose a Microchip microprocessor over potentially more powerful alternative such as Arduino for two reasons A) because I think the challenges of working in those environments are something that kids should learn and B) A lot of people interested in robotic platforms enjoy the thrill of working in that kind of environment.
A particular challenge that was personally enjoyable for myself was mapping the 44 pins to the i/o functions used throughout Muribot. 82% of the pins are used which leaves a little room to add features for stretch goals during the kickstarter. 18% of the pins are responsible for driving the H-Bridge alone, something that in the next generation I plan to remedy by creating a dedicated motor control module that is present on the I2C bus; however in this design the complexity of another microprocessor just wasn't necessary.
I've also been asked why I only choose to integrate the Muribot API into MPLab rather than trying to also offer a more kid friendly solution. If you'll let me tell a story, I remember being about 7-8 years old and going through a whole book of C tutorials. I believe the drive that I demonstrated then translated to the drive I demonstrate now by designing and producing Muribot. I want to foster that kind of thinking and behavior because I think it has served me very well as an Adult. It is also why we offer the Muribot API in the first place, to work as a stepping stone into the full C (and eventually C++) language without hiding it behind a entirely graphical interface.
Another reason I chose a Microchip processor is because of the fact that at it's core, it's programmed in an assembly language variant that has a very terse instruction set. It is backwards compatible to an extent, and should be almost entirely forward compatible, meaning if I create other robots with a Microchip processor it should be rather simple to port the Muribot API over, and then you would simply open your project, change the library reference from Muribot to Felibot in your project and recompile.
You should be able to see why I like that idea, I want to make it so that you'll be able to run code you created to run on Muribot on my future platforms, if possible. This is one of the powerful features of C/C++ and I want to make full use of it if possible to simplify your experience with my product.
Anyways, I think that's enough for this update. Before I go I'd like to answer an ongoing question I keep getting asked…why "Muribot". Well if you read my really early posts when this project was known as MINI Mouse I decided I wanted a more marketable name, and one that possibly wouldn't garner me the wrath of a certain animation company. I had a mouse pet at the time and with him being a House Mouse, I took his scientific family name, Muridae and contracted it with Robot arriving at Muribot. Not very exciting I'm sure, but I liked it much better.
Stay tuned tomorrow for some pictures of some golden Muribots!
-
Muribot Case Coloring
04/27/2015 at 22:25 • 0 commentsIn this video we color a couple of Muribot cases blue and purple!
-
Kickstarter Countdown #2/7
04/27/2015 at 04:14 • 0 commentsYowza! It's been a LONG day today! And I figured I would take the time to post todays update before I miss my opportunity!
Today I created the kickstarter! But haven't posted it yet, I wanted to make sure that when May 1st comes everything on that end is all ready.
---------- more ----------
Today I received a brand new batch of cases from Shapeways and as spent a majority of my free time dying cases for a few local orders. I took some video towards the end of the day, so tomorrow I'll throw that video together and post it :) along with a couple others I want to post.
The backer rewards have changed somewhat, when I initially created my rewards list a month ago I for some reason had forgotten that you can't offer discounts as backer rewards. I've also discovered that more than a few people are interested in a Build-Your-Own Muribot Kit, so I've added a reward level for that as well.
Here's a quick summary of the finalized reward levels:
-$1 - A base level for people to support Muribot even if they aren't really interested in owning one
-$25 - Public thank you on Facebook and Twitter
-$50 - Listed as an Early Backer on our website
-$100 - A Mid-Ohio Area Robotics Polo Shirt
-$150 - Bronze - Build-Your-Own Muribot Kit
-$300 - Silver - 1 Fully Assembled Muribot
-$450 - Gold - 2 Fully Assembled Muribots
-$500 - Platinum - Limited Edition Golden Muribot (Only 25!)Additionally, For Silver/Gold/Platinum level rewards, there will be a small addition of ~$30 to ensure that we can ship you your reward.
Tomorrow I'll be sending the press release to my list of press contacts, and bring as much attention to Muribot as possible prior to launch. I've had a lot of people interested in covering Muribot, which surprised me! If you're interested in writing an article about Muribot please don't hesitate to e-mail me at mstone [AT] moarobotics.com
I have a few drawings I'd like to share with you, that were drawn entirely by Muribot. They're not much but it really demonstrates the precise planned motions that are possible with the platform.
That's it for todays update, stay tuned because tomorrow we'll take a look at the coloring process for the case, and more!
-
Kickstarter Countdown Post #1/7
04/26/2015 at 15:43 • 0 commentsThe countdown to launch has begin! In ~6 days, we will be officially launching our kickstarter! This is such a big thing and we're all very VERY excited. After much procrastination, we've figure we'd finally start showing you guys some actual video of Muribot rather than just talking about it. Expect a lot of pictures and video over the next few days leading up into the launch. If you've been following us for long then we thank you for your patience as we created one of the best platforms out there.
It's very hard to focus on actual work and not end up playing with the things, they're a lot of fun to write software for; and to actually have a piece of hardware comparable to a university level platform is amazing, it's hard to believe that a little more than a year ago this was simply something that existed solely within my head. It makes me happy to be part of the maker movement, and it makes me happy to contribute my skills and expertise to the world and hopefully leave a lasting impact on the worldwide community.Check back tomorrow, we'll be posting updates daily leading up to the official launch.
-
Better Robots from Statistics
04/16/2015 at 20:57 • 0 commentsSo I've really been hammering away at making sure that we can provide the best product possible I've finished developing the QA Testing SOP, and I'd like to share with you guys a bit about how we certify the Muribots to our quality standards.
If you've been following this blog at all then you know that the Muribot has several specific kinds of sensors onboard:
- Infrared Proximity
- Ambient Light
- Accelerometer
- Gyroscope
- Magnetometer
- Line Sensors
Each of these sensors is subject to environmental noise which causes the readings to vary from ideal values. Additionally there are manufacturing tolerances that vary between even 2 identical looking sensors; This means that we do occasionally get a dead sensor, or one that works but is just too far out of specification to use.
---------- more ----------
Statistics to the Rescue!
By taking a lot of readings from the sensor we can find the Variance and Standard Deviation of the values. The math behind it all is beyond this article, but a very informal rundown is that Variance is how much the sensor data varies between each reading, and the Standard Deviation is how spread out those values are around the average of all the readings.
Here's a screenshot from our in-house software we use to verify each Muribots sensor characteristics, this is also the software that generates the calibration sheet that is include with each Muribot. It generates a list of Biases, Variances and Standard Deviances after collecting a bunch of data, and if any of them are out of specification; you'd see (failed!) next to that sensor in the output log. The technician can then replace the sensor, or fail the unit so that you don't receive a robot that isn't up to the specifications you deserve.
After that test, we put it through a inertial measurement test to ensure the robot is able to track its heading and orientation correctly. This test is actually pretty cool because the model on the screen responds to your movements.
Finally, we test the Gyroscope to make sure it can track and maintain a heading, While the biases for the other sensors are very stable on average, the bias for a gyroscope will drift due to a variety of factors. We filter this drift by updating the gyroscope bias whenever the robot isn't moving. This reduces the amount of drift in the heading to a manageable level and after this the gyroscope reading is predominately influenced by environmental noise, as can be seen here
Here is an 13-second interval from an hour long test of the gyroscope showing the noise around the 0° point. This test also measures the variance and standard deviation of the heading data. This test shows that this particular gyroscope is able to maintain it's heading to +/- .84°; even after sitting still for an hour.
So, by using statistics, we can tell just how accurate our sensors are, and just how much they are being affected by the environment. In the next part, I'll show you the final tests we put the robot through before it leaves our hands.