As I mentioned in an earlier post. I've been thinking a lot lately about the Personal Robot and why, over the same 30 years we saw the Personal Computer radically evolve from Altair to iPhone, it failed to get much beyond the Heathkit Hero in design paradigm and proved, despite some dozens of incarnations, a general commercial failure to the point where even the term 'personal robot' has become something of an anachronism akin to the term 'home computer'. I've arrived at the notion that this may have largely been due to the rise of an erroneous early paradigm of utility for the machines born out of their severe functional limitations--limitations which largely persist to the present day because general robotics has failed to cultivate its own specific industrial ecology. Like the early PCs, most robots are still hacks, relying on the repurposing of components intended for other industries and markets because it, as yet, has no standardized systems architectures and a market of its own sufficiently robust enough to justify an independent ecology of components development. So most effective advances in robotics have not come from the robotics industry itself--since there may still not be one outside the industrial automation context--and instead have derived from advances primarily in other things, like PCs, networking, and RC modeling. That's not 'wrong'. That's a necessary phase in its evolution--though, 30 years on, this seems a rather protracted infancy.
Like the early PC, the PR struggled to find an effective role in the contemporary culture due to severe limitations in basic capability combined with a severe learning curve for the end-user. The basic drive and actuator hardware of the time simply didn't allow it the ability to physically interact with the human-scale environment in any useful ways while crude flat panel display technology limited communication to almost as crude sound and/or TV-like remote controls. So what we wound up with was, basically, a self-mobile ottoman that could only communicate by sound with a design style heavily influenced by Star Wars. That fell very far short of public expectations of mechanical domestic servants going back to the coining of the term 'robot' itself. So there was this critical question--just as with the early PC--of what, if anything, practical you could do with these things. Looking at the issue of 'learning curves' that was the leading obsession with the PC at the time, PR developers arrived at the notion of the PR as natural successor to the PC. A self-mobile speech-controlled PC that followed you around your (presumably palatial and stairs-free...) home. This probably made sense to many at the time. Back then, most people still did expect the computer to ultimately become this machine you talked to. A lot of people still believe this today. But even that was far beyond the technology's capability. The most advanced computers of the time had trouble with speech synthesis and recognition while wireless networking was still largely limited to short-haul modems. And, even if that technology did work, the concept was fundamentally redundant. There was no particular advantage to putting that capability into a robot over having it on a desktop computer communicating through an intercom or in your hand--especially if you still needed that stationary computer somewhere to actually communicate with the wider world and manage home control systems and such.
Thus, despite some dozens of variations on this paradigm, this first generation of Personal Robots all proved to be commercial failures and (barring the odd hold-out like Heathkit's far-too-late attempt to revive the Hero as the HErobot--sold currently by its Canadian developer's as the 914 PC-bot) were largely all abandoned by the end of the century. But, significantly, the machines did sell to some people. People who didn't care if the machines were entirely practical because they had very different reasons for wanting a robot. People who wanted to 'make' a robot rather have 'have' a robot because they found pleasure in that craft. Which brings us to the contemporary incarnation of the Hero; the Turtlebot. While seemingly similar in form, similarly limited, and still pretty-much a hack, the Turtlebot is based on a significantly different design paradigm. It's not a PR as we defined them in early '80s. It's a platform for the personal exploration of robotics craft. That's the application that actually sold the earlier PRs, only the developers overlooked that. They were stuck in this idea that the PR had to be practical in use like an appliance when the nascent market was saying the real application was a medium for creative self-expression. That's the very same paradigm shift that got the PC past the dead-end of Lotus 1-2-3 to the comprehensive information medium we see today. Getting past the simple notion of the computer as appliance--past notions of utility deriving from business applications (because, in their hubris, computer company executives regarded the activities of their subculture as defining the cutting-edge of information technology...)--to computer as personal information medium.
But if the effective role of the Personal Robot is likewise a 'medium', what's it a medium for? The PR is still stuck in largely the same place it was 30 years ago in terms of physical capability. It's still prohibitively expensive to create a robot that has any useful ability to physically interact with and operate in the human scale environment. And it's fundamentally redundant as any sort of alternative medium for the kind of stuff we commonly use the PC for. Sure, it would be fun to have a robot read emails, Tweets, and news, play MP3s, and do similar things. I think it's a given we would want that as part of any package for whatever we do with the machines. But it's never going to be 'practical'. It's going to be like people putting little saddle bags on their dogs when they go hiking so they can carry their food and toys. People don't do that because they expect their dog to be as useful as a pack mule or an ATV. That utility is secondary to why people have dogs. They do it because it's charming to have their pets participate in their activity. Do you see what I'm hinting at here? This is where we come to a different idea of utility I call 'emotional utility'.
The term 'personal robot' is rarely used today outside of university programs like MIT's Personal Robotics Group at the Media Lab. And at the moment their focus seems to be on developing systems with emotional intelligence; robots and computers with the ability to recognize human emotional state and reflect or respond to it with various means of expression. They are looking at the robot in the context of a social agent. This also relates to the development of robot pets, which some people find strange in an adult context--especially when applied to things like companion robots in nursing homes. A kid playing with a robotic teddy bear is one thing, but giving them to elderly people seems to reflect the compulsive infantilization of the elderly common to institutionalized elder care. Be that as it may, what these various projects seem to all be dancing around is the idea of an emotional context of utility and the notion of the key application of the Personal Robot as being the host to a personality one interacts with for amusement or comfort. The same kind of low-risk socialization we keep pets for but potentially boosted to a higher intellectual level.
When discussing the subject of AI I often refer to the Yiddish saying that god created man because he liked to listen to stories, suggesting that if we ever realize sentient AI it will likely be for similar reasons. Nobody really wants a computer like the HAL9000 for any practical reasons. We don't need tools with personality. They are supposed to be extensions of ourselves and we're progressively moving computers into our own heads for that reason. So the conversational PC would probably be a real pain in the ass, if you think about it. If we want machines to exhibit personality, it's for completely different reasons. Reasons of emotional utility. To comfort, entertain, and assist us in a social context. So when I think of the contemporary PR, I think along the lines of RoboGarage's Murasaki-bot; a table-top robot created to recite the The Tale of Genji while performing in the manner of an ancient court storyteller like the author it was named for, Murasaki Shikibu.
http://www.tomopop.com/ul/5233-Murasaki-Shikibu-Tale-of-Genji.jpg
If Apple's Siri was a robot, this is the sort of aesthetic approach I would want for it. Is that going to be as practical as simply using a personal digital assistant on a smart phone? Of course not. But that's beside the point.
The key benefit of keeping a pet is that it provides a kind of low-risk socialization. We may be social apes, but generally our social interaction, even among friends and family, is high-risk in an emotional sense and thus tends to be stressful. Animals provide benefits of socialization without such risk. They can't hurt us emotionally, they can't be offended, they don't judge us (with the possible exception of cats...), they aren't nearly as 'high maintenance' in an emotional context as other humans are, and we can physically express affection toward them without concern for offending them. Pets also have value to us in hobby contexts--some more than others. (as much as people anthropomorphize their pets, fish, reptiles, and such are certainly more hobby than companion) But they do often still require a lot of up-keep, they're often short-lived, and they can't really interact with us on a human intellectual level or participate in our activities too well. So there's this potential space in our lives and culture for another kind of 'being' that offers a higher order of casual, emotionally safe, socialization. I think this might be the ultimate role of the Personal Robot. Thus we can define that role in terms of a medium of personality--or at this early stage a medium for the craft of personality. Personal Robot as Personality Platform.
This potentially fits within the contemporary physical limitations of robot technology. We have many means by which to add (and most importantly, personalize) expressive capability to machines. It's not been much explored until recently because, again, we didn't have a conception of emotional utility. If you're designing a robot to be a tool or appliance, there's no point to it. But if personality is the _purpose_ then expression becomes practical. With that kind of 'killer app' the PR has a potential to reach a market large enough that the compulsion to improve _that_ experience can drive the advance in hardware development for core, but severely lagging, capabilities like mobility and manipulation.
But is personality, as an application, still potentially redundant to the Personal Computer? Possibly. It's certainly true that, if we're talking about the creation of digital characters of a sort, the on-screen environment of the PC is the much more economical place to do that. But the desktop is already crowded real estate. It's already inhabited--by us. Desktop digital characters and pets have already been tried and failed largely because the desktop is now a very intimate intellectual space. An extension of our minds. So having these characters wandering around there quickly becomes a distraction. We can tolerate that intermittently--for messaging as with telephony, but they require--temporarily or continuously--a more dedicated interface. I envision three parallel channels of digital personality development based on three modes of interaction; the virtual avatar, the physical avatar, and in a kind of meridian between the two, the 'window' avatar.
The virtual avatar is where the digital personality is represented as a character in a relatively 'deep' virtual environment, as is typical of computer games. This mode of interaction is limited by technology's ability to interface the human being's senses to that virtual environment and their own virtual avatar but offers the maximum range of potential expression for and interaction with the digital personality. But it is completely disconnected from the physical environment and tends to demand the human being block out the physical environment as a distraction to operating with the virtual environment. Virtual avatars and their environments are also severely limited by the still hopelessly non-intuitive nature of 3D modeling and animation tools made worse by the expectations created by its ubiquitous use in games. It just takes too much 'talent' over simple skill to produce things people will be satisfied with and the computer graphics community remains largely oblivious to this.
The physical avatar is the Personal Robot, which is where the digital personality is able to interact within the physical environment of the human being but only within the currently severe limits of robotics hardware and sensors. It offers the most convenient interaction for the human being and the most persistance of presence and widest range of experience of the physical environment for the digital personality. But this comes at relatively great expense, which can be hard to justify for uses that don't fit within the conventional notions of utility.
The window avatar is where a digital display functions as a virtual window-wall between the virtual environment and the physical environment, the digital personality represented as an avatar in a relatively shallow virtual space with a similarly shallow perception of the physical space. A prime example of this are digital pets as demonstrated with the X-Box and Kinect interface. This is very economical but limited by the stationary nature of the display and competition for other uses of it. It creates a compulsion for larger, more numerous, and more dedicated displays set about the physical environment to broaden the potential interaction and overcome the uncomfortable similarities to the old fashioned prison visiting room or aquarium.
I think all three of these modes are equal in both their complications and advantages and so expect them to all be pursued in parallel over time with various attempts to bridge them--afford movement of the same digital personality between them--as the digital personality becomes a more common part of the culture.
But getting back specifically to the Personal Robot, what then constitues an effective Personality Platform? One problem I have with the work that universities like MIT is doing in this area is that it's simply inaccessible. They put hundreds of thousands of dollars into the development of research machines like Leonardo that only their exclusive community can work with. And maybe that's fine at their level. But can you really call it 'personal robotics' if nobody gets to use it? Technology only progresses--only learns--as people actually use it. If this is indeed the new paradigm of personal robotics then I think there is a need for more accessible platforms. So I've been thinking about what forms those might take, which brings me to something I mentioned in an earlier post, the Aida user interface.
Aida originated with the rather peculiar application concept of an in-dashboard expressive robot personality for a networked driving assistant system. As personable and versatile an expressive interface as it is, it probably wasn't the most well thought-out concept in an era when people are being killed in droves by driver distraction. It probably makes more sense in the context of an interface for a self-driving car, though consider how much UV exposure the average car dashboard is subject too...
Be that as it may, Aida offers an extremely broad spectrum of expression in a very light, economical, and modular package that could be easily added to many kinds of robots. It's pretty-much just a Pico-P microlaser projector in a rear-projection dome on a 4-5 degree of freedom 'neck'. It probably costs less than many high-end computer monitors. But it exhibits at least as much potential for expression as the very complicated and costly animatronics systems that same lab has been building while additionally supporting personality differentiation through graphics stylization and the display of conventional graphics information and video. It's really quite brilliant for the cost. I just wish I could get someone from that lab to actually respond to email so I could find out how to go about making one. (to be fair, I did actually get a blank email in response...)
So all we need to make this into a pretty clever but economical PR is the right drive platform to host it and let it operate in the human-scale environment, and here a recently introduced family of robots seems to offer some interesting possibilities; telepresence robots. The newest and cheapest among these is one called the Double from Double Robotics.
Subject of a recent Kickstarter project, Double is a Segway-like self-balancing two-wheel drive platform with telescoping post hosting an iPad as a telepresence (FaceTime) interface, linking over IP to another iPad used as a control interface. Right now it may be the lowest-cost robot platform that can operate in the full human-scale environment with human-like mobility and put a user interface at human eye level. What I propose is combining the technology of Aida with the Double to create a simple relatively low-cost PR that serves as personality development platform. The Aida-type interface would not replace the iPad interface but be added above it. We still need that for its interface and local autonomic control and would still want to keep its telepresence functionality. Additionally, we would add spatial mapping with a clamp-on Leap or Kinect sensor and maybe some very light accessories like a clamp-on carry bin or lights. An Aida-type interface can potentially be very light so it should be able to function within the likely great limits of top-mass the drive system can carry. A version of it based on a USB linked Arduino or the like would be easy to link, along with the sensors, though the iPad USB interface.
So let's talk about implementation. I think ROS is a likely basic software platform and I suspect an API to the Double could be relatively straightforward to implement. A big advantage of this robot would be that it would function, basically, as an IP networked 'remote' rather than an all-inclusive system. So we can put as much processing capacity as we want behind it in hardware on the desktop or in the Cloud. And we don't need software to be all inclusive. We could bridge the user interface to things like Siri to create some voice utility and just about any application we wish, either in iOS or on the back-end. So the versatility is vast. But what about that personality? What, exactly, is a digital personality and how would you implement it?
It not clear to me how projects like Leonardo and Nexi implement emotional intelligence and social learning as a software architecture. There seems to be nowhere you can go to learn about that. I suspect they're using relatively advanced systems. But since our objective is accessibility, we want to keep things pretty simple so I'm going to define digital personality in a simple way; performance. The robot is an actor or puppet. It's personality is expressed as a database of modular user-created/customized and self-adaptive behavior 'scripts' cued by sensory cues or data flags/interrupts. We build the personality as a simple expert system that matches cues to behaviors and maybe weights and prioritizes cues. An object-oriented complex of simple if:then:else propositions.
Driving this would be an 'attention loop' that, maybe, has two or three basic operating modes/nested-loops; asleep and awake or maybe asleep, reflective awake, and attentive awake. The attention loop is a process that runs some passive functions while it continuously poles autonomic systems waiting for interrupts to pass to the expert system as cues to parse and activate behaviors.
These autonomic systems would themselves be modular elements linked to sensory systems with more-or-less independent processing. For instance, a microphone set is going to link to an autonomic module that senses sound and outputs a measure of its volume, another is going to detect speech and profile its 'tone' as some output value, and another is going to parse the speech and output text. Spatial mapping is going to drive a set of these modules similarly. You have a process that's always building a map of space around the robot and continuously outputs data like orientation, relative or absolute position, waypoints, object detection (stationary, moving, relative distance), trajectory projection, object profile, face detection, eye tracking (LOS trajectory projection--what are they looking at?), face profile, gesture detection, gesture profile. Then you have other autonomic systems that are looking at that data to figure out and output other cues; object identification, face recognition, emotional recognition, gesture recognition. These modules could also be taking data from any independent process or application running locally or on the back-end, anywhere on the robot's local net space, or on the larger internet. So some might be event timers. Some might read RSS feeds. Some might handle push alerts from Twitter or email. Some might take info from apps on the local iPad (we might use Siri generally as a speech parser while letting it 'talk through' the robot's personality), or info from any web controller sitting anywhere in the world. By defining local and global subsets of these behavior, rule, and cue modules, it becomes possible to use the IP based control of the robot to 'cloudify' the collective development among a community of users into a larger database, possibly using the current Open Source cloud robotics platforms that seem rather like solutions looking for problems at the moment.
So we can keep this all very compartmentalized, modular, and freely extensible and that gives us many programming options depending on user proficiency. Behaviors, rules, and cue modules can all be developed independently, freely distributed, and treated like software plug-ins. Behaviors could be 'scripted' using a kind of dedicated animation tool based on a remote control pallet styled after the systems used for Hollywood animatronics. Cue modules would be developed in a more traditional coding environment. And rules could be built in a text based editor, visual programing environment, or interactively using a speech-based command interface serving as a 'teaching mode'. Because this particular robot head can function as a conventional graphics display while also having an additional touch display, we have a lot of more options for high-level interactive command and programming than one would have with an animatronic puppet with no other display capability. And with its expressions based on simple 2D graphics, there's less of an issue with needing advanced graphics skills and high talent to create interesting facial styles and expression sets. With enough competent design, I think we could even make programming such a robot child-accessible.
So that's my latest hare-brained scheme. What do others think of this concept and its plausibility?