Thursday, June 28, 2012

Downlink: Funding

It looks like the Japanese government looks to be considering development of an actual Gundam for their self defence forces.

Our friends over at Hizook have an interesting blog post up showing that robotics companies in Silicon Valley are more focused on going public than startups on the east coast. This will come as no surprise to anyone who has worked in the valley.

Here is a new robotics focused VC fund based in New York City. Obviously we believe this is a great choice. I wonder if the city is going to call 3rd Ave in Brooklyn something silly like "Robotics Avenue" or "East Silicon Alley". I'll be disappointed if they miss out on the obvious "Electric Avenue"

Also, we are starting a directory of robotics related companies based in New York City, if your company would like to be added send an email with the subject ROBOTICNYC

Saturday, June 23, 2012

Testing: WiFi Performance 1 of n

Working as a roboticist one quickly develops a love/hate relationship with WiFi. One of the biggest problems, based on feedback and our internal projects, is the lack of sufficient bandwidth to transmit everything all of the time. In an attempt to deal with the problem directly, our software team ordered several external WiFi adapters and put them to the test. The tests focused determining available bandwidth without regard for range, future testing may consider the effects of range on the total system performance.

Iperf was used to test the bandwidth of various wireless devices. Selected results were verified by using SCP to transfer a 1GB file.

The upper-bound of bandwidth was found by connecting an ASUS EEE PC 1225C and an ASUS EEE PC 1215N to a router via Ethernet.

To test the devices, the ASUS EEE PC 1225C is connected to a NETGEAR WNDR3800 router running OpenWRT via Ethernet and the ASUS EEE PC 1215N is placed five feet from the router. Both laptops are running Ubuntu 10.04 kernel 2.6.38.

To test the TX bandwidth, the laptop connected by Ethernet is considered the server and the other acts as the client. To test the RX bandwidth, the roles of the laptops are switched.

server@server-laptop:~$ iperf -s
client@client-laptop:~$ iperf -c IP_SERVER -t 100 -i 2

The bandwidth is calculated using 50 samples, each sample taken at two second intervals.

Setting up TP-LINK TL-WN722N:

Depending on the version of the driver, you can check to see if your machine has the necessary drivers and firmware:

$ modinfo ath9k_htc

$ ls -al /lib/firmware/ | grep htc
- or -
$ ls -al /lib/firmware/ | grep ar

If it is not found, download missing firmware and place files in /lib/firmware/.

To get the driver, download compat-wireless tarball
$ tar -xvzf compat-wireless-x-x-x.tar.bz2
$ cd compat-wireless-x-x-x
$ ./scripts/driver-select ath9k_htc
$ make
$ sudo make install
$ sudo modprobe ath9k_htc

Plug in device. If the device light doesn't go on, reboot system.

Setting up ASUS USB-N13:

$ modinfo rt2870sta | grep 1784
$ modinfo rt2800usb | grep 1784

If both drivers claims the device, blacklist rt2800usb.

$ sudo echo "blacklist rt2800usb" >> /etc/modprobe.d/blacklist.conf

To get the driver, see here or here.

Setting up ASUS USB-N53 (H/W Ver: A1):

The most recent driver (rt3572sta version causes a kernel panic when trying to connect to a network.

$ modinfo rt3572sta

To get the driver, see here or here.

$ tar -xvzf x_x_RT3572_Linux_STA_x.x.x.x.bz2
$ cd x_x_RT3572_Linux_STA_x.x.x.x
$ gedit ./os/linux/


$ make
$ sudo make install
$ sudo modprobe rt3572sta

If you receive an error saying the device or resource is busy, run the following

$ sudo echo "blacklist rt2870sta" >> /etc/modprobe.d/blacklist.conf
$ sudo modprobe -r rt2870sta
$ sudo modprobe rt3572sta

Setting up TP-LINK TL-WDN3200 (Ver: 1.0):

This device has not yet been tested as the driver needs to be patched.

Setting up ASUS EA-N66 (H/W Ver: A1):

Plug the adapter into the laptop via Ethernet. Open a web browser to configure.



server black ASUS
(Ethernet connected)

server red ASUS

client red ASUS

client black ASUS
(Ethernet connected)

Bandwidth (Mbps)

Trial 1 Trial 2 Trial 3 Trial 4 Trial 5 Average Trial 1 Trial 2 Trial 3 Trial 4 Trial 5 Average
Ethernet 94.1 94.1 94.1 94.1 94.1 94.1 94.1 94.1 94.1 94.1 94.1 94.1
Built-in 19.3 19.3 19.8 22.4 18 19.76 32.3 36.1 33.1 29 31 32.3
TP-LINK TL-WN722N 25.5 30.3 28.6 29 28 28.28 23.9 31.2 29.8 30 27.1 28.4
ASUS EA-N66 18.4 10.5 25.8 20 13.4 17.62 59.8 53.4 38.7 44.3 50.8 49.4
ASUS USB-N13 12 12.5 13.4 14.9 8.35 12.23 18.2 18.7 17.7 17 17.1 17.74

The asymmetric results seem ideal for a laptop user looking to download files, however for a robot looking to upload large amounts of data to a ground station, the performance seems less than ideal.

We will continue testing as the drivers for the 5Ghz dual band WiFi devices become available.

If anyone has additional results or feedback on the testing procedures, please post them in the comments.

Friday, June 22, 2012

TurtleBot Button Shield

The Arduino shield for the TurtleBot Button Mount is done and we currently expect to have the software done in about a week or so.

Wednesday, June 13, 2012

In Stock: Summer Tool Additions

Here at I Heart Engineering it is time once again for some shameless self promotion and to present our new collections of tools in stock for the summer.

The ZCM-04 Conductive Mat is designed to be used in your electronics building workspace to make sure that you don't have to worry about electric static discharge while putting together circuit boards or whatever else you may be doing.

Plenty of surface space to make sure that your working space in comfortable.

 Here is the ZC-62 is an grounding wire that is attached to your mat with an adhesive backing.

Ensuring that your whole work space is grounded.

 The SV-01 Circuit Board Holder, makes assembling circuit boards a
breeze. With this holder just place your board in the adjustable holders and tilt it to whatever angle is comfortable for you. The board holder is ESD safe and come with a grounding cable.

The sturdy design makes you feel confident with this circuit board holder.

These are the PH-55 Tetewan Scissors which our shipping department claims are the best scissors they ever used.

Great for cutting cardboard, rope, wire or whatever other things that might come up during the day.

The DK-10 Precision Driver Set, is an ideal screwdriver set if working with miniature screws.

With the screw tweezers you will never have to struggle picking up a miniature screw and trying to put it in that perfect spot to build your robot arms, or whatever task you may have.

The final item for today will be the PD-08 Side Cutting Pliers, These heavy duty pliers are exactly what you expect from a pair of heavy duty pliers.

These linesman's pliers are great for electric work and cutting most wire encountered while on the job.

These and other great tools are available in the I Heart Engineering store.

Monday, June 11, 2012

Business Plan: 3D manufacturing

This blog post presents a case study in the use of 3D printing technology for manufacturing. The information is primarily geared towards entrepreneurs looking to bootstrap their business without dealing with conventional sources of funding. If you have VC funding, you should just buy a 3D printer since it will probably cost about as much as you were going to spend on a foosball table.

At the time I Heart Engineering was created with the goals of researching experimental capitalism and building giant robots, we had been working with 3D printing technology for a while and knew that one of our initial capital equipment purchases would need to be a 3D printer. At the time, we were not sure if anyone would buy parts produced by a 3D printer or if it would only be useful for prototyping designs. We also couldn't tell if we were better off in the short term buying a 3D printer or outsourcing our production.

To determine the the best course of action, our initial strategy was to post designs on Shapeways and Thingiverse to determine which ideas were popular and to offer a few of those for sale in our online store. Our hypothesis was that if we could sell at least one or two of anything through Shapeways or our online store, then a 3D printer could probably pay for itself. Also, this would be a good place for a shout out to Ponoko who regularly provides us with excellent quality digital fabrication services. These services have helped us scale our business to where it is today.

In the past year we have used the printer to accomplish a variety of research and manufacturing goals but to simplify the cost analysis we will assume that the printer is used exclusively use it to print Trik Tripod adapters. This is a reasonable simplification as this product produces the vast majority of the tangible and quantifiable value and this will provide a worst case estimate of the return on investment.

So while perhaps not exhaustive, the following is a fairly detailed cost analysis of one product: the TriK Tripod Adapter. This adapter allows you to mount a Kinect 3D sensor on to a tripod.  It retails for $19.95 and can be manufactured in about 36 minutes using a Makerbot Thing-O-Matic.

From December 2010 to September 2011, we had 42 orders for a total quantity of 51 Trik Tripod adapters. On 9/28/11, we ordered a Makerbot Thing-O-Matic for $1,299.00 and since then we have had an additional 44 orders for 56 parts. Based on these volumes, this product would be impossible to produce profitably by any other means. Humorously, while some have questioned if 3D printers like the Makerbot TOM can make "Real" parts for "Real" products, the only complaint we have received to date is that a customer wanted the product in a different color and were unable to supply it because we ran out of that color and could not source it in a reasonable timeframe.

TriK Tripod Adapter Costs
 $0.384     8 grams Raw ABS Plastic
 $0.0182    1/4-20 Nut
 $0.222     Qty 4 Plastic thread forming screws 
 $0.124     2 x 1 1⁄4 x 3" Kraft Reverse Tuck Carton
 $0.015     2 x 2" White Laser Label
 $0.044     3 x 5" 2 Mil White Block Reclosable Poly Bag
~$3.75      NRE - Non-Reoccuring Engineering Costs
~$0.50      Labor - Push button, remove part, repeat
~$8.34      Printer operating cost

Total Cost $13.40/part

Non-recurring engineering
Time is money, and engineers want to get paid. They also want things like health insurance, vacations, comfortable chairs and some may want to pay back student loans. We are going to estimate $100 per hour for four hours of work designing the part. This includes building a CAD model, printing a prototype, drinking coffee, editing the CAD model so the screws actually fit and printing additional prototypes. If we sell one, the NRE cost per part is $400 and if we sell a thousand the cost per part is $0.40.  Unfortunately, we have no idea how many we will sell.

If you don't have someone (possibly yourself) working full/part time, it is going to be difficult to produce parts in any reasonable quantity. However, if you have someone soldering boards and packing boxes, having them remove the part and start the next print job is minimal additional work. Our current estimate is that it will take 2 minutes per part at a cost of
$15 per hour.

Printer Operating costs
The TriK Tripod Adapter takes 43 minutes to print from a cold start.  If the build environment is temperature controlled and the next part is started as soon as the previous part cools, the build time for a warm start is 36 minutes.

Our maintenance costs for the Thing-O-Matic for nine months of moderate production use include $334.75 worth of replacement/spare parts. The printer also requires about 2 hours a month in terms of repair and maintenance work fixing the extruder, tightening screws and belts and performing calibration. We are currently budgeting a cost of $20 per hour for this work. This gives a total cost for maintenance of about $77.19 per month. How much will 3D printer repair shops charge in the future?

We used a watt meter to measure the power usage and determined that the printer should cost roughly $30/month to run 24/7. While this may not be exact, it seems like a reasonable estimate. For cost estimation we will assume the printer works an 8 hour shift and costs $10/month.

In NYC and specifically Brooklyn, real estate costs are generally a serious concern. We have a 2'x4' table for the 3D printer that holds the environmental chamber, laptop, parts and plastic. With an estimated real estate cost of $1.50/sqft/month, the printer needs to pay $12/month in rent. YRMV (Your rent may vary.)

Overhead not considered
  • Cost of printing invoice/labels
  • Marketing Blogging costs
  • Transaction fees for credit cards, etc
  • Scapped parts and other losses
  • Cost  for ventilation system
Lessons learned
  • Reliability has a serious effect on costs.
    We went through three of the MK6 Plus Cartridge Heaters and have one spare on hand.
    Use an adjustable wrench to remove the nozzel and make sure staff attempting repairs are familiar with the use of set screws. When attempting to clear a jam, make sure they remove the Cartridge Heater before attempting to unscrew the heater block.

  • Spare parts help avoid down time.
    We ran into issues when a customer order a part that we print on demand and the printer was down for repair for a few days waiting for replacement parts to arrive.

  • 3D printers can make "Real" products
    As of today, people will pay for 3D printed parts and as we develop new techniques for combining it with digital manufacturing technologies, such as laser cutting and water jet machining, our products will become more complex. We believe that our only limitation is our imagination.

In addition to directly manufacturing products, having a 3D printer has had additional positive impacts on our manufacturing processes. In one notable case we constructed a soldering jig to improve quality by ensuring proper alignment of a connector and allowing for more efficient assembly. We have also been able to produce prototype parts to check design feasibility and ensure that products are assemble-able.

While less quantifiable, we also believe that the 3D printer allows us to offer products with limited or unknown demand without losing vast sums of money. There also appears to be sales driven specifically by offering wide variety of 3D print accessories for our robotics products.

Overall our 3D printer appears to have been a good capital investment; over the course of the last year it's manufacturing capabilities have pretty much paid for itself. 3D Printers like the RepRap and the Makerbot Thing-O-Matic have a strong advantage over more expensive printers where the supply of raw materials is limited to the original manufacturer. Looking forward, we believe that newer printers such as the Replicator will offer increased reliability and improved capabilities.

Now DIY!

Sunday, June 10, 2012

Fastners for 3D Printing: Tenacity and robust pin joints. Part 4 of n

Failure is often a sign that you have successfully determined what doesn't work. We have been trying to figure out how to construct a pin joint that is compatible with fused filament fabrication 3D printed plastics, it has taken a few tries to get something that works.

On a previous project, we tried using screws which posed some design challenges and seemed ill suited to production, especially since the nuts kept falling off and the screws seemed prone to fatigue failures due to the rotating radial loads.

Next, we tried using pop rivets to construct a joint.

Parts for testing.


This washer is supposed to act as a spacer and prevent the rivet from expanding and cracking the link.

Ready for testing.

Failure. The parts are crushed together and the rivet is malformed.

Next, we redesign to support the rivet from both sides on the same link so that hopefully the joint can rotate.

A washer is placed on the far side in hopes that it will ensure that the rivet doesn't crack the joint.

You can see the stress risers in white where the outside is crushed together while the inside has expanded and cracked the link.

Next, based on a suggestion from the internet we decided to try tubular rivets. We purchased a HT-174 Hand Rivet Clincher for 1/8 Dia Tubular Rivets for $25 from Hanson Rivet, along with a handful of C4-18-ST Aluminium Rivet. I can highly recommend Hanson Rivet for all your rivet needs.

After a little practice and a delicate touch with a hammer, a reasonable joint can be formed.

A rivet press would probably make this a reasonable choice if you were producing parts in quantities of 250 or more. The way the joint is formed makes it a challenge to use these rivets to produce a joint the rotates freely without being loose. The other disadvantage is that the  joint can not be disassembled easily.

Our next attempt is to use what are apparently called 'Grooved Clevis Pins with Retaining Ring'. We are also using some wave springs to make sure everything fits tightly.

Product placement photo for e-ring pliers.

Assembled joints.

This looks like it will solve most of our design issues that have been holding back a few projects.

Success goes to those who are tenacious.

Wednesday, June 6, 2012

Downlink: Assorted Robotics and Vision

Here is the latest in assorted robot links on this episode of Downlink.

Over at the Edinburgh Hacklab they have been working on optical localization for DIY visual servoing for control of low cost robot arms. An interesting approach for driving robot arms without joint position encoders.

 The Customizable Robot Interface (CRI) is a system for building a production interface for mobile robots as an alternative to the debug interface provided by rviz.

Here at I Heart Robotics we are big believers in the possibilities of robot assisted farming, and the Autoponics robotic plantlab looks like the beginnings of that future.

Also, a shout out to Leafsnap.

After looking at test cards for calibrating displays, we have been thinking about 
designing test cards to calibrate computer vision system. Perhaps, this could be useful for testing the effects of lighting or compression techniques on the performance of vision systems. How far is a Test card from a calibration checker board anyway? 3D TV Calibration   HD Test Cards

Monday, June 4, 2012

K4W testing

Not only does the 'Kinect for Windows' have weird fasteners, but there is also something strange going on with one of the connectors. It looks like there is a pass through connector that was added at the last moment.

After "non-destructive" inspection it looks like (K3N) some signal conditioning/protection circuitry, probably added after someone fried something late in testing. We disassemble so you don't have to.

After reassembly, there is a choice between patched versions of the libfreenect and OpenNI SDKs. The commercial SDK is considered bad luck and is most likely an aracane legal trap.

There is a fork of the SensorKinect package for the OpenNI SDK that has unstable support for the K4W.

We tested the libfreenect driver found here on Ubuntu 12.04.

git clone
cd libfreenect
git checkout k4w-wip
mkdir build
cd build
cmake ..

Pressing 'n' enables and disables 'Near Mode', which is shown above in the lower photo. This gets you from about 50cm minimum range to a roughly 40cm minimum range. This seems to work in part by adjusting the IR gain to prevent overexposing the IR sensor and may be possible to emulate it on other sensors.

We tried using the Nyko Zoom with the K4W but the results were terrible.

Overall the K4W might be worth it if you are trying to scan people's heads to make 3D printed action figures, otherwise you are probably better off with an Xtion.