Sunday, 13 July 2014

Wrist Designs

Over the past couple of weeks I have been mostly testing Armdroid electronics and going completely round in circles...

I've somehow destroyed an Arduino, questioned my sanity, sacrificed several chickens, and finally, have the interface electronics from TNMOC's Armdroid now running.  But, I'm facing what appears to be a timing problem as soon as the 74LS366 is inserted into the empty IC5 socket that enables the feedback sensors.

I was wondering why TNMOC's interface was missing this chip, because it doesn't make a great deal of sense when the arm has already been fitted with sensors.  When you look back at the photographs it's quite obvious the previous owner bypassed the interface circuit and controlled the steppers and sensors  from some other source.  This is not the first time I've witnessed this when making a post-mortem analysis of a dead looking Armdroid.

Enabling IC5 and testing the same combination with my Armdroid interface circuit, everything is working as expected, so assuming I do have my facts correct, I will write up another day more information about the wiring up of these sensors.

I suspect the timing problem relates to the 74LS123 (IC4) Monostable Multivibrator and delay determined by the accompanying capacitor and resistor network.   Testing this capacitor with my ESR meter in-circuit proved inconclusive, so I'll probably swap this out as soon as I have replacements available and try again.

Anyway, having spent many hours looking at the circuit board, decided I would take a break and start cleaning up the mechanics as everything is really dusty and dirty....   This morning I spotted a very subtle difference between my Armdroid 1 hardware and TNMOC's regarding the finger supports.

On the surface, the design of Armdroid 1 hardware didn't actually change a great deal after going into production, so this is worth a quick mention here...

Spot the Difference

As you can see in the following photograph - my Armdroid consists of an aluminium support flange for the three fingers:

Finger Support Flange - my Armdroid
Ignoring the fact the DELRIN gearing have different colours, this design consists of two different types of bevel gears - flanged gears (the ones with string wrapped around them) and one non-flanged gear, called the hand gear, which this finger assembly is attached with machine screws.

This must have changed at some point to the following arraignment which appears much simpler.  In this case, we have three identical bevel gears with much larger flanges, and the aluminum support is no longer necessary because the fingers are now bolted directly to the gearing:

Simplified finger supports on TNMOC's Armdroid
Another view of the flanged bevel gearing

Looks obvious this must have been a cost cutting exercise, but did Colne Robotics ever update their documentation and blueprints to reflect this ?     Answers on a postcard please...

Sunday, 15 June 2014


Yesterday was spent digging through the archives, along with pot-holing the darkest depths of D-Block at TNMOC, and my efforts was truly rewarded with some remarkable discoveries...

These are original ETI (Electronics Today International) magazines featuring the Armdroid prototype.

Armdroid Part 1, September 1981 - pages 50 - 57
Armdroid Part 2, October 1982 - pages 43 - 46

There are a number of copies of Part 1 floating around the internet, although most are fairly blurry, so can be difficult making out the circuit & timing diagrams.

I've never seen the October issue before, so this was especially exciting....  Part 2 covers the full component listings, PCB overlays, and Power Supply in more detail.   Interestingly, they must have changed this design because the PSU is described as providing +12v and +5v power outputs, whereas on my Armdroid (prototype), the power connector takes a single +12v input and regulates to +5v using a 7805 bolted to the chassis.  The later single interface models incorporate this regulator on the circuit board itself.

There are no other hardware differences between what's presented in these articles, with the exception of the base unit which appears to have changed from a rectangular steal box.

BYTE reviewed the Armdroid in May, 1982, Vol 7, No. 5 titled "Japanese Computers" - pages 286 - 294

The review is really interesting, the reviewer (Steven Leininger) had the kit to assemble, plus a factory assembled Armdroid for reference.  He had preliminary version of the construction manual, but I suspect this didn't improve for the final version...  A criticism was made about the manual specified part numbers, but didn't refer to drawing numbers - something that's caused me a great deal of headaches.

He had problems assembling the duel-race ball-bearing assembly, something I've never attempted, but this might have been easier with better quality drawings with detailed close ups.

The reviewer interfaced his Armdroid to the TRS-80 Model I - that's not really a surprise because Steven Leininger was actually the design engineer for this microcomputer.  The rest of the article covers the LEARN software and some of editing features for designing movement sequences.

Scanned copies of these articles and can be found in the resource section.  Because of age and quality of paper, the quality of these scans are not perfect.

Other Publications

I'm still researching the archives, the only other magazines which feature articles relating to the Armdroid are:
The Home Computer Course, part-work magazine - pages 314 - 315 (published 1983/4).

If any additional material comes to light trawling through the library & archives, I will update this Blog post.  If anybody else knows of any other published material relating to Armdroids, please let me know.

Friday, 9 May 2014

TNMOC restoration project

Over the past few weeks I've been in discussions with The National Museum of Computing regarding helping out with the restoration of their recently donated Armdroid 1, and guess what....

I've enrolled as a member of the volunteering staff, and will shortly start work on my first restoration project for the museum.   Looking at the overall condition of this, I really can't imagine this will take very long....

Sure, its dusty, a little bit rusty in places, but on the whole, the mechanics look to be in amazingly good condition.

The reduction gears, do however appear to have suffered from those hair-line fractures, which I've previously talked about as a fairly common problem, but, there really is nothing here that cannot be replaced or repaired.

That said, I'll be stripping down the entire mechanics, possibly separating the bearing housing, ensure everything is cleaned and lubricated before rebuilding.

We'll need to re-string with new Kevlar, and as I have spare timing belts, we'll change these too.

Mind you, I have no idea what condition the electronics are in, but the same approach to testing this circuit will be employed as before.

Peeking inside, I could identify an Issue 4 driver board, which is exactly the same revision as my production board, but with all the wires hanging outside.... yeah...well... who knows at this stage !

It's really nice to have an original power supply, I've never seen one before, and I'm looking forward to seeing if this works.  The PAT test (UK electrical safety) sticker is dated 1999, so possibly its been a while since last use.

The intention is to put this on interactive display in the museum - I've always liked exhibits in museums with buttons to press, making things work....  and most likely, this will use a Raspberry Pi or Arduino as the controller behind the scenes.

My new patient close-up :

I intend to draw-up schematics of this power supply as I don't believe these are published anywhere on the internet.  I have seen circuit diagrams for the original prototype power supply, but they do differ in output voltages.

I'm not intending to update the Blog with every step of this rebuild, but if anything interesting is discovered, or different to what has been previously covered, then I'll certainly make an update.

Readers of the Blog will know I'm currently developing an updated version of LEARN for Windows, whilst this activity is still taking place, it is likely to be delayed a little.

Of course, one of the benefits of volunteering your services, is that you get to play with lots of nice kit, and this could possibly be my next "big" project....    Take a look at this beast.....

It's a manipulator arm from a submersible Remotely Operated Vehicle (ROV), previously used in the North Sea from the Oil & Gas Industry.

We believe this was would have been used for Inspection Repair Maintenance (IRM) work at depths of around 50 - 300 meters.

It runs on Hydraulics operated from electromechanical values, with control signals feeding down an umbilical cable from the surface vessel.  The operators controlling the ROV and ARM would be aboard this vessel.

Gripper close up
With a gripping force around 1000 lb (454Kg), this is somewhat stronger than the mere 5 lbs the Armdroid is good for!   I'd say, keep your fingers well away!

Base Arm Cylinder was removed for packaging
In the photograph above you can clearly see the black hydraulic lines with grey sheathing to group them.  The transparent brown sheath caries multiple signal wires, which we believe run from positional encoders, and possibly other solid-state sensors.

The signal cables and hydraulics feed into the value assembly.  There are 14 hydraulic actuator lines in total.

Hydraulic Valves
We believe a hydraulic feed from the ROV supplies these valves - there is no separate hydraulic pump.  You can also make out the pressure monitor inside opposite the hydraulic feed lines on the right.

The large blue cable contains multicore signals and feed into this, which appears to be some kind of transformer / interface unit strapped somewhere to the ROV.

The connector on the left is labelled 110v which we believe carries both power and serial data.

Everything about this arm is unbelievably heavy, making it somewhat difficult to inspect everything.  Luckily, Daniel Bull was around to help lift things.

We've started researching the manufacturer, history, and have reason to believe the software may have been developed in Milton Keynes.

Although we're missing a hydraulic pump, we're wondering if it's actually possible to resurrect this thing back to life....   I don't claim to know anything about hydraulics, but we'll be reaching out to experts in the industry.   Crazy... yep, I'm sure we'll have lots of fun in the process !

One of the operator's control panels

Although damaged, the controller reflects each degree of freedom of the manipulator.  There is certainly a possibility we could re-purpose this as an Armdroid controller.

I'm actually wondering....  Has anybody out there interfaced a Raspberry Pi to an ROV manipulator arm, or would that be a first ?

It might be possible to interface the valve assembly directly to the GPIO with appropriate drivers and buffers.  This takes the high-voltage out of the equation, and saves us figuring out that serial protocol....

Of course, if you recognize the above hardware or have experience of ROVs - operating or engineering please do drop me a message.

Google+If you want to find out more, be sure to follow on Goggle+ as that's where all my adventures at TNMOC will be posted - I'm trying to keep this an Armdroid blog after all.   Additional photographs of this project will also be added here.

Tuesday, 15 April 2014

Tweet from TNMOC

Daniel Bull kindly pointed out this Tweet yesterday from the National Museum of Computing at Bletchley Park:

Hopefully this Armdroid 1 complete with original power supply will eventually make it to public display....

Saturday, 12 April 2014

Potton Pi & Pints Social

Just back from the Raspberry Pi piss up social in Potton, Bedfordshire, arranged by Mike & Tim who normally organize the Cambridge Jams.   This social event was informal, held upstairs in their local watering hole - The Rising Sun

As you can see, a few familiar faces in attendance from previous Jams:

Pictured - Ben Nuttel (Raspberry Pi Foundation), Ryan Walmsley (RyanTeck), Nevile Hunt (Seven Segments of Pi), and more....

This is PJ Evans demonstrating the Raspberry Pi enabled Enigma machine which I saw last year at Bletchley Park.  PJ also brought along a newly released FUZE machine featuring a variant of BBC Basic, developed by Gordon Henderson of WiringPi fame, and if you recall, I met Gordon during December's Cam Jam :

John Evans pictured here demonstrating XBMS, and how to receive Live TV on a Raspberry Pi in full High Definition using a USB dongle :

....should be a good picture, the TV transmitter station at Sandy Heath is visible from the window :

I decided not to bring the Armdroid along as I thought it was a bit bulky, but it was nice to hear from a few people who attended my presentation in Peterborough asking how things are currently going....     Well.... the Windows LEARN software is currently in progress, and hopefully will be released soon.

A fantastic afternoon, and another great opportunity to catch up with everybody.

Tuesday, 25 March 2014

Armdroid Library

The software section has been just updated to include the newly released Armdroid Library and includes details of the GIT source repository.

The Armdroid Library has been developed especially with portability in mind, but at the moment, only Arduino is currently supported.  Hopefully this will change when support is added for other platforms and micro-controllers.

Summary of key library features:
  • Responsible for all low-level control & dynamics
  • Configurable which I/O pins are used for interface connections
  • Reusable class structure design
  • Drives single/multiple motors
  • Variable speed control
  • Maintains channel offset counters
  • Custom motor channel re-mapping (table driven)
  • Supports multiple addressing modes

The library includes examples, which also contains the slave Serial Driver uploaded to my Arduino Leonardo and demonstrated at UCP (see previous post) driven by a Raspberry Pi.   More example programs will be added, and I'll also be writing various Tutorials how to write your own programs, and build different interfacing circuits using this library.

The library currently supports different Armdroid models - this includes addressing modes for both "prototype" and "production" models with the single-interface boards.  Prototype variants will however need to be configured as Direct-Drive (see resources section for clarification).  By default, the library assumes your interfacing a production model; otherwise for prototype models, simply add #define INTERFACE_PROTOTYPE  before all include statements in your sketches.

Hopefully, owners wanting to experiment with interfacing their Armdroid to Arduino (and later Raspberry Pi) will be interested in this library, and all comments/suggestions for enhancements gratefully received.

That said...  I've also been receiving correspondence from people interested in controlling their Armdroid from IBM PC and compatibles.  Of course, Arduino is ideal for achieving this purpose, and is relatively inexpensive.  We can use USB/Serial connectivity to interface the device, and the same Serial Driver program included with the library can be used without modification.

Because of the amount of interest shown, a slight digression will include developing a variant of LEARN for Windows.  This will be followed with Tutorials how to install, and configure the software.

Sunday, 23 March 2014

Jammin' at UCP

Saturday, 15 March  Raspberry Jam - University Centre Peterborough (UCP)

UCP is a small, modern university campus of Peterborough Regional College, and venue for the very first Raspberry Jam to be held in Peterborough organised by Mike Mills.

Arriving early to setup the Armdroid in the Show & Tell display section:

The tea-tray was borrowed because in the afternoon I was to give a short presentation and needed a way of carrying everything upstairs to the conference room.

All reduction gears lucubrated with oil, and my original 12V power supply was chosen in favor of the 15V supply to put less stress on the motors, as these will be mostly powered all day.   I don't yet have any control in my Arduino firmware to enable/disable Holding Torque which would have allowed me to cool down the stepper motors by de-energizing the coils during long periods of standby.

Whilst the opening presentations were being held, the show & tell area was quite, so I had time to experiment further with different speed settings.  The Armdroid performs really well at 200RPM, but excessive vibrations seem to occur at speeds lower than 100RPM.  This is especially notable with base rotations, and additional lubrication applied to the bearings didn't seem to help matters.

I eventually pushed the speed right up to approx 600RPM and at this point, things started to go unpredictably wrong, so 500RPM would appear to be the safest maximum top-speed.   Switching off, and re-positioning the arm back to a predefined home position recovered everything nicely.

Unfortunately I didn't have time to write any sequencing software before the show, so all movements had to be instructed by commands entered manually on the Raspberry Pi.

The show & tell became very busy, and in the afternoon gave a 30-min presentation to an over-subscribed class room, and despite having not preparing any material, went surprisingly well.   It was pleasing to hear from people who previously saw the Armdroid at Cambridge saying how much smoother everything is running these days.

I would like to congratulate Mike and all helpers for putting on a great show.  It was also fantastic to catch up with familiar faces from previous Milton Keynes (Bletchley Park) and Cambridge Jams.

As before, I've come away with a list of things/issues to address:

  • Gripper - the precision of fingers closing is not as accurate as I would like and makes picking up objects unreliable
  • Sequencing software for the Raspberry Pi
  • Pre-designed sequences to really demonstrate & show off capabilities
  • Motion limiters - add protection from operating outside working envelope
  • Sensors - must install original reed-switches and update the Arduino to accept the bi-directional interface on the digital I/O pins
  • Torque control
  • Investigate use of PIGPIO for low-level driving from the Pi instead of slaving out to an Arduino

As hinted in my presentation I'll also be looking to design "applications" which will use the robotic arm to solve some real-world problems, so hopefully, in time we'll have something really interesting and impressive to show....

Photographs used with permission - John Evans