by Michael S. Kaplan, published on 2008/11/24 03:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/11/24/9135043.aspx
Warning: although slightly technical, this blog is mostly non-technical, and/or technical about stuff related to the iBOT. If the technical issues related to SQL Server and/or PASS interest you then they will probably show up in future blogs...
Prior blogs in the series here and here and here and here.
It's kind of funny.
I just spent last week at SQLPASS 2008, and had a really great time. I was there as an "Expert" in the ATE (Ask the Expert) area, and I talked officially about migration, though I got a bunch of upgrade questions since customers don't tend to distinguish that much between migration (moving from any non-SQL Server database to SQL Server) and upgrade (moving from an earlier version of SQL Server to a later one).
Plus I got many questions about Unicode (especially both UTF-16 and UTF-8), collation support in 2000/2005/2008, and also rich text support in SQL Server reporting services (drawing some on my typography knowledge, and my work with the RS team). It was really a lot of great conversations with customers and colleagues and partners and friends.
Did I mention that I had a great time? Well, I'll say it again. I had a great time.
And not just because I got to see friends and colleagues from years prior and find out what they are up to like Debra Dove (now a Group Program Manager!) and Tom Casey (now a General Manager!) and a whole bunch of others too numerous to mention, not to mention all the people I met in SQL Server marketing. I mean that was very cool, but that wasn't it.
And not just because in my heart of hearts I'm still a databases person, just like I was way back almost in the beginning for me when Ashton-Tate's DBase II would spit out the "30 days hath September" rhyme when you gave it an out-of-range date (the first software "Easter Egg" I ever remember finding, running on an Osborne 1!). That was cool too, but that wasn't it.
And also not just because the evening parties and after-parties are superior to any other conference I've been to, though they are (it just seems like SQL folks work hard and know when to play harder, and especially when to not talk about work). This is one of the many reasons I have not been blogging; to be honest I wasn't even sleeping much last week. Every developer should go to a few database conferences like SQLPASS. :-)
The cool part I am referring to isn't that, either.
As you can guess from the blog title, it was really because this was my first technical conference with the iBOT.
I won't say that I was nervous, exactly. Though I admit I took the charger since I did not want to be stuck in Seattle with no way to get home!
As one of the "Elite 300" ATE folks, I had $25,000 in SQL Bucks to give away to people who asked me questions. But I realized early on that iBOT questions couldn't count -- if they did I would have required a bailout from the program organizers since I'd otherwise be broke within half a day!
To be fair there were a lot of people I talked to about SQL Server issues, too (as I mentioned before).
But even some of those conversations started with a few iBOT questions -- people were just interested and curious....
There was even one conversation with some of the WIT (Women in Technology) volunteers about the predictable way that iBOT questions tended to split on gender lines even when they were kind of the same question (e.g. "how does that chair stay upright?" from men versus "how do you keep from falling out?" from women).
I was even prepared now, armed with the answer to the ultimate question, the one John McConnell (yes, the one who talked about When will we support Rongo-Rongo) asked weeks before, at a group mixer.
You see, the most common question people would ask is some variation of "How is that thing balancing?"
My iBOT shtick eventually developed more fully as the week went on, some based on the boilerplate in the iBOT FAQ's How does the iBOT® Mobility System work?:
A revolutionary mobility system from Independence Technology, L.L.C. the iBOT® Mobility System utilizes our patented iBALANCE® Technology. It is custom-programmed and calibrated to the owner’s center of gravity. Reach forward in Balance Function to shake hands, and your iBOT® 4000 Mobility System moves with you. Lean back and it moves with you as well. It is subtle and responsive in a way no other mobility device can match.
but it always eventually made it to the marketing point, about how the iBOT, unlike the Segway, uses six gyroscopes to do its work.
This always impressed people though I suspect that was because mainly they don't really know much about gyroscopes. So there was no follow-up question along those lines.
But John is one of those really smart guys who does know about things like gyroscopes, so he asked the very reasonable next question -- how does it use six gyroscopes?
Now I even do know a bit about gyroscopes, but it had never occurred to me think of that next question, let alone ask it.
To John I had to admit I never asked, but that I would find out.
So I asked the iBOT folks.
Perhaps not entirely surprisingly, the front line of the IBOT's helpdesk didn't know either. :-)
But they tracked down a better answer, which I will give in a moment.
It's funny (minor segue for a moment), over the course of the week at SQLPASS, I was reminded of the Underpants Gnomes from South Park, and their three step business plan:
The thing I noticed over the course of the week was that in the old days there would be some women who would be waving to me, looking at me with interest. They would almost invariably be looking at someone behind me or nearby, rather than at me.
Now with the iBOT, they actually were looking at me. Well, technically they were looking at my ride, my iBOT, but they still wanted to talk about it. But at least they weren't looking at the person behind me, right? :-)
Of course while it clearly appears that this "second phase" represented some form of progress, I really didn't know how to get to the third phase.
In part because I'm not sure what it would be (I suppose having them being interested in me? I'm not sure!), but it still is easy to put it in phases and be curious about how to get to the third phase!
Anyway, that answer.
First, I'll borrow an image from Wikimedia to define Pitch, Roll, and Yaw in much less time than a verbal description ever would:
If you absolutely must have words then the Wikipedia Flight Dynamics article can probably help...
It has those other pictures that can help for people with the concepts, like these:
Now the gyroscopes on the iBOT are there to look at the movement of the chair, measure these forces.
The computers in the iBOT generally work under the principle of three independent subsystems so that if any one of them is getting different results then what one would expect, you will either see corrections being made or end up in a warning state if none can be made. But that does not mean that the gyroscopes are all there to provide nothing but redundancy.
Like with the Segway, They are laid out a bit more cleverly than that....
Three of them are placed on the main axis of the chair, in a straight line from front to back.
And the other three are off axis at various strategic places to handle detection of various other kinds of movement.
Combined with the data of the chair's mode and factors like the acceleration and turning being applied, the computer system can determine three things:
With that information, it can also know if its progress is being blocked or hindered or accelerated in some way, so it can use its internal governor to speed up or slow down, to correct an incorrect situation, or to trigger a fault condition if it cannot recover from a problem without user assistance.
The gyroscopes themselves are used to work together to provide the data rather than just having two items trying to get the same answer redundantly to re-check the answer -- because if the computer knows by how much the two gyroscopes should be different, then it can know when something isn't right. The combination is described on many sites online, like this one that talks about the Segway but which partly applies here too (the main difference being that the iBOT is not trying to get data on steering from the movements of the passenger, it is trying to get data to keep the passenger upright, in an inverted pendulum kind of system.
Other sites like this one also have other somewhat useful descriptions:
Like the Segway HT, the iBOT contains patented dynamic stabilization (iBALANCE) technology, an integrated combination of sensor and software components and multiple computers that work in conjunction with gyroscopes. Gyroscopes are motion sensors that help maintain balance. When the gyroscopes sense movement, a signal is sent to the computers. The computers process the information and tell the motors how to move the wheels to maintain stability. This electronic balance system is custom-programmed to the user's center of gravity, to monitor and respond to subtle changes in motion. Reach forward to shake hands, and the iBOT moves with you. Lean back and it moves away as well. The iBOT constantly realigns and adjusts its wheel position and seat orientation to keep the user upright and stable at all times, even when driving up and down curbs or inclines. In addition, the iBOT includes built-in triple redundant backup systems, as well as auditory and visual signals to provide even more safety and assurance. With input from the rider or an assistant, in "Stair Function" the iBOT utilizes gyroscopes and adjusts to the driver's center of gravity, climbing stairs by rotating wheels up and over each other. The iBOT can allow riders to stand up to the same eye-level as colleagues. The "Balance Function" of the iBOT can raise the rider to eye level for any number of business or social interactions. It lets the rider see over counters, and reach a high shelf in the office, kitchen or supermarket, safely and easily.
And this page from Silicon Sensing, one of the component providers, gives some more info:
The Segway PT is instantly recognisable across the world as a unique and alternative means of transport. Its press launch in December 2001 attracted enormous attention. But, by the time of its launch, Silicon Sensing had been working with the inventor of the Segway PT – Dean Kamen – for several years helping to develop and deliver its key design element – the balancing technology. This close relationship stemmed from our role in providing the balancing gyros for the IBOT®, the equally novel balancing wheelchair, from the same inventor.
Technically speaking, the Segway design is classic implementation of the 'inverted pendulum control theory' – balancing a broomstick on your fingertip is another example of the same thing. But to enable an automatically-balancing system based on this theory demands the availability of sensing, processing and actuation, all of which are fast and accurate enough. And for a commercially-viable product to emerge, this further demands the availability of these technologies at affordable prices, with sufficient robustness and reliability, and being of a suitable size. The overall system concept demanded that the Segway PT could always continue to balance if a component fails, whilst providing alarms and reversionary action to ensure that the rider is able to dismount safely.
Being involved from the very early days, Silicon Sensing were able to propose and develop an innovative design, to be called the Balance Sensor Assembly, in which the size, reliability and affordability criteria were met through use of our VSG3-based silicon MEMS gyro technology. A key requirement was at least dual redundancy in balance sensing – and the desire for triple redundancy in at least the pitch axis. Although not immediately obvious, the other two axes of yaw and roll also required to be sensed for the situation in which the Segway PT is balancing on a slope.
The resulting solution is ingenious. Rather than providing dual and triple redundancy on each axis separately, the gyros are set at angles such that, by applying trigonometry to any pair of gyros, it is possible to deduce pure pitch, roll or yaw in more than one way. In summary, the solution provides three ways of measuring pitch and two each of measuring yaw and roll. To complete the module, two dual-axis liquid tilt sensors are included which sense the true 'down' direction and thus the pitch and roll angles. Processing within the BSA – again duplicated both electrically and physically – continuously checks the sensor data and monitors for any failures.
And then this document from BAE Systems, another one of the component providers, gives some more technical info on the nature of how the results of multiple gyroscopes are combined:
Using Maths to support design engineering
Ideas from maths are also important in engineering. The Segway HT makes use of a simple but ingenious bit of maths to reduce the number of silicon sensors used in the balance sensor assembly (BSA).
Directions of motion
There are three kinds of rotational motion that the Segway can experience; pitch, roll and yaw. These can be detected by a gyroscopic sensor.
Pitch Stand up and lean forwards and backwards
Roll Stand up and lean from side to side
Yaw While standing upright turn from your left to your right
For safety reasons each direction of motion needs to have two sensors, apart from pitch (the motion used to control the Segway HT) which needs three independent sensors. So, seven (rather expensive) sensors in all should be needed.
Geometry to the rescue
Cleverly, the BSA has one independent sensor (sensor 1) measuring just pitch and a set of four other sensors, angled such that each has two jobs. Sensors 2 and 3 both measure pitch AND roll. These are physically arranged so that positive pitch motion will cause both sensors to give a positive output signal. A positive roll motion will reduce the signal from sensor 2 and increase the signal from sensor 3.
Sensor 2 measures pitch minus roll. We can write this as Sensor 2 = P – R.
Sensor 3 measures pitch plus roll. We can write this as Sensor 3 = P + R
If we add these two equations together like this:
Sensor 2 = P – R
plus
Sensor 3 = P + R
Sensor 2 + Sensor 3 = 2P (the +R and the -R cancel each other out)
If we subtract these two equations from one another like this:
Sensor 2 = P – R
minus
Sensor 3 = P + R
Sensor 2 – Sensor 3 = P – R – (P + R)
Sensor 2 – Sensor 3 = -2R (the +P and –P cancel each other out).
The steering is done via a Joystick, and its way of doing the steering combines the way a boat would be directed (for the lateral directions) with forward and backward movement handled via forward and back in the joystick in a way that does not exactly match any that I have seen (usually this is handled elsewhere, in a throttle), thus leading to the not entirely intuitive backward movement that I am still learning.
Usually I rely on the zero radius turns so I can just go forward; this is definitely slowing down my "backwards" learning. :-)
Anyone want to take a guess on the difference between the Segway and the iBOT, with the former needing five gyroscopes and the latter needing six, in particular tp how the slightly changed mission of the one unit changes the way the gyroscopes are laid out? I give some of the answer away above in the Segway descriptions and the requirements of the two different units but not all of it.
Anyway, no one ever asked that question John did, which in truth seems like a very reasonable question to ask in response to the six gyroscopes answer. No one else has yet managed to get that far....
This post brought to you by ♿ (U+267f, a.k.a. WHEELCHAIR SYMBOL)
John Cowan on 24 Nov 2008 11:32 AM:
Interesting how pitch, yaw, and roll, which normally refer to a vessel or airplane, are reapplied to a human body in such a way as to make them long-axis-relative rather than absolute.
Michael S. Kaplan on 24 Nov 2008 12:10 PM:
We are absolute, we are. :-)
Tony Toews - Access MVP on 24 Nov 2008 11:48 PM:
So I gotta ask a basic question. Do the batteries last all day when you're spending large parts of the day in balance mode on two wheels?
Michael S. Kaplan on 25 Nov 2008 9:42 PM:
Funny you should ask that -- I have not been getting many answers on this point. I'll probably be writing about it soon. :-)
Tony Toews - Access MVP on 27 Nov 2008 10:03 PM:
Speaking of yaw, pitch and roll with respect to a human body I must state that I greatly prefer observing the effects with respect to the human female body.
referenced by
2013/09/19 From I SCOOT to IBOT, #10 of ??: The good, the bad, and the ugly (IN THAT ORDER)
2011/04/25 From Bunnarchy with Santa and Jessica Rabbit to Anime Unleashed
2008/12/20 From I SCOOT to IBOT, #10 of ??: The good, the bad, and the ugly (IN THAT ORDER)
2008/12/03 From I SCOOT to IBOT, #8 of ?? (On redefining the ideal kissing height)
2008/11/27 From I SCOOT to IBOT, #6 of ?? (The cost of standing still?)