Blog

Slicing my inner dome!

So, finally got some time on a weekend with nice weather to get outside with the inner dome and my Dremel. Whilst the dome set I got had a laser cut outer dome, the inner one was totally uncut. The aluminium domes come as an inner and outer to allow you to have the indent around each of the panels, and also lets you have a nice lip if you have the panels opening, which is something I want. Of course, this means lots of holes to cut. Any panels that are going to open have to be cut out, as well as all the holes for the lights and holo projectors (HP).

IMG_0182To start off with, all the holes were marked using the laser cut outer dome as a template. HP and light holes were to be the same size as the outer ones, but the opening panels need more of a lip. A tip I learnt from reading other builder’s logs was to use a large washer, and to put the marker pen in the center, then roll it around the edge of the opening. This gives you pretty much a perfect size for the lip. Next comes the scary part.

Cutting disc grave yard. They really don't last long, and some of the shattered. The larger ones broke in the center so were unusable.Cutting the dome! These things aren’t exactly cheap, and even worse they’re quite hard to come by, having to wait for runs to be done of them by the guys in the states. But, its got to be done so I got the Dremel and a whole bunch of fibreglass reinforced cutting discs for it. I needed a lot as the wear down extremely quickly. I went through over two dozen of them just on the dome. Thankfully I got plenty.

I found the easiest way to do it neatly was to do the large part of the cutting with the dremel, at least enough to make a cut a few cm long so that I could get the hacksaw into the hole. The hacksaw made a much cleaner cut with more control. The Dremel had a habit of biting in and running off a bit, which made some of the fine cuts a bit difficult. By far the hardest bits to do were the circles for which I ended up making a load of straight cuts through the center to form a star pattern, then gradually cut each of the prongs off. Once I had the main parts cut I attached all the cuts with a large file to take it to the lines I had drawn.

All the pie panels done now, along with the top HP. The metal on the spun domes is a fair bit thicker at the top. Just needs a load of filing and sanding to make smooth and safe.It took a good few hours to get through everything, but it was worth it. The holes are still a little rough and still need some sanding down with wet and dry. Also the circular holes all need to be made a little bigger. They were originally marked up to be the same size as the outer dome holes, but ideally they need to be at least a few mm bigger, especially the HPs. Another tip that I’ve found on the net is using a glass wine bottle to help with the sanding of the circular holes. Wrapping some wet and dry around the neck, you can sand in a circular motion to get an even hole.

Still left to do are the rear PSI holes, in both the inner and outer domes. It is the one outer hole that wasn’t pre-cut, so I need to be extra careful with the outer part. The current run of laser cut domes are a lot nicer, with the inner and outer ones laser cut and all just about ready to just polish and paint. Also, I think I’ve been fairly lucky with this dome, as a lot of people report having to cut the inner dome in half to get the inner and outer to fit together properly.

Finally got round to cutting some holes into R2's dome. He now has lights! :)Once the last PSI holes are cut I’ll be ready to bind the two domes together permanently, which is another scary one way step. I’m making sure I’ve as much done with them separate as possible to avoid damaging the outer dome with a slip of the Dremel. I still couldn’t resist having a test fit of the two domes and inserting some of the lighting. It looks pretty good.

Next main steps once its all bonded is to install the main radar eye which I’m hoping to bolt on to make it removable, and then I have to source a load of hinges which seem to be either very expensive, or hard to find.

All in all, a good weekend of work. I would’ve like to do more but due to losing an hour due to the clocks changing, an early morning call from work, and Mother’s Day, I didn’t have much time on the Sunday to do much. Fingers crossed for nice weather again next week to finish off the Dremel work outside. I might also make a start on the skins too.

 

Inside Out

So, I seem to be building R2 in the reverse of how most people build their versions. Whilst I started with the dome due to finding a good deal, I’ve spent most of my time working on his internals and very little on the actual physical droid. Since my last post back in August regarding R2’s brain, I’ve done a lot of work on how everything will tie together to do the control. My current working idea is to have an i2c bus running throughout as R2’s central nervous system both sending out commands, and receiving feedback.R2D2_Electronics_Block_Diagram

The main control is still going to be a Raspberry Pi as this gives me much more range to do some interesting things later such as voice recognition, as well as letting me experiment with lots of different ways to actually control R2. I’m still thinking of using a PS3 controller as input, but also thinking of using a wii nunchuck is possible as a much smaller one to control simple operations.

The Pi will be linked via i2c to the various modules such as the servo controllers mentioned in my last post, with one in the dome and one in the body, and also to the lighting systems with Arduinos programmed to receive the signals to trigger various effects. I’m using BHD‘s Arduino code for the TeeCees lights in the dome at the moment, with just minor changes to accept the i2c signals. I may write something at a later date to do more dynamic light displays such as free form text messages to scroll across the RLD, but for now this is more than adequate.

Communication between the spinning dome and body will be through a 6 wire slip ring connector. 2 wires will be enough for the data signal, and then I will pair up the others to provide the power. I’ll probably have to go for two separate 5V supplies to the dome, one for electronics and one for servos as there will more than likely be a lot of noise coming over the servo power lines as they move.

PDUPower for all the electronics will come from a simple USB battery pack, which in turn will be plugged into the power distribution board I have designed. The PDU will take in a raw input from the sealed lead acid battery (or batteries) and produce clean 5v and 12v outputs, as well as a raw output direct to the speed controllers. The PDU also incorporates a few other features such as connectors for volt/amp meters that will be behind a panel on the front of R2, a voltage divider to allow the charge bay lights to function as a crude charge display for the batteries, and also a relay cut off for recharging R2. The last means that I can safely plug R2 into the charger (via an XLR connector), which will pull power going to the rest of the circuits. Lastly, there is the main power switch to kill power from the battery. There is a diode across the switch however which should allow any charge coming from the speed controllers to go back into the battery. This is a feature of the speed controllers to allow regenerative breaking.

The clean 12v will be used to power the audio amplifier. What is R2 without a few beeps and whistles?

I’m just waiting on the PCBs to come back from OSHPark, so I can try them out. Hopefully I managed to get most of it right and I haven’t seriously miscalculated the current draw from the batteries. I don’t want any tracks melting off the board!

Code wise, I’ve done quite a drastic rewrite of the controlling software to make it much more object oriented. Each different module (servos, audio, lights, etc.) is a module with a command keyword associated with it. This means adding new modules (LCD screen, extra lighting, drinks dispenser…) should be easy and just a case of creating a config file and possibly a class file if its a new type of module. All the code is available at github, along with the schematics and board diagrams of the PDU. The PDU is also available to get direct from OSHPark.

Fingers crossed I may be getting a few parts to build the actual droid with soon, including the feet, which means I now have to figure out a drive system for him. Mechanics isn’t exactly my strong suit, so should be interesting. 🙂

Braaaaaaains!

So, whilst waiting for parts to turn up and paint to dry, I thought I’d make a start on the controls for R2. Simplest would be to just have the drive wheels, dome, and a couple of other bits controlled from a standard hobby RC controller. I’ve got a eight channel one and a few spare receivers so it would’ve been trivial to do that. However, I wanted something a bit more fancy. I’m wanting to have the panels on the dome to be controllable, as well as various controls for the main body panels, arms, fire extinguisher, etc.

My thoughts for this is to use a Raspberry Pi, along with a bunch of peripherals on an i2c bus. Adafruit do a nice i2c 16 channel servo board which a couple of should give enough channels to control everything I want. I will be putting one of these in the dome for all the various flaps, and another in the body for speed controllers and door mechanisms. Using a Pi will give me lots of power for doing controlling the servos and playing sounds, and hopefully I won’t need a real time OS. Future plans will involve voice recognition and maybe even facial recognition!

I’m also wanting to do this as modularly as possible, so to this end my first bit of programming was a daemon to run that listens for commands and sends signals over i2c to the servo controllers. My thinking behind this is that I can write many different interfaces for controls, from a simple web/PHP interface for testing and such like, to another interface to translate bluetooth signals from a PS3 controller. I’ll also be able to write a scripting system to do preset motions.

IMG_0397_CR2_embedded_1

I’ve put the code for my R2 Control software up on github to keep track of changes and such like. If anyone else feels the urge to use it, or even contribute, they are more than welcome to. I’m no programmer, so I may be going down the wrong path for all this, but its a learning experience. The code seems to work pretty well for now, but still needs to be tested in R2. Theres still a couple of things I need to add before I start doing any of the other programs. Currently the servos will move as fast as possible to their new position so I need to add a loop in there to allow different speeds. I also need to add support for multiple i2c addresses. I should have these things coded in fairly soon hopefully, and once my hinges for the dome turn up I can start installing it all and testing.

 

Polishing the dome

The R2 dome that I got actually consists of 2 domes, one to fit inside the other. The outer one comes pre laser cut to make things easier, with all the various panels held on by a small tab of metal. A quick run with a file or fine hacksaw makes them a doddle to remove. Both domes are produced by a method called metal spinning, which means they have ‘spin lines’ running around them. This doesn’t matter for the blank inner dome as it is mostly hidden, but the outer dome needs the lines polishing out of it to get the correct look. This is a lot of work with wet and dry paper, going from a pretty coarse grit, up to some really fine paper.

Starting with the 240 grit and a large bottle of water, giving the dome a good sand down will remove the spin lines and make the surface rough, but even. Moving up through the different grit ratings slowly (very slowly) smooths the surface over until you get to the 3000 grit. The side product of this is silver hands!

IMG_0171_CR2_embedded_1IMG_0176_CR2_embedded_1

It is all a slow and laborious process, but the end results are worth it. Whilst doing this work, the panels removed earlier needed painting, so a load of paper was laid out and the painting begun. I’ve been using Halfords car spray paints, starting with a grey primer to prep the surface, then a coat of Ford crystal blue, followed by Citroen poseidon blue, and finally a coat of laquer to protect it. It seems the trick is to do light coats, with a little bit of sanding in between with something like a 600 grit paper.

IMG_0148_CR2_embedded IMG_0170_CR2_embedded IMG_0179_CR2_embedded_1IMG_0385_CR2_embedded_1

The end results look really good. I applied a little too thick in a few places, but its all a learning experience for me. I’ve just got a little more polishing to do on the dome, and I need to mask off most of it to let me spray the ring around the bottom of it blue. The next stage is to start cutting the inner dome to allow the panels to open and things to come out. I’m a little apprehensive about doing it, but once I’ve started it it will be fine. But for now, a taster of how it will look:

IMG_0392_CR2_embedded_1 IMG_0395_CR2_embedded_1

This is the droid you’re looking for.

Alright, so maybe a bit of a corny title, but I couldn’t resist.

So, at the end of May we had a trip to Milton Keynes for Collectomania. Besides meeting and getting autographs from Robert Llewellyn and Chris Judge, the other highlight was all the R2d2 droids that were running around. There was a whole collection of different astromech droids in varying states of the build process. Once I got home, and of course mentioned it to she who must be obeyed, I started looking at just how difficult these things were to build.

Initially I joined the main R2 builders club, which also has a yahoo group with lots of useful files and blueprints.The benefit of building an R2 over most other large props is the fact that there is such a large community of people who have already found most of the pitfalls. They also do runs of parts that might be beyond another builder’s skills or too expensive to produce in single units. Unfortunately, most of the talk and production is very America centric, but thankfully there is a very active UK builders group which I quickly signed up for.

After a few weeks of reading (and more reading) the forums I decided I would take the plunge. Mostly I will be keeping a picture log on Facebook and Google+, but will also write up occasionally on here.

I thought I’d first start with what I know, electronics. There are a set of PCBs available that handle all the dome lighting and runs from a single Arduino Pro Micro which gives a lot of power and flexibility. So, with the PCBs ordered, I jumped to eBay to get the rest of the components. Obviously, a lot of LEDs were needed so they were first, I needed a pro micro to run the system, and the other main component were MAX7219 chips. Now, if I was to source the chips from the UK they would have been in the order of £9 each. eBay had them for a tenth of that price. These were pretty certainly cheap knock offs, but for that price I could order way more than needed and suffer a few DOA chips.

Of course, it wasn’t that straight forward. I didn’t realise just how close the LEDs were packed on the PCBs which meant I needed flangeless LEDs. Needless to say when I received the LEDs from eBay they had a flange on the dome which meant they would not fit. Hunting around in the forums, I found a possible source of LEDs from China that were definitely flangeless. So, re-order and wait.

Whilst I was waiting for the parts to turn up I hit a bit of luck. Probably the hardest main part to make myself was the dome. There are lots of different options for these, from aluminium to styrene or fibreglass. The runs for these are fairly infrequent, especially if you want a certain type of dome. I’d initially ruled out building my droid in aluminium due to cost and the fact I’ve never worked with metal before, but someone on the UK builders Facebook group mentioned they had a dome and a set of body skins available in aluminium. It was too good an opportunity to miss, so I bit the bullet and bought them. A couple of days later they turned up!

IMG_0136_CR2_embedded

This was scary, this was starting to be a large commitment. It is fun tho, so lets carry on!