The electric giraffe (aka 'Rave Raffe') is a shy, nocturnal creature of the Playa. It can sometimes be found roaming the streets of suburbia where it elicits awe amongst the spectators. Native of Southern California, the 'Raffe can sometimes be coaxed further afield for special occasions.
Enter now the world of the Electric Giraffe, and behold the beauty of its design, marvel at its engineering and revel in the presence of the World's first robotic giraffe.
The Electric Giraffe Project now has an all-new website!
Ok, it looks almost exactly like the old one, but it’s been rewritten from the ground up using a different CMS and using responsive design techniques, meaning it will now work much better on mobile and tablet devices.
Rather than using a traditional fixed width design, a responsive design allows the size of the page to adjust to the size of the viewing area, be that the size of the browser window on a PC or the size of the screen on a mobile device. Further to that, the use of CSS @media queries allows the layout of the website to change dynamically based on the size of the page. One example of this is that the website’s main menu appears on the left on a wide screen, but is moved to the top on a narrow screen to allow more room for the articles.
I’ve been a little silent here, mostly because I post to my page on facebook. You can find me there as “Electric Giraffe” on an artist page.
SO…what have I been up to? Well, 2014 started off with a bang in xmass 2013, with me showing up at a huge candy cane lane out where I live, wearing all my xmass lights and reindeer antlers! That was such a fun gig, watching the kids completely lose it when they saw a 1 ton reindeer walk into their neighborhood!
And just prior to that, I appeared at the first ever San Diego Maker Faire! It was at the Del Mar Fair Grounds and I so hope this event will transform into a full blown Maker Faire for the San Diego area! We deserve it! The organization can be found at http://sandiegominimakerfaire.org/ Please check them out and get involved!
Since then I’ve appeared in several locations recently:
Maker Place, with Brian Salmon having me show up and play music for their open house events. Maker Place is where Lindsay is making me new hexagon Giraffe Spots with their laser cutter.
Washington Middle School where I hung out with their robotics class for an evening.
The Aerospace Museum in Balboa Park! Imagine, me, the Robot Giraffe, in Lindsay’s personal place of worship! After all the years he’s spent in there as a kid, to have me, something he built, featured inside the very same museum! That was a fun day, that will likely lead to something more with the City of San Diego. News to come!
Fox 5 news: I did their morning news show! Take a look here for a fun news segment! http://fox5sandiego.com/2014/03/17/made-in-san-diego/#axzz2wpXAu0je
Plus other appearances at more schools to support their robotics programs.
Maker Faire is also talking about sending me to New York and possibly London! Please wish me luck in getting there!
I've been designing a very simple new circuit to control the servos in the forthcoming new neck.
Each joint calls for a two channel servo driver, and I decided to add current sensing capability to this. By continuously monitoring the current drawn by the motor, the circuit should be able detect the increase in current that occurs when the motor is stalled – because the neck has hit an obstruction or the mechanism has jammed – and shut down the servo drive before too much damage is done.
The circuit is split into three parts: Firstly, a current sensing resistor; second, a low-pass filter; thirdly, an amplifier. The output from this is then fed into a standard CAN (Controller Area Network) circuit driven by a PIC chip.
The principle of measuring current with a current sense resistor is very simple: you put a low-value resistor in series with the power supply, and measure the voltage across it. The resistor can be placed either at the power supply's positive terminal ("high-side"), or negative terminal ("low-side"). Using the low side is slightly simpler as one end of the resistor is grounded. It has some disadvantages (the ground voltage level for the circuit being sensed is raised up by the voltage across the resistor, and it cannot measure if the load is shorted to ground), however those aren't a problem for this application.
The current flowing through the motor passes through the current sense resistor, developing a small voltage of V = IR. I have estimated the maximum servo current to be 5A (this will be confirmed when I get the actual servo specifications). With a resistance of 0.05 ohms, this will give a voltage range of 0 – 0.25V for a current of 0 – 5A.
The power rating of the resistor is important here. Power is calculated as P = I2R, so at 5A this would give me a power rating of 5*5*0.05 = 1.25W. This is the minimum wattage for the current sense resistor.
Before being amplified, the signal passes through a 7Hz low-pass RC filter. This is simply a 220 ohm resistor and a 100uF capacitor arranged so as to block any high frequency noise that may be present on the sensor, for example voltage spikes caused by the servo motor's operation. The motor will only need to be sampled a few times per second, so I chose 7Hz as the cut-off frequency for the filter to avoid any aliasing effects when sampling. Aliasing occurs when signals are sampled more slowly than half their maximum frequency component, and causes the high frequencies to appear as if they were low frequency changes, giving you an erroneous result.
The next stage is a non-inverting amplifier. An amplifier is necessary here because the chip's analogue to digital converter is not especially precise, so amplifying the signal from 0 – 0.25V into the range 0 – 2.5V allows me to use more of its range, giving a more precise current measurement.
Because the amplifier output needs to operate down to zero volts, I chose the LM358 dual operational amplifier. This 8-pin IC contains two amplifiers with an output swing of 0V to Vcc -1.5V. Normal amplifiers cannot drive their output to the power rails, so a "rail to rail" amplifier is needed for an application like this – however in this instance I only need to include the 0V rail, so the LM358 will do the job just fine.
The two feedback resistors are arranged to give me an amplifier gain of 10.
Finally, the signal passes through a 20 ohm resistor before being fed into the PIC chip's analogue to digital converter. The 20 ohm resistor is recommended to ensure the amplifier remains stable when driving a capacitive load.
There are a couple of things that have been bothering me about the software. First is the lack of multi-threading: the UI and the pattern generation are done in the same thread, meaning that if the pattern generation runs slowly (for example because of heavy processing doing beat detection or video processing), the UI might become sluggish. The second is the rendering of the UI being done in Windows GDI. I really pushed the GDI beyond what it was designed to do.
Even though neither of these things are a problem (the CPU is plenty powerful enough, and the UI functions perfectly) I still wanted to make the changes because, well, I'm a bit of a perfectionist.
I decided that it was finally time to bite the bullet. I have split the frame generation off into its own thread so it can now be run on a separate core to the UI, keeping the UI nice and responsive. The difficulty here was ensuring everything is synchronised and thread-safe, but a sprinkling of critical sections here and there have got it covered.
Replacing the rendering engine is a much harder prospect. At the moment everything is written using Windows controls (they're owner drawn so that they have their own visual style, but they're still standard components.) I'm going to use OpenGL for the rendering, and scrap all the Windows controls. This means that I have to write from scratch all my own UI widgets like buttons, checkboxes, edit boxes, list views… the works. It's a huge task. I also have to do all my own message handling, creating the whole windowing framework, processing mouse and keyboard messages – everything.
I've been working on it for a few months now and it's starting to take shape. I have implemented the basic OpenGL rendering engine, texture loading and drawing. I've implemented a small number of the basic UI widgets: buttons, drop-down lists and scroll bars. There is still a long long way to go, but I'm getting there.
We managed to make it to Maker Faire 2012 and have a great time. I was almost destroyed on the road when my trailer became unhitched from the car, and what followed was a lot of crashing about and swaying until we got to the side of the road. A very close call for me indeed!
Once at Maker Faire, we were on the news again, and had lots of fun with all the people there, selling shirts and models and having a wonderful time.
But what really took me by suprise was when a representative from the Tech Museum of San Jose stopped by, and informed me that I was one of the top exhibits ever seen at the faire, and that I was being invited to be installed at the museum for a month long exhibit! Wow, what a wonderful compliment!
And with Maker Faire out of the way, my summer schedule is more busy than ever before! Here is where I will be.
Monday, May 28th at 10am. “Memorial day parade” in Kensington.
Saturday, June 2nd at 2pm. “Art Around Adams Ave.” (An artwalk on the streets of Adams. Ave. Will be at the carwash since that gives me space to walk around!)
Saturday, June 16th at 8pm to midnight. “Feast of Hammer’s Ball” at Queen Bees art and performances studio, a Steam Punk oriented event. http://www.queenbeessd.com/
Friday, June 22nd thru June 24th. “Elysium Festival” A Burning Man inspired event for the local San Diego Burner’s crowd. This will be a MAJOR event and I strongly suggest you attend if you can! http://elysiumfestival.org/
Saturday June 30th to Wed. July 4th. “Del Mar Fair” See the giraffe at the famous Del Mar Fairgrounds. We’ll be out in the carnival ride area in the horse race arena.
After that, we’ll be taking a break and hoping to get ready for heading back up to San Jose for a stay at the Tech Museum. Wish me luck!
Hello there! With the approach of 2012, I thought it best I wake up here and give you some updates! I have remained good and active, with many appearances and modifications!
In 2009 my owner started house hunting, and has since landed a huge house, a massive garage, and lots of land out in the country for me to dwell in! The garage is so big that I can walk right in. No more sitting outside and hoping the weather won’t get me wet or rusty! But with all these goings on he forgot about my need to talk to folks here in my Journal!
So, what has been happening with me? Here’s some updates.
2009: We managed to do the Maker Faire once more, and as usual, had a total blast. I cannot say how much I love attending the Make Faire! Russell Pinnington, my programmer, came out from England once again to accompany Lindsay and myself to the faire.
I also entered the Ocean Beach Christmas Parade, the largest parade in all of San Diego, and had a lovely time showing off my new lights and paint job to everyone, plus I was dressed as Rudolf the Red Nosed Reindeer! With my new sound system blaring xmass music for everyone, we once again took the parade by storm, the crowd was overwhelmed and cheered very loudly as I walked down the same streets that Lindsay once roamed as a child. Afterwards we received a 1st Place, Best in Show award once again for best individual entry! This was the second 1st place award I got, the first one being 2007, when I was still all white and had not been given my major overhaul. So, I was now 2 for 2! Could I get 3 for 3?
2010: Lindsay was by now looking very hard for a his very first house to ever own on his own!
We once again attended the Maker Faire that year, and had a wonderful time, showing off more technology and advancements. I was able to now move my jaw to talk, and I had a new neck gimbal, that allowed me to look around in all 3 axis of movement! People were amazed as I actually looked at them as I spoke! Also, I was now able to auto-level my head, so that as my neck went up and down, I electronically knew where my head is, and can level it according to the neck attitude. As usual, a wonderful time was had by all, with Russell visiting once more to offer technical support and eat all of Lindsay’s food. >.>
The Make Faire also introduced a new format to the room we were in. Lights out! We were able to show off all of our lights very nicely, while a band with a roaring Tesla coil took the stage and thrilled everyone with a particularly unique brand of rock and roll music!
Then I was asked to appear at the prestigious Del Mar Fair Grounds, where I was allowed to walk around in the children’s area, letting kids pet me and be amazed at what appeared to be a carnival ride having escaped its moorings and was now running loose about the fairgrounds! I cannot say how fun that was for me and everyone I met!
By late 2010, Lindsay had finally managed to find a house to buy! Naturally I assumed he would take care of me, and indeed he did, finding a house with a huge garage and workshop, with which to build more exciting updates to add onto me, plus, some even LARGER robots that he is hinting at making!
2011: This has been a more quiet year for me, with Lindsay working hard to set up the house and the workshop with which to build new updates for myself and future robots he is planning. Already he has bought a TIG welder, and a computer controlled milling machine! From what I understand, I am to receive a fully articulated 7 segmented neck! When is not totally known, but we are hoping it will be ready for the 2012 Make Faire! Wish me luck!
In the meantime, we once again attended the Make Faire, just barely because of bad weather, but still had a wonderful time in the new dark room format that the Make Faire people have created, what I consider a brilliant move. It allows all of use really pretty “Night Time” oriented robots to show our stuff!
I have also been out to some school based robotic events, and very much enjoy attending those. Dave Masey has been instrumental in booking outdoor appearances for me, so its starting to look like I have an actual agent working on my behalf! Thank you Dave!
And last but not least, I once again entered the Ocean Beach Christmas Parade, partly because the town council called Lindsay and asked him to bring me! Lindsay had once again hoped to attend, and by the skin of our teeth, we just made the long journey from Ramona, and got into Ocean Beach just in time to attend! My run down the street was without incident, and an old high school friend of Lindsay’s showed up to operate my new jaw and ability to look around with my head, and sing to the crowd! Thank you, Allen! So, walking and singing, we paraded down the streets of Ocean Beach, sending off 2011 with a very memorable appearance!
Shortly after, I was contacted by the parade council, and they have once again, voted me a 1st place award for best in show! That’s 3 for 3! What a perfect way to end 2011, with so much more to look for in 2012. Dave Masey has already booked another appearance for me at the Del Mar Fairgrounds in Feb. 2012. Thus, between appearances, and a new workshop Lindsay is creating to build new things for me, I have a lot to look forward to in the new year!
Wish me luck and I hope to see all of you again soon!
P.S. Lindsay will also be 12 in 2012, because he was born on leap year and only gets a birthday once every 4 years! Hope to see some of you at his party!
The new sensor boards were completed in time for the 2011 Maker Faire:
This is the fourth iteration of the nose board, previous versions having been smashed by the lower jaw springing up into them. Each petting zone (nose, eyes, and new for this year: under the chin) now has a frosted polycarbonate guard on top of it. This serves three purposes: it provides a nice tactile surface for petting; it glows when lit by the new petting zone LEDs; and it protects the sensors from damage. Previously we had simply used blobs of glue to protect the sensors, but it was ugly. The new plates look great, are tough and durable, and also easy to remove if the circuit board needs to be accessed.
The new LEDs in the petting zones provide very helpful visual feedback. When multiple people are petting the giraffe at once it’s hard to know if your input is being registered or not because he’s busy responding to someone else’s input. With the LEDs you get immediate feedback that your input is doing something, even if he can’t respond to it immediately. There was some debate over how many petting zones there should be in the nose. Originally there were two, but last year Lindz expanded it to five. I argued to reduce it back to two because people just cannot see the difference – they are already at sensory overload in a fair environment before they even get to the giraffe, and they just don’t have the attention necessary to see details like that. We decided to go for two zones, and I tried to differentiate them as much as possible by clearly grouping them with a large distance between them, and providing tactile feedback in the form of a ridge between the two groups. Even so, most people would pet the whole nose at once and not try to trigger the two zones independently.
Something that came out of the faire is the need for an "interview mode" – a simple reactive mode that can be turned on during TV interviews to make sure he responds predictably and immediately while on camera.
The new status LEDs on the servo driver board were useful for keeping an eye on what he was doing, but it’s possible that they could be expanded even more, perhaps into an LCD with a readout of his status.
The sensor/servo board mounted in the head has been split into two boards. This has allowed the number of servo channels to be expanded to ten and the number of sensor channels (petting zones) to be expanded to twelve. The prototype petting zones now have LEDs built into them so they react instantly when touched, providing people with immediate feedback to show that their petting is being registered by the Raffe. Previously it could be difficult to tell because many people could be petting the Raffe at the same time, but of course it will only speak one sentence at once in reaction.