I recently purchased one of your GoPiGo (v3) kits and I have just finished assembling it, intending to use it to interest my granddaughters, (aged 10 and 8), in technology and programming.
During initial assembly and testing, I ran into a number of problems and/or questions which I will address in other separate topics.
In this topic, I want to address my initial reactions to the product, build quality, assembly instructions, and testing.
First impressions:
Before I say anything else, I want to emphasize how impressed and pleased I am with the overall build quality and design of the GoPiGo robot. There is a degree of thoughtful design and attention to detail that I don’t often see in products of this type.
Though it may seem like I might be overly picky in my comments below - it is only because I am so very impressed with your product that I am taking the time to write this at four AM on a Friday while the rest of the family sleeps. I am sufficiently impressed that I am willing to take the time to write this, to help bring this product to another level.
Build Quality:
I consider the build quality to be excellent.
Chassis and body edges were smoothly finished and properly rounded off to avoid sharp edges, cuts and splinters. PC boards also had smoothly finished edges instead of the usual ragged edges that encourage fiber splinters and finger cuts.
Piece-parts like screws, washers, nuts and bolts were also properly finished instead of being rough-stamped with razor-like edges.
PC-board stenciling and marking is also quite good; helping the builder understand what goes where, and - equally important - how to attach it correctly. Just as important as the stenciling itself is the choice of colors - a high-contrast white-on-red - that makes the markings easily seen without being garish or difficult to look at.
Enhancement Suggestion:
- I would suggest adding additional stencil markings to the top of the red GoPiGo PCB for the LED indicators. I would indicate what it is and/or does, what states it can be in, and what those states/colors indicate.
i.e.-
I would mark the “antenna” LED as “Wireless Connection” (with a line going to the LED). On the other side, I would add notations something like this:
– (off) - Wireless disabled
– (Green) - Wireless enabled
– (Blue) - Wireless connected -
I would also add markings for the two “eye” LEDs, indicating what they do and what the indications mean, as well as for any other un-marked LEDs.
-
Overall grade: “A” to “A+”
Assembly:
The overall assembly process was fair to good overall, though issues with the assembly instructions, (see below), unnecessarily complicated things at times.
The design of the parts and chassis with extra mounting holes and wire-feed-through slots is an excellent idea that encourages experimentation. Likewise, the few additional parts included in the kit also helps stimulate the imagination.
Enhancement Request:
-
I would sub-divide the packages of parts into smaller groupings, such as a separate package for the posts and stand-offs, one for smaller screws, one for larger screws, one for washers, etc. The way they’re currently organized makes it necessary to pour out the bags and manually separate the individual types of parts - which encourages them to be spilled and lost. This is especially important for the younger assembler who may not have the experience of the advanced hobbyist.
-
Along with the small screwdriver, a small wrench that fits the nuts and standoff posts would be a valuable addition, since it is often not possible to hold the nut or standoff tightly with the fingers.
-
I would add fiber washers for every place where a standoff, screw, or nut comes in direct contact with the acrylic chassis parts - especially the smaller screws for attaching servos - as tightening them can cause the acrylic to crack. This is also important
where screws, standoffs, or other spacers come in contact with the printed circuit boards. -
I would also suggest modifying the bottom chassis where the front-facing servo attaches so that one of the two holes describes a small arc. Because of inevitable production tolerances in the manufacture of servos - and the position of the gear on the shaft itself - the “center” position can, and likely will, point in a direction other than a true 90 degrees. This will allow the slight adjustment needed to correct that.
-
Additionally, the battery can be quite loose, especially if attached to the top of the robot instead of on the back. For each of the places where the battery pack can mount, there needs to be some way to mechanically limit the motion of the battery pack. Indexing pins, slots, indents, or something that the battery pack can fit into, would help the velcro strap hold the batteries in place. As it is, I attempted to attach the battery pack to the top chassis plate. It was so loose there that there was a real risk of it sliding loose, no matter how tight the velcro strap was attached. Even when strapping the battery to the back of the robot, getting a firm attachment is not always easy.
-
I would also suggest adding an additional 2-3 millimeters of clearance between the top chassis plate and the GoPiGo PCB below it. As it is, attempting to run the velcro strap through it after assembly is very likely to bend the header pins that stick up from the red GoPiGo PCB.
-
Lastly, is there some way to cover these header pins when not in use? It is way too easy to bend them after assembly by running the velcro strap, or something else, between the GoPiGo board and the top chassis plate.
Overall grade: “B” - “B+”
Assembly Instructions:
Unfortunately, this was the weakest part of the whole process; contributing materially to the ultimate difficulty and potential dissatisfaction with the product as a whole.
In defense of the writers, writing technical documentation and assembly instructions is very possibly the most difficult and challenging writing task possible. It requires the imagination of Stephen King, the wisdom of Solomon and the tact and diplomacy of Jesus Christ to do even a mediocre job. So much so that there are universities and colleges that offer entire degree programs in technical documentation writing! Like I said, it’s NOT a simple task.
Before I comment on the assembly instructions, I want to mention the important design concept of closure.
Closure, (or the lack of it), is the degree to which a design, method, user interface or assembly instruction, (etc.), helps guide the user “along the path of righteousness”; guiding him toward correct action and helping him avoid mistakes. IMHO, this is an essential quality for any kit - especially one that is going to be used as a learning tool.
Though the concept of closure is important throughout all phases of the design and assembly process of a product like this, it is within the assembly instructions that closure is the most critically important.
What was done well:
-
The overall layout of the instructions was well done.
-
The division of the assembly instructions into small, easily digested and understood logical blocks is a significant plus. This deserves particular mention because it is often so poorly done.
-
In the same vein, the division of each assembly step into distinct parts - a “this is what you will need” and a “this is how you do it” section - is excellent. The inclusion of pictures of the parts and helpful assembly notes and comments is particularly noteworthy. I particularly appreciated the caution and “gotcha!” warnings - they saved me from awful mistakes on a few occasions.
-
Though I could have included this in the assembly comments above, I believe the presence of component and position labels - both molded into the acrylic and as stick-on labels - materially added to the assembly process. Because these markings were there, the assembly instructions were that much more effective.
-
The position labels “L” and “R” for the two motor-mounting brackets is well done. However the assembly instructions have not been updated to use the new markings. Instead the instructions indicate that they are marked with numeral “1” markings.
Unfortunately, there were substantial weaknesses and shortcomings that undermined what could have been absolutely superlative instructions.
Issues I encountered during assembly:
-
My biggest issue was that the instructions were not monolithic or apparently intended for the product I was assembling.
- The instructions for the GoPiGo kit that I purchased appeared to be a collection of different assembly instructions for individual kits instead of being for the entire robot kit as a whole.
(i.e. Instructions for the body, for the distance sensor, etc. etc. etc.), instead of an integrated assembly document that related all the assembly steps together.) - Likewise, the various assembly instructions were often located on different web-pages, requiring a lot of jumping back-and-forth among the individual assembly documents.
- The result of this was a lot of unnecessary back-tracking, disassembling, moving parts around, and re-assembling to accommodate assembly aspects that were not well communicated between the various assembly steps.
- The instructions for the GoPiGo kit that I purchased appeared to be a collection of different assembly instructions for individual kits instead of being for the entire robot kit as a whole.
-
The various sets of assembly instructions are not well integrated. Because of this, one set of instructions tended to “paint the user into a corner” with respect to the steps that followed, often requiring substantial disassembly with the possibility of damage to the parts installed when continuing to the next assembly steps.
-
In the same vein, optional or different potential assembly paths were not presented to the assembler until after one of the possible assembly paths were completed. One noteworthy example is the assembly instructions for the camera:
- The assembler is told to install the Raspberry Pi board on the bottom chassis.
- Next, the assembler is told to install the GoPiGo board on top of the “Pi” board and fasten it down using standoffs, the top chassis plate, and then the top chassis plate’s fasteners.
-
Then the user is offered the opportunity to add the Pi camera, which requires removing the fasteners, top chassis plate, standoffs and the GoPiGo board, adding the camera’s flexible circuit strip, passing the strip through a specially made cut-out in the GoPiGo board, and reassembling the whole thing.
*THEN the instructions say that “if the camera’s flex connecter blocks the sensor ports”, (which it does), the entire assembly needs to be taken apart AGAIN to reroute the flex connector cable. Since assembly of the Pi’s PC board and the GoPiGo board is a major assembly step involving plugging and unplugging headers, fasteners, and other things - it’s not something to be done lightly or casually without a good reason.
What I would review and consider changing:
-
I would make different and separate installation instructions for both individual kits, (i.e. the base robot chassis), and the GoPiGo robot kit as a whole. It might be possible to make the GoPiGo instructions “depend” on the base chassis, sensor, and/or camera instructions so that changes to the sub-assembly instructions propagate through to the instructions for the entire kit.
-
I would make sure that any optional assembly steps, (or assembly step options), are mentioned BEFORE the assembly steps they apply to.
-
I would suggest that the assembly steps for any sensors/actuators included with the kit are thoroughly integrated with the instructions for the whole kit.
-
I would thoroughly use-test the instructions by giving the instructions - and a kit - to groups of varying ages so that you can find pain-points and make changes.
-
I would also seriously consider making a PDF version of the instructions available so that it can be downloaded and printed or read offline on a tablet or e-reader.
Overall grade: “C” - “C+”
Testing the assembled kit:
Also unfortunate is the apparent lack of post-assembly testability. The ability to test the basic functionality of the device, post assembly but before programming, would eliminate much of the angst and frustration that I see on these fora. Please allow me to suggest:
-
The addition of some kind of basic self-test routine that would poll for, (and test), the various installed features, sensors, etc. that are a part of the kit. (i.e. Do the motors turn? Do they turn in the correct direction? Does the distance sensor work? Does the camera work? Does the servo work? And so on.)
-
Within the web interface for the GoPiGo itself should be some kind of dedicated “dashboard” page with prominent data displays where sensors, camera, servos, etc. can be viewed, tested, and errors noted.
-
Also under this heading should be the ability to calibrate the device, sensors, and actuators. With this, the front servo can be adjusted so that “centered” is truly straight ahead, a turn of 90 or 180 (or so) degrees right or left is truly 90 or 180 degrees, (and not 60 or 120 degrees), and other sensors - such as distance measurement sensors - can be set to real and actual values.
Summary:
In summary, I believe that the GoPiGo kit is an excellent buy and can be very useful both as an introduction to robotics and as a valuable teaching aide.
With a little polish and usability testing, this could easily become THE world-class kit that all others are measured against.
Jim “JR”