Friday, July 31, 2009

AUV Competition Video

AUVSI Competition Qualifying run from the USC Robotics Team.

Wednesday, July 29, 2009

12th International Autonomous Underwater Vehicle Competition

This video shows the AUV developed by the Cornell University Autonomous Underwater Vehicle team practicing for the Office of Naval Research and Association for Unmanned Vehicle Systems International's 12th International Autonomous Underwater Vehicle Competition.

The competition runs from yesterday through this weekend in San Diego, and it looks like they will be web casting part of the competition this weekend.

More information about the competition is available at the AUVSI website.

Tuesday, July 28, 2009

Joint Architecture for Unmanned Systems

As a follow up to my previous post, the JAUS standard is apparently for sale for the nominal fee of $61. The DRM is included with PDF copies for free though.

I think the cost of the standards is about $41.05 more than can be considered nominal and that the standards should really be publicly distributed at no cost. Just like the standards for the Internet. Even industry standards are moving towards being publicly available and simply charging for product certification.

I could continue tilting at windmills, but I will suffice by shaking my fists in their general direction.

There is also some publicly available documentation on the JAUS Working Group website.

Aside from the actual standards there are a few implementations which could be considered open source. This could then be used to implement a ground station and black box data logger for UAVs or ground robots.

First we have Jr middleware which runs on both Windows and Linux and has language bindings for C, C++, C# and Java. On Windows it also supports Visual Basic. The library was developed and supported by DeVivo AST, Inc. A founder of DeVivo AST is also the chair of the SAE technical committee that controls the JAUS standard.

While I am sure the software works and completely meets the standards there are some issues. Personally, I thought we as a society moved beyond writing open source licenses that actively conflict with both the BSD license and the GPL. I guess some people have more lawyers then sense. The windmills are everywhere! The license would be somewhat tolerable if it was based off of the LGPL, but it is not.

Fortunately, OpenJAUS is reasonably licensed with the BSD license. It runs on Windows and Linux and supports C and C++, which is good because the idea of a robot running Visual Basic scares me. The documentation looks pretty good, so it looks like it's a usable implementation for telemetry and control of robots.

Now it is time to look into building a ground station that supports it and patching JAUS support into the ArduPilot.

Monday, July 27, 2009

AUVSI 2009 International Aerial Robotics Competition Videos and JAUS

These videos show the performance of the MIT team's entry for the 5th mission of the IARC. In this mission the goal is to fly into a building and locate an LED and send back an image of the control panel.

I think one of the biggest benefits of this is in pushing JAUS as an interoperability protocol. There are huge benefits for everyone if all autonomous vehicles can talk the same language.

A standard telemetry and control protocol would prevent robotics developers from continually rebuilding the wheels for visualization, logging and control.

Unfortunately, the Unmanned Systems and Robotics Interoperability Center has some unfortunate licensing terms for their standards.

"I understand that these SAE standards are copyrighted materials
that are provided solely for my use in preparing for this
competition. I agree to use the standards solely with my vehicle
design team and that I will not give these standards or copies of
them to anyone outside my design team."

I am going to try to contact them about releasing the JAUS standards. Otherwise, it is probably worth considering the requirements for a telemetry and control protocol for people building their own UAVs and ground robots. At minimum it should support a high density format for transmission via ham radio where bandwidth is at a premium, and a more flexible TCP/IP based protocol where bandwidth is plentiful.

Sunday, July 26, 2009

Weekend Links

Here is an interesting resource for programmers to ask questions and post answers.

This presentation provides a good introduction to the basics of the GNU autotools for build management.

Waf? Waf! I guess most software problems have a solution written in python. At least it isn't SCons.

I am sticking with autohell for now but I think CMake will win if they can get their test infrastructure with CTest working well and a little more clearly documented.

Friday, July 24, 2009

This New Lab: Almost Done

I am almost finished setting up the new laboratory. Now I just need to unpack and organize all the robot parts.

Wednesday, July 22, 2009

Circle Detection with OpenCV

The documentation for OpenCV is getting pretty good, I was able to get circle detection working via cut and paste pretty quickly. However, I suggest adding a cvWaitKey(0); to the end of the example code so that you can see it actually running.

Also it looks like the accumulator for the Hough transform used by cvHoughCircles() only looks for maximas along the X and Y axes of the parameter space so concentric circles will not be detected as separate circles.

Update:This series of tutorials on integrating circle detection into ROS using OpenCV may also be useful.

Insert pun here

Pictured here is a proof of concept model of a compliant grasping mechanism.

Tuesday, July 21, 2009

Cool Tool: Static Electricity Remover

Protect your robot parts by using a static electricity remover. I wonder how effective this is compared to a grounding strap.

Monday, July 20, 2009

Delta Robot

Here is a cool video of a delta robot powered by an Arduino performing pick and place functions with an electromagnet.

Sunday, July 19, 2009

Micro Hexrotor UAV

I guess we should start calling this class of vehicles n-rotor UAVs

Saturday, July 18, 2009

This New Lab: A Fresh Coat of Paint

The enamel paint looks pretty scratch resistant and provides an easy way of locating small surface mount resistors when I inevitably drop them.

Thursday, July 16, 2009

This New Lab: Pegboard

If you can find them for sale, sometimes you can get a good deal on dusty old pegboard hooks locally. I got a few multi-packs of hooks for $1.50 each at my local hardware store. Otherwise you always have the internet for these things.

Wednesday, July 15, 2009

This New Lab: Whiteboard Installed

While procrastinating the completion of other projects, I setup my whiteboard.
I came up with a few innovations on the standard budget whiteboard design.

First, install mirror clips along where you want the bottom edge to be. I went with every 16 inches, which in the US is how far apart the wall studs should be spaced.

If you can not find this size roll of double stick tape you can probably go with several of the smaller rolls.

Sometimes you need a lot of double stick tape.

Apply rows of double stick tape every 6 inches or 150mmm or whatever seems good to you. After you position the whiteboard and rub it down with a paper towel to secure the tape, then add additional mirror clips along the top and sides.

The cheap whiteboards do not erase quite as well as the expensive kind.

However, this cost $1.96*4 for the mirror clips and $11.87 for the panel board sku #765096003006. The double stick tape I already had from another project.

Monday, July 13, 2009


Lab upgrades are coming along slowly. I decided to paint the boards I used to build the lab bench with enamel paint. This paint takes 10 days to cure, but hopefully the results should be nice and scratch proof.

It looks like the drill pump is threaded to fit with garden hoses. It seems that there were not enough standard thread sizes so they made up one just for garden hoses.

I am going to try printing the threads on the 3d printer, then maybe I can vacuum bag the hydrodynamic shell with integrated threads for waterproofing.

Ceci n'est pas une drill

I do not recommend this drill.

Thursday, July 9, 2009

$10 DIY AUV Thrusters

I am going to see how well this works as an autonomous underwater vehicle thruster once I can figure out the threading for the inlet and outlet.

Cool Tool: Cheap(er) 3D Printer Update

So to get a better idea of the performance differences between the Prodigy Plus and the new $14,900 uPrint from Dimension/Stratasys, I ordered the pepper shaker test part and compared it to one I printed on a Prodigy Plus. The white part was printed on the new uPrint, and the black part was printed on a Prodigy Plus.

The pictures don't really do it justice but the part printed with the uPrint has significantly better bonding between the layers and the surface finish is slightly smoother. I don't have a roughness gauge handy so I can't tell you exactly how much smoother.

The improved bonding between layer should have significant performance benefits, especially in terms of shear across the Z axis (up-down) where most of my part failures have occurred. Since the plastic parts printed using fused deposition modeling tend to act like anisotropic composite materials I would like to see tensile test data for each of the axes.

The threaded lid on the new part really works and seem to be much sturdier than the older part. The threads sheared off my old one when I tightened it too much. I wonder if there is a design guide for 3D printed thread forms.

This may be a useful alternative, since most of the time when I need to connect two 3D printed parts I will print 1mm pilot holes and drill them to size and tap threads into them. A drop of CA glue, after drilling out the pilot hole and before tapping, tends to help melt the edges of the hole together for a better thread form.

Quickcam 9000 Pro CAD file

As requested, here is the CAD file, in STEP format, for the primary circuit board and the auto focus lens assembly of the Quickcam 9000 Pro web camera. Right click, save as...

The dimensions were reverse engineered by measurement of a camera with calipers, the accuracy of these measurements is not guaranteed. Caveat Emptor.

Strategies Against Architecture

I am finally getting my laboratory into working order over the past week.
So, to keep things organized I am trying out the FastTrack system from Rubbermaid, which was reasonably priced at Home Depot. There is also currently a special offer for $39.95 for a starter kit. The bike holder seems like it could be a bit stiffer but time will tell how sturdy this setup is.

I dislike the idea of having the Rubbermaid® logo emblazoned on the wall of my laboratory, so it is time for a little debranding.

It took about 15 minutes of rubbing to remove the logo, but now it's gone and there are no scratches on the plastic.

I feel organized already, now that my bike has a place to go.

Here is my new lab bench made from riveted shelving and MDF boards, with a total cost of about $100.

I really like the yellow organizer bins and the test lead holders.

Saturday, July 4, 2009

On The Topic of Hough Transforms

Here is some light weekend reading.

Friday, July 3, 2009

More on PR2 from Willow Garage

More on the Willow Garage blog.

Thursday, July 2, 2009

Cool Tool: Cheap(er) 3D Printer

I have been using the Stratasys Prodigy Plus 3D printer for the last few years with good results for several of my robotics projects. The new $14,900 uPrint from Dimension/Stratasys is the newer and smaller replacement for the old Prodigy Plus model.

The overall specifications are similar for both printers. The ABSplus material should be a slight improvement from the ABS material used on the Prodigy and the resolution of 0.010" for the uPrint is comparable to the 0.007" resolution of the older Prodigy. The software used by the uPrint is called Catalyst and unlike Insight you can not edit the toolpaths, but I have never needed to edit the toolpaths in recent versions of Insight so this should actually be a good thing.

According to Stratasys, the smaller 8"x6"x6" print envelope handles 80% of all of the parts they have ever printed and is only slightly smaller then the 8"x8"x12" build volume for the Prodigy.

Buying a new uPrint looks like a great deal compared to buying a used Prodigy Plus

Click here for free example parts, and you can talk to my local distributor to get a quote for printing individual parts from .stl files.