This fall we are continuing our initiative to focus on education by working with students at Oregon State University on a couple projects, including a computer science capstone. This year we have asked for a group of seniors to work on a DARPA-eqsue mini urban challenge using the REVO 1! We’ve mounted a web camera on the top of the platform to be able to navigate the courses we’ve created. The team is limited to using only the camera for sensing as computer vision is the future of interactive and autonomous robotics. This means the end result will be far more than a line-following robot as it will have to be able to track its relative position even when all lines are obscured or out of sight.
The first course will test the student’s ability to create a state machine that can navigate a track without hazards and obstacles. As they develop algorithms for traversing the course, we’ll slowly increase the difficulty by adding things such as various road signs to be recognized and adhered to. For more information on the initial project requirements, check out the forum on ProtoTalk. As a student oriented project, we’re allowing the group to choose which areas they’d most like to pursue, so the project will be dynamic in scope.
You might be wondering how the students will be working with the REVO 1. We have set up video streaming software on board the platform, so that the camera frames can be grabbed locally over HTTP (using MJPG Streamer). Then a host laptop will process each frame and make decisions based on the images the robot sees. A state machine running on the host will then send movement commands back to the robot. In order for this project to be simple enough to complete during a single school year, the students will be using the OpenCV Library to analyze the images as it provides many optimized vision routines. The OpenCV Library was initially created by a group at Intel, and is a fantastic way to work with image processing, especially if you’d like to avoid the overhead of Matlab.
As part of our Open Source Initiative (to be detailed soon) we’ll be releasing all of the code from this project, so stay tuned!
We recently attended the Apple iPhone Tech Talks in Seattle to learn some tips and tricks for developing applications on the iPhone. This inspired me to bring up this interesting topic.
If you read the newsletter then you’ll know that we’re in the process of making an application for the iPhone. It’s turned out to be a tricky process, so I’m going to post some of the techniques that I’ve learned so far. Â I’m hoping that some of our time spent can help you avoid the same pit falls (plus I’ll be providing code snippets!).
Today, I’m going to recount a few interesting details from the conference, and in future blogs I’ll detail some lengthier topics. All of the talks were fascinating to listen to, and each one had a couple gems worth noting. Below are some one liners:
I just had an interesting discussion about solder paste consistency with Chris Block from PCB Unlimited / Stencils Unlimited and thought I’d share what I learned. If you build parts in small batches like we do, you’re probably reusing your bottle/jar/tube of paste over many build cycles. To keep your solder paste conditioned, its important to refrigerate the paste (We have a dedicated fridge for storing solvents/chemicals). Pull the paste out of the fridge about an hour or so before using it, then give the whole thing a good stir until its gets its creamy consistency again.
Unfortunately, the consistency can change over time usually due to the flux evaporating from the paste. To remedy this issue, add flux! You can do so with liquid flux… BUT… too much flux could ruin the mixture leading to issues like clumping and bad solder joints. So what’s the alternative? Chris suggest mixing in syringe pastes which typically have a higher flux content, an 400:1 mixture of solder to flux vs the 800:1 mixture found in typical jars and tubes. The syringe gives you a lot more room for error in changing the consistency of your paste.
More to come on this topic in the future.
Recently I’ve been working on some robotic integration projects where I came across some commercial off-the-shelf products that required a 12V power supply. This is quite common among electrical devices like analog video cameras and some networking equipment. The problem is, if you’re running a 2 or even 3 cell (series) lipo pack, 12V isn’t so easy. Looking around, the brute force approach is sizing your battery to the highest common denominator. Sure a 4S or 5S lipo pack will allow you to regulate down to 12V but it costs more, weights more, takes up more space, etc! Whats a better solution?
Enter the new 12V Step-Up Micro Power Module (MPM). This little device up converts your lower voltage power rail up to 12V. This allows you to use a lower voltage battery pack, and still get a nice, clean, 12V rail for those special devices. Because this is a small solution, its easy to pair this up with a video camera, or any other device that needs 12V. This should work great for radio controlled (RC) applications that want to interface to 12V electronics. The 12V MPM is still being tested, but I’ve got it running all the way down to single-cell lipo pack and it works great! With a 2 cell pack it can easily handle 500mA or more. Got quite a few more tests to run on this little guy, but its shaping up to be a nice addition to the Micro Power Module lineup.
Reflow ovens are used in manufacturing to solder electronic components onto circuit boards. I first started to recognize the need for a reflow oven back in February when I found out what a difference it can make in the manufacturing quality of circuit boards. A reflow oven is able to maintain a much more uniform heating profile which helps create better solder joints, and its less likely to over heat components. This allows for greater precision and quality in the manufacturing on circuit boards, an important cornerstone of what we do here at Revolution Robotics.
As part of our environmental initiative, we’ve been using lead-free solder and various RoHS parts for a while now, but when I found out that our reflow process couldn’t handle lead-free solder paste, I knew it was time to get a real reflow oven. Its literally been about 8 months since I first started looking into getting a reflow oven, and the process of acquiring this machine is still ongoing! For now heres a few shots of the oven, I’ll be posting more about it in the future.
Having had the machine delivered a few weeks ago, we are now contacting electricians to handle the huge power requirements needed to run this oven. I’m hoping to have this thing running by the end of next week; we’ll see what happens. If you have any questions or comments about reflow ovens let us know, we’re constantly learning new things about the manufacturing process and would love to exchange ideas.
So here’s a little background on how we do our testing. It’s helpful to have good testing practices and ours is constantly improving and evolving. A basic testing setup looks something like this:
Here we’re actually testing two things, a new robotics motor and our new USB to UART serial bridge. On the test-bed we’ve setup a multi-wheel load for the motor to turn. This load on the motor simulates the same kind of forces seen by the motors when actually running as part of a robot. This helps us test the robustness of the motor by dealing with currents similar to those seen on an actual bot. This setup is great because it makes it easy to perform a variety of controlled tests, plus it can’t run away from you while writing new drivers for the motor controller. If the command that reaches the motor controller overloads the motor, it can be unplugged quickly without having to jump around a desk and chase it down!
I like to use Python for testing new parts because I can use the interpreter to interactively write commands while the unit is running. If you haven’t tried using pyserial for talking to serial devices it’s worth the time spent. It makes communication with any device incredibly simple. And of course, our new USB to UART/USB to Serial bridge makes this even easier!
An important part of testing for commercial products is to perform some endurance testing. In order to insure that these motors perform well and don’t burn out, we ran the test setup with for 12 hours with an over-voltage condition. The test shows that the motor doesn’t overheat and so we can be reassured of their capability and we are happy to be using these motors in future projects.
As for our new USB/Serial bridges, testing electronics requires a different set of tests. In addition to keeping it running over a period of time, I also tested this device on multiple systems (different operating systems). We’ve tested Windows XP/Vista, Mac OS X 10.5 and 10.6, as well as the Debian 2.6 build we’re running on the REVO 1.
The next step is to measure operating tolerances, output noise, and check for heat stability (among other things). Then all of this information will go into the documentation for the product. These tests are unique to each part and are an import part of insuring the quality of the products we build.
Keep an eye out for the the new USB bridge chips. We’ll be offering them on our site later this month! (With Python sample code!)
A couple weeks ago, I had the idea that I should update our website to show our efforts towards being environmentally responsible. The reason this came to mind is that we spend quite a bit effort on making our PCBs RoHS compliant. In fact we just ordered a special reflow oven to be able to use lead-free solder on all our new boards (More on the reflow-oven soon)! If you haven’t heard of RoHS-it is a EU directive on the restriction of hazardous materials in electronics components and the manufacturing process. Wikipedia spells it out pretty well here. We’re proud of of our efforts to be a green company, so you can look forward to seeing more details when our environmental section goes online.
Of course in the process of writing up what we do to make our products safer for the environment, I learned a few things. I didn’t ever think about it but things you use everyday contain elements that we probably shouldn’t be using. Specifically PVC contains Chlorine which when released (eventually) to the upper atmosphere can destroy our precious ozone. So a responsible person or company would avoid using PVCs. HOWEVER! It turns out that cables are often coated in PVC, and the labels we cut for our robots are also made out of vinyl. Now we are looking for substitutes, but it’s going to be tricky to find something suitable.
Ever wonder what a 100,000 parts looks like? Well it turns out that our last parts order from Mouser and Digi-Key totaled over 150,000 parts! So I piled them onto my desk and grabbed some photos for you to see for yourself. Images link to our Flickr account where we’ve posted a few more shots too!
You’ll notice that many of the parts are on reels. The reels we have can hold anywhere from 100 pieces all the way up to 5000 parts on them! It adds up quick; 157,685 parts to be exact! Enough that Mouser even gave us a free shipping upgrade (thanks Mouser)!
That’s a lot of stuff piled up there and we’re still trying to figure out what to do about our parts organization. Our idea of an inventory system is me with a #2 pencil and a lot of sticky notes… not gonna work this time! If you have any suggestions or ideas on managing parts inventory, PLEASE share it with us!
Let us know your thoughts! With the hundred thousand barrier broken, who knows what’s next!
We’ve recently been swamped with quite a few projects here at Revolution Robotics. I ended up setting this blog up in whatever little spare time I could find so I had to find a way to get the code working fast. Its obviously based around WordPress which was an easy install, but I “had” to make a custom theme. After I got the layout done in PhotoShop, I used Firebug extensively to code & debug the css layout for this site. It’s really a great tool that lets you dynamically & interactively develop web code right inside of Firefox. Just though I’d give it a plug since it played an important role in setting up this site.
Anyhow, I hope you’ll enjoy our blog and I’m looking forward to sharing some great info here!
Hey everyone,
Welcome to the REVO | Insider Blog! We’re using this blog along with several social networking websites as a way to give you some insight into WHAT we’re working on, and HOW we’re doing it! We’re going to be spilling our guts, showing secrets and sharing our experience with you!
Hopefully you’ll be able to see how we are doing things here at Revolution Robotics and maybe learn a thing or two. Of course, if you have any ideas on how to do things better or have any questions regarding any of our processes, tools, products, or anything else for that matter, give us feedback! We’re here to interact with you and hopefully we’ll all be able to learn something through all this.
We’ll try to updates you through social networks, so be sure to friend us/fan us/follow us, or subscribe to our blog so you’ll know when we’ve got some new stuff up here! Check the upper right corner of this site for which networks to track us on.
Thanks for checking us out!