Saturday, August 10, 2019

Sabbatical Almost Over

Hi all, 

I will be shortly returning from a break.  It has been a busy summer with travel, a new company, a move to the city, and more.

I am setting my Totally Not Evil Robot Army Labs, it will be returning shortly. 

I have also noticed that my blog has been 'picked up' by Ukrainian Search Engine Optimization groups (nefarious or not?). Most of the blogs are coming from random and not so random sites mostly in the Ukraine and Russia.  Welcome I guess?

In the meanwhile, if you are in Europe in October, the next annual Toulouse Robot Race being held.  I do not believe I will make it this year! :(

bis bald!

Monday, May 27, 2019

One Year Anniversary

The Totally Not Evil Robot Army Blog is 1 years old today! (May 27th, 2019)

It has been really nice building robots and writing about it.  I fully plan on continue.

Here are some statistics from the first year:

4 Robots - Mojo - Robot Dog, The Bug, The Wild Weasel, and Centi:

43 Posts

3523 - page hits:
  • 1337 from Israel - due to two massive single hit page crawlers that hit for 600+ and 700+ hits each - robots searching robots I guess?  :)
  • 641 page views from Germany - Where the blog is located.
  • 1545 from the rest of the world.
A few spammers commenting on the blog, trying to place SEO links. - which were mercilessly deleted by the way.

Most references come from, I only recently fixed my links from my YouTube Channel.  And special shout out to Norbert Heinz at for the referrals.

The next year will be in a new "smaller" location for me, and a little added challenge of trying to start a business at the same time. (many of my new robots are virtual, but have ML and AI! ;)

I am looking forward to the next year!
Düsseldorf Doug

Monday, April 22, 2019

Centi (#5) - New Leg Design is Printed


Here is the latest print and video of the Centipede Project.

moving from OpenSCAD to print went fairly smoothly.  As you can see, I have enclosed the main rotating mechanism that moves the chopstick legs.  In this design in OpenSCAD, I have rotated everything along the Z axis, to make it easier to keep centered. The covering socket cap and ball all align, as well as the cam. You can also see holes along the structure, so that small screws can be used to assemble the leg segment. I am reusing screws from recycled printers that are used to bind plastic parts together.

OpenSCAD design
At the 'base' of the leg, I have created a hexagon. This seems to me to be 'self-bio-inspired'. I have not used hexagons in previous designs, so it is novel to me. More importantly, it fits the nature of the leg, as there is no specific 'down' or 'up.  One the walls of the cam base, I have added two small holes for M3 bolts. This allows me to connect two or more legs in sequence... thus forming the multiple legs of the Centipede.

New Print
At this time there are only two leg segments connected.  The M3 bolts are not visible, as they are inside the cam housing.  Note: I had a near-fail as I forgot to leave clearance between the cam housing wall and the bearing mount.  There are many issues to design out when doing project like this. This is why physically making the prototypes is very important to realize assembly issues.

New Gears to connect to Drive
At the base of the Cam Housing are two gears attached to the cam itself. The cam shaft runs through a bearing and then is connected to the gears.  The gears are "kegelrad" from the OpenSCAD library "Getriebe Bilbiothek für OpenSCAD".  The kegelrad could give me an ability to mount the drive gears at an angle different from the cam housing.  We shall see!  ;)

Saturday, April 13, 2019

Centi (#4) - Design Video


I have published a video of the initial design and 3D Printed "drafts" of the Centipede leg mechanism.  You can find the video below on my YouTube channel.

From a design perspective, the drafts have served their purpose. It is now a good time to take what we have learned and start a new draft.  

I like the concept of making each leg of the Centipede to be a "module" that can be replicated and connected together.  I am also realizing that I don't care much for the 'rectangular' frame that was in the drafts.  The legs may need to be moved around.  Honestly, the rectangles do not seem to match the aesthetic of an bio-inspired robot.

Here is my new concept that I am working on ...

Centi - a new aesthetic! - CAD in OpenSCAD

Saturday, April 6, 2019

Wild Weasel - Tracked Robot (#3)

I have just posted a YouTube Video of the assembly of the Wild Weasel track.  You can find it here:

Wild Weasel a completely 3D printed Tracked Robot.  I wanted to build a tracked robot, due to their stability, and at the same time use some motors that I had recovered from recycled printers.

The project went very smoothly, a lot of CAD work was need to design the treads, chassis, and gears used.  The robot uses a Raspberry Pi and an L298N motor driver. This was my first time to use a Tallent Cell power bank, which provides 12V and 5V power - great for RPI and the motors.

Saturday, March 9, 2019

Centi (#3) - The next iteration of design

The bio-inspired multi-leg walking robot!

It seemed that the main sprocket is capable of turning the chopstick legs, and the ball & socket were going to work.  This is the working theory, i will not be able to test a load on them until much later in the development.

The next iteration of the design of the motion mechanism was to start to incorporate a gear into the drive in order to turn the sprocket.  I did a number of changes in the CAD design.  I increased the size of the frame (height) and added M3 holes on the sides.  I updated the socket top to take recycled torx screws from a printer. 

Centipede next iteration of design

For the main design, I have added a 22x7mm skateboard bearing (red) to take the load of the leg (also red) and provide rotation. I extended the cam shaft to hold a gear.  Most important, I designed two gears, one to turn the sprocket, and the other to drive that cam gear.

Close up

The new print has noted improvements. Also, a number of issues that will have to be tweaked in the next iteration

Full View, new iteration on the left, original prototype on the right. 
 Together, the assembly will start to look like 1/3 of the walking mechanism.

Sunday, March 3, 2019

Centi (#2) - A Bio-Inspired Centipede Robot


a little more drafting of ideas around the mechanism.  

Draft of the first test
I drafted out a simple test mechanism to see how well the ball rotating in the ball mount would work with the circular motion of a wheel.  Also, the end of the leg would have to fit inside this wheel as well.

Print of the "minimal viable test"

building the Wild Weasel helped me understand how the bearing and gears could be used to transmit the mechanical energy and absorb the weight of the robot.  I think I will mount the main "sprocket" with a bearing.  After all, the weight of the robot will be directly on this wheel. 

In addition, I will need to add some teeth to the sprocket so that it can be turned with a motor. Finally, it is not too soon to start thinking about how this could be made into a modular component where it can be attached to other legs in the Centipede!

Saturday, March 2, 2019

Wild Weasel - tracked robot (#2)

The first build of the Wild Weasel tracked robot seems to be working well.

Wild Weasel Tracks - in Robot configuration
Here is a video from back in early build, where I first tested out the track.  The track is using two white gears that are from the recycled printer. I went on to recreate these and printing a duplicate set for the second track.  This involved counting the teeth and height and angle of the gears.  Here is a video from my YouTube channel:

As you can see from the video, it is very energetic with 12v of "shore" (mains plug) power. It was running all around my desk, especially as it had no frame besides for the track unit itself - as designed!! ;)

I have since added the Chassis frame consisting of modular units:  a battery bay, a controller bay, and the initial sensor platform.  The robot is fitted out with a tallent cell 12v/5v battery, Raspberry Pi, L298N motor driver, Logitech 920C camera, and USB speakers.

If you would like to drive the robot remotely...  !!  go to and it might be available.  I try to put it online using my TotallyNotEvilRobotArmy stream on  You can find it here:  TNE-RobotArmy WildWeasel controls for Wild Weasel (type in chat to speak

Ready to go!
Wild Weasel in LetsRobot Configuration (with lance!)
Learnings and Next Steps:

After some time spent with users operating the Wild Weasel on, there are some learnings. LR is a great way to test out design, the robot gets a lot of (sometimes hard) use.  

  • My clever design for locking the module connections does not work.  the 3D printed pin and loops shear off under force. a better solution is to use metal nails perhaps.
  • One of the motor stalls much earlier than the other. This may be due to low power from the battery. I will test this further.  The impact is that the robot will not drive straight
  • The MQTT client is reading duplicate values sent from the streaming site. I will update the code to ignore long strings of the same command.
  • Need a better override at the MQTT level. perhaps a second command channel that will allow me to flush the stream from the other channels.

Anti-Collision detection
Most important, I will be adding an Anti-collision code to the motor controller. I will be using an HC-SR04 ultrasonic distance sensor to determine if the robot is against a wall or other object. I believe the best interface will be just to ignore commands that would try to continue to drive into the obstacle.  more details on this to come.

Saturday, February 9, 2019

Wild Weasel - tracked robot (#1)

I have an interest in building and designing out a tracked robot... for some reason. :)  

Tracked robots have static stability, and typically should not get 'stuck' on terrain the way wheeled robots do. Also, you can build, drive, and steer a tracked robot with only 2 motors. The downside of the design is that to turn, they have to 'skid' or slide.

I wanted to design a track system that will be modular and can be combined with other tracks and platforms to easily create new robots. I really like the modular designs of the Intukun pipe inspectors robots. Their mini-track crawler is an impressive piece of crawling hardware. Of course, I wanted to build one like this too.
MiniTrac (80mm x 100mm x 400mm) - by Intukun

The other design influence was closer to the Maker space. On Thingiverse, I found a great design of a robot tank by Tim Clark, 
MR6 - Mini Prototyping Tank Robot. Tim had obviously put a lot of thought into this design. This robot is at least his third design variant on crawling robots. Being his latest model, it probably has the most learnings. 

I really liked the skateboard bearings he is using, as well as the track design, and the various layers of support frame. Although, I am still not sure what is the advantage of raised cog/sprocket to form a triangle.  I did not use his design, except for influence - I needed to have the design in OpenSCAD, and he did not provide source files openly.
MR6 - by Tim Clark

I set out to design my own tracked crawling robot using ideas from both of these designs. In addition, I wanted to re-use 12V motors that I have harvested from old printers.

Track, Sprocket, and Motors -- Ready for Design!

Design Concepts

I want the motor to be inside of the treads, so that there is no axel crossing between a motor and the gears, thus raising the ground height of the robot frame.  Only the motor power wires and the mounting frame will need to go on to the track module.  Thus the height dimension of the unit will be dependent on the motor size and clearance of the treads and sprockets.

(Red) Motor between two sprockets, creating a contained track modual.

the width of the treads has to account for the width of the motor. This affects the width of the sprocket/cog.  The sprocket will contain a 22x7mm skateboard bearing.  So, ultimately the sprocket is dependent on the bearing size, and the tread is dependent on the sprocket.

Frame to hold the motor and sprockets

The length of the track would be dependent on the sprocket size, motor size, and amount of gear reduction needed between the motor and the drive sprocket.  This value had to be determined in a few design iterations. Also at play the size of the gears and the size of the sprocket are closely coupled. In my build process I needed to add size to the sprocket to account for the larger gears I needed.

Frame and Gears to drive the treads

The sprocket size was increased, to provide more clearance to the motor and gears. Since the sprocket gear tooth size is directly linked to the tread size, increasing the sprocket, but keeping the tooth size, meant that I needed an additional tooth on the sprocket.  Thus in a design iteration, changed the sprocket from 12 teeth to 13 teeth.  This very subtil change has impact on the rotational angle location on the sprocket disc. 

Size of the sprocket determine number of teeth in Sprocket and Tread size

Tread design

I examined Tim Clark's treads very closely. I also examined the changes he made from earlier designs to later ones. The result I saw was from early to later designed the length (size of step) of each tread was getting smaller and smaller.  This result in a more fluid chain of treads.

Wild Weasel - Tread Segment
To keep the build process simple, I am using small nails that slide through the Tread Segments to lock them together.

Gear Design

The gears used to transfer the torque from the 12v printer motors to the sprockets had to be carefully designed and fitted.  The motor has a high speed and needed to be stepped down in a compact space.
I experimented with gears reused from old printers.  the common design is a large top gear connected to a smaller gear on the same axis.  This provides a method to reduce the rotation speed for each gear step.
The motors had diagonal toothed gears already on them.  I used a open source gear library in OpenSCAD to design the gears.  Using more fine settings on the 3D Printer produced incredible results.

OpenSCAD library by Dr Jörg Janssen, Getriebe.scad.  I highly recommend this library, although it is in German. (don't let that scare you! ;)
One gear of 4 used in the design.

Final Design

Interestingly, building laterally symmetrical (no upside, downside) means you do not need to have a left or right side. the unit can be flipped or rotated to either side of the robot. By making two copies, I can rotate one tread around to have the symmetrical pair, without having to have a second design.

Track Modual

Here is assembly construction of the first robot.
Wild Weasel tracked Robot Chassis - OpenSCAD
Here is the first print made of the robot, complete with parts.  Completely 3D printed.
Printed Design - Wild Weasel Tracks and Robot

Saturday, January 12, 2019

Robots of the World - Pipe Inspection Robots

Robots of the World ...  

Robots are becoming more and more everyday. The first use cases have been in the automation of welding and painting in manufacturing. These are dangerous jobs with hazardous materials or processes that require repetitive tasks. Perfect for robotic automation.

When it comes to first use cases for roving robots, the inspection of hazardous and difficult locations will be at the top of th list. Today you can see immediate applications in the inspection of offshore oil rigs, constructions sites, decommissioning of nuclear reactors, and underwater inspections.

Inuktun - Versatrax150 - Pipe Inspection Robot

One class of remote inspection is pipe and sewer inspection. Like anything underground, these are dirty, constrained, dangerous, sometimes flooded environments. There currently are a collection of commercial pipe inspection machines, and robots are starting to fill this need. (picture above: Inuktun Versatrax 150)

A report with great detail
In Dec 2017, the Department of Transportation of Ohio (USA), created a report on the available robotic equipment that can be used in the inspection of culverts, pipes, and other underground conduits. The report contains a good overview of the time of vendors, types of equipment, best use recommendations, and cost.

The PDF report can be found here:  
Evaluation of New or Emerging Remote Inspection Technologies for Conduits Ranging from 12” to 120” Spans

Common traits
Each of the Robot come from different designers and companies, but all share a basic set of requirements.  The robots need to be able to reliably withstand the environment they are placed in. They must be able to traverse the pipe or culvert which can be wet, slippery, or obstructed. They must be able to carry a high quality camera for visual inspection. They must be able to carry a payload of other sensors such as pipe thickness ultrasound, laser measurement, and gas detection sensors. They must either have on board power or a power teather. They have to convey all of this information back to the operator. Like doctors, they should 'cause no harm' to the environment they are in. Which means they must no get stuck!

The common designs:

  • High Traction - typically crawlers with tracked treads, some with magnetic treads for pipes
  • Rough Terrain - requiring high clearance and ability to climb over obstacles
  • Waterproof/water-tight - These bots go into flooded culverts, sewers, mains, etc. 
  • Small - to be used in very small pipes and culverts
  • Modular - components can be quickly added and removed in the field
  • Tethered - to be removed if their drive systems fail (interesting lack of automation)

Inspection Payload:

  • camera, cameras, etc
  • Laser measurement
  • Sonar
  • Gas Sensors
  • Temperature
  • sensors sensor sensors

Market and Cost The cost of these robots have a dramatic range.  Units can cost as low as $15,000 USD, to as high as $500,000 USD.  The variation in cost often is associate with size and capability. It is hard to determine reliability from the marketing material. It would look to be fairly typical that the total cost of ownership of one of these mid size systems would be around $200,000 USD.

This cost range would acceptable for large construction companies and governments. It would produce a potential rental business, or specialty inspections companies that would have high reuse. Certainly, at these price points there would be an opportunity for innovative solutions to disrupt this industry.

Some of the more impressive models:



Deep Trekker

Final Thoughts:
This market is soon to be expanded. As lower cost robotics become available, it would be possible to expand the market to users with lower operational cost thresholds. Markets such as property inspection have not yet been exploited. In addition, these robots will only become the remote sensors for a larger aggregation of operational and geospatial data. Ultimately, it will not just the robot technology that is considered, but the data management platform as well.