Over the past year, an internal part numbering scheme was created for our use. In fact, the methodology for said system is located on our Wiki Page Learn.IHeartEngineering.com as well as other useful information. Creating a part number for every component and product comes with a set of advantages and disadvantages.
A major responsibility is proper maintenance and sequencing of internal components (a task that may require dedicated staff as the business scales upward.) Often, it is necessary to augment your system to include a type of part, component, or product previously excluded. For example, we now have a Kinect Sensor Standoff and Xtion Sensor Standoff for the TurtleBot 2. In some ways, the Xtion Sensor Standoff is a revision of the Kinect version (removed taper and M4 threaded holes vs 6-32 stud on one end.) A different perspective identifies the Xtion Standoff as an individual part because of its intended use with the Asus Xtion vs the Kinect. We decided to treat it as an individual part and have assigned the Xtion Sensor Standoff a new part number over making its number a revision of the Kinect Sensor Standoff.
Some things are produced in-house, others outsourced. In the case of outsourced manufacturing, an internal part numbering system proves to be extremely beneficial. Placing orders between you and your manufacturer becomes effortless after providing them with properly documented information. It also keeps the flow of information between departments from being corrupted. Instead of holding your accounting department's hand when ordering more inventory, you can simply provide an order with references to the internal part numbers.
In some scenarios, we are simply ordering materials and items from a vendor or distributor. These items have 2 sets of part numbers. One from I Heart Engineering and the other from the vendor/distributor themselves. This gives the ability to purchase similar commodities from various sources and treat them as the same item. The task, then, is to create a system in which we can identify an item by its internal and external part number. This information is consolidated by our use of an Open Source Inventory management system called PartKeepr. In it, we are building an entire catalog of internal inventory. Items may be categorized by "what" they are, but their pages tell us "who." Meaning the internal and external part number as well as that vendor/distributor's information for placing the order. Built up over time, it makes being able to stay focused on working easier as the business begins to scale.
The first consumer facing application of our system appears on TurtleBot 2's distributed by I Heart Engineering. Users should notice a QR Code and Part Number located on the underside of their TurtleBot 2 Plates.
Scanning the QR Code directs the user to the product's wiki page. [TurtleBot 2 Disk 1 Wiki Page] All of the information useful for manufacturing the Disk can be found here, as well as linking to the store for purchase. When your business begins to scale, a second or augmented part number can be created to possibly denote time and location of manufacture.
Some Things About Lasers and Codes
During test manufacturing of the QR Codes, some interesting things were noticed. One is the conflict presented by contrast. The other is that the "Buffer Zone" surrounding the QR Code itself is critical for success, but can be flexible in certain conditions. (1)
Notice the difference in the 3 rows pictured, each has a different sized border.
- No Border
- Border is approximately equal to size of single QR Code data square
- Border is approximately 4x the size of a single QR Code data square
Remaining on proper contrast for one's QR Codes. Black MDF provided an interesting quirk. The QR Code generators I've used seem to all generate Black on White QR Codes. If you raster the MDF with the codes as is, they will be unusable for reasons illustrated below.
Another interesting characteristic of the QR Codes found on our TurtleBot2 Disks are that they can only be scanned within 120.8mm or ≈5inches. This was calculated using the formula:
Minimum QR Code Size = (Scanning Distance / Distance Factor) * Data Density Factor (1)
The Distance Factor is a constant from 10 to 1 based on the lighting conditions. Data Density Factor is the number of data columns in one's QR Code divided by 25.
Approximating Scanning Distance ≈ (14mm * 10) / (29 data columns / 25)
≈ 140mm / 1.16
≈ 120mm or ~5"
Also, for those of you with access to laser cutters looking for a better finish on MDF raster jobs without much effort, use Transfer Tape when engraving the object. The CO2 laser burns some of the tape material onto the MDF creating a sort of white fill over the raster area adding some polish. I have not tested this effect on other materials in our Helix.