Saturday, January 30, 2010

Thought 44: Phone Home

This is actually two thoughts in one, but they are both phone related.

Thought 44.1: The backside keyboard.
We created the typewriters since 1829 and they've use all of our fingers in an effort to create efficiency. We have even created varieties of key layouts such as qwerty and Dvorak to improve the typing speed. Then we took a huge step backwards and created the cell phone with only the 12 buttons for typing, reducing not only the number of keys by the number of fingers usable on those keys. Then we made the thought that if we just replicate the full qwerty things would be better. And to some extend they are, but we still are reduced to just 2 fingers, or rather thumbs to type with. Then it struck me, the full key set could go on the back of the phone. Well at first it seems rather stupid how do you see the keys to type on them, but does/should a touch typist ever look at the typewriter or keyboard? No. The buttons on the back could be a full qwerty keyboard split and rotated 90 degrees to fit in the hand. So, as the device is being held the keys could be typed on from the back of the phone, well, almost like a normal keyboard. It would improve the speed of text/email communication, and not take up any more space. Anyway I am just a bit surprised that no one has tried this yet. Or if they have I'd like to know why it was pulled, was it just too unfamiliar to people that it caused them dislike it, or was it really just impractical?

Anyway I should sketch this up and post it here about what I mean, anyway onto thought 44.2

Thought 44.2: Please Turn Off Your Phone.
Ok, We've all been to the theater or hospital where they tell you to turn off your phone or at least set it to silent. It's that that *where* part that got my brain going. Anymore these days phones are starting to come enabled with GPS systems that can track your location. How simple would it be to do something like create an app that was aware of being in/near a theater, hospital, etc. and automatically turning the phone to silent? This actually seems pretty straight forward to do, considering they are already planning advertising based on location, information overlay based on location and camera direction. But turning the phone to silent and revert state when going to into a theater actually seems like something that would benefit people on two fronts:

Front 1: Removing annoying announcements. We know why they say "Please turn off..." but with automatically doing this it removes the time spent nagging people and lets them get back to enjoying the show. It also mean no more looking just to make sure you have the phone in silent. It also would remove the chance that some left it on despite the nagging, ruining things anyway.

Front 2: No more forgetting to turn the ringer back on. How many times have you called a friend or had a friend call you only to get no answer because the phone was in silent mode, because they went out last night and got the nag, but forgot to put it back to normal.

Anyway I am not advocating that this be mandatory by any means, but it just seems like there "should be an app for that".

Anyway there are my improvements to the phone industry, maybe I'll get around to writing the app or building my own phone.

Monday, January 18, 2010

Thought 43: Recycled Thoughts

First Recycling is a good thing, but I have been wondering about whether we have been going about the whole process entirely the wrong way.

Gripe #1: End users do all of the work.
Currently the burden on recycling is on those who want to do something good. That is we sort the containers, wash some, and in some locations (like where I live) must drive to the recycling center. Not that I'm opposed to any of things, but it just leads us to

Gripe #2: Some Recycling Plants MAKE money.
Sure you can if you'd like get deposits back, or cash for raw metals, or even save money for bringing your own bag to the grocery store. Again this is your work, you save, good. It's when you have done this work and the recycle plant gets to keep the profits of your labor. Granted you are helping to "save the planet", but even the places that give you money for recyclables (mostly metal) still make money from you bringing it down to them.

Gripe #3: We are smarter than this.
I think we are all very smart well intentioned people. As such, why do we do we waste so much time, energy, and gas on this? Oh, right, to "save the planet". Really? Why not just spend the time and energy on a garbage sorting machine and remove the need to for people to talk about what needs to be done for recycling or putting up special bins everywhere. Bins which I believe are designed specifically to get people to yell at you, "Hey, that's recyclable, place that over there". Actually, let me correct this, we have already done this. Further power could be generated.

I can fully understand why we needed to start out with manual labor for sorting trash into recyclable and non-recyclable. But really, we've been doing that for DECADES, it's time to move on, embrace technology, and truly reduce and reuse waste on a community wide scale, with absolutely ZERO need for those too lazy, angry, or interested to need to be persuaded that they need to place their used soda bottle in the right bin.

Friday, November 27, 2009

Thought 42: Cog To Do

A bit whelmed at the moment of the project I have taken on in getting COG to work better. While I have no doubt that the tasks can be completed, they need to be listed out and taken down one at a time. At the moment it feel a bit like treading water.

The List:
AI: Cog needs some interactive capabilities.
AIML: A language for bots that can 'chat'. It's fairly simple in terms of it is mostly just a challenge response type bot, but it is a good starting point for make things work. There are other things out there and certainly a few that seem better, but this is free, just poorly documented. And quite possibly the biggest/longest task that may never be finished.

Pidgin AIML Plugin: This is give COG an online presence while the batteries are being charged. It will simply be AIML running through pidgin as a plug-in. It is a good place to start for recording logs and trying to get some adaptation/feedback from people.

Text-2-Speech: This can be done through a number of libraries. The current front runner is Microsofts Speech API. It's built into all versions past XP. So not so terrible to get up and running. There are already plenty of voices, etc. It just also limits the platform and there are other TTS systems.

Voice Recognition: All of them are terrible in this regard. Current front runners are CMU's Sphinx because of it's flexibility, but the second here is again Microsoft's SAPI. Both will require some crazy training to get to working properly.

So pulling all of these together gains the ability for COG to carry on a conversation with people.


Body: The goal is get the robot up to about 4-5 feet in height, fortunately including the monitor as a 'face'. This requires some changes
4x4: First the 2 wheels + casters is great for indoor control, and I wish the tracks had worked, but 4x4 will make COG much more stable, and able to drive off road. It would be nice to add suspension to make a smoother ride, I just do not have the skills for that (yet).

Wiring: Determined a completely new wiring scheme for COG currently everything is a bit ad hoc. I have designed a 12V/5V/USB bus for getting power and communication to all levels of the robot. The current plan is use PCI-Express 6 pin Y cables as the main section of the bus, then creating a few 6-pin to USB connectors using the 5V rail and USB parts. The this should also push past some of the USB limitations. USB from the PC only has a certain limited amount of power. They can usually only support a couple of devices on a bus before they run out of power, but USB can support 128 devices per connection. The power is a problem, not the number of devices. So we need to test out the 5V USB system and make sure it works.

Arms: Need to the arms attached and working. Currently the 1/4" boards used for the sides are just not going to support that weight. Time to switch to 1" pine and build a sturdier outer box.

Layers: Eventually the goal is to have the system attach together with layers that can be swapped in and out to change the capabilities/function of COG. To this end I think the layers need to be changed to using a quick-trunk like connection system in addition to having the 6-pin molex exposed. Currently this is 4 long screws and big whole in the middle. Which works great, but can be a pain to work with to getting access to various levels.

Style: Have to maintain the 'steam punk' style of cog. A the wife suggested, make each of the layers look like a trunk then the final version of COG looks like a big stack of trunks. Which would be cool.

Actuators: Need keep interaction with COG

Drive: Currently have two motors and controller, will need to pick up two more of each to get to 4x4 mode.

Arms: Need to re-wire the current ARM to get the 3V DC motors under control. These we also need sensors. Either that or this just needs to be rebuilt with servo motors:

Pan-Tilt: Need pan tilt control for the cameras. Possibly better cameras altogether web cams are in expensive, but you get what you pay for.


Sensors: To view the world.
IO Board: First have to get the IO board working. That is making progress as I have found many of the bugs of the original boards. It needs a boot loader, so that it can be tinkered with at home, but that should not be much of a problem.

Sonar: Need to test out the sonar modules and determine where we are going to place them. Possibly on a servo mount for now, though I'd like to make a full ring of sonar.

IR: We will place these next to the sonar, they are cheaper so not worried about getting more of them.

Cameras: Currently have 2 logitech communication STX cameras. They are working for taking stereo pictures. Need to write code to interpret the data.

Shaft encoders: Need to acquire these and attach to the wheels.

GPS: Currently have a working GPS. Need to get google maps working for aerial placement of COG as he moves around.

Software Integration: Getting it all together.

3D view: Create a 3D model of COG and place it in maps as COG builds up his environment.

World Integration: Would like to tie COG to light controls, both DMX and X10. I will require communication with another host computer, so more software required for that.

Thought Control: Take EEG brain signals and control the motion of COG. Should be a fun project. Need to get the EEG working.

That's just for starters. I'll get it done, it just may take some time ;).

Tuesday, November 24, 2009

Thought 41: AIML

Working COG now that he has a face book presence. But there is a need to make him more interactive if I want it to go well. Any I found this rather humorous with A.L.I.C.E. and Kirk chatting at each other. I am planning on using AIML to with a Pidgin Plug-in to get some sort of interactive presence. Given what I've seen so far. I'll need to put in some work on learning all of this crazy stuff. But I'm having fun with it, and if COG starts out as a very odd on-stage ALICE than so be it. I know I'll have to keep at it to make it all work.

Also if you have a picture of yourself try this out for fun. I think I have research to do on all of the stuff they did here. But I can see how it works.

Anyway just keeping this blog moving forward.

Sunday, November 22, 2009

Thought 40: Embracing Eccentricity

After letting go of the feeling of disconnection, realized I should embrace the madness in public, instead of only letting people in slowly. So, instead of walking the dogs on roller skates at 4 in the morning where there is no one, I walked them at 4 in the afternoon. As expected people where just staring at the fact that someone is walking their dogs on skate, but who cares, the dogs and I are having fun. I think I'll do that some more.

Also Cog is progressing a bit, and I tested his motors capabilities and sure enough cog can pull me on the roller blades. Considering there's a future plan to make cog a 4x4 instead of 2 + caster, he could evolve into a electric vehicle of sorts. We'll just keep pushing this, until they come with the pitch forks and torches!

Saturday, November 21, 2009

Thought 39: Not So Crazy

Maybe I'm not as disconnected as previously thought:

Guy Marries Virtual Girl Friend.

Or date a robot.

Either that or we are all coming apart at the seams!

Thought 38: Feeling Disconnected

Feeling a little like the world is just a little different at the moment. And maybe I've always been this way, but just starting to see it myself. I feel slightly disconnected with the world. Not sure whether it the endless posts on facebook, twitter, etc. or remembering that work is a business sometimes, not just R&D, or even sometimes at home.

The phrase "thinking outside the box" feels more like there might be a box somewhere, but I'm so outside of it I do not really know where it is.

Examples: A friend asked "If you could live ANYWHERE, where would you live?" My first thought was Jupiter or Venus, because the atmosphere would be very cool to watch. That and in my limited travels, pretty much any place is just like any other, people generally have the same goals and actions. Maybe it's that I've only been to more modern places. But it's really just people are people, cities are cities, and maybe that's it I just cannot live in a city. Everyone else responded with locations on Earth, and all cities.

Other example: A friend noted that perhaps the rants got out of control a bit and maybe needed some device to let them know that he's gone off the handle. Others posted that they could use secret messages, or tell it to his face, or just help clam him down. I went and thought "Could we build such a device?" That is with proper feedback from a bio-sensor/EEG combination and either an injection or electrical stimulus allow him to re-regulate.

I decided NOT to respond to either. When I got finished reading the response I created, I just noticed how much this did not fit with what was being asked or expected. And I got a little scared that maybe I'm just a little more disconnected than I previously thought.

Of course on a slightly more funny side of things: Never call the robot your building 'our baby' in front of your wife. However, I'm currently not sure anymore if I really meant that or not. What I mean, is that there is a STRONG parental feeling toward the robot and simply creating a new life, even if it is not human.

Is it right to have these feelings? or am I slowly turning into a psychopath that sees only global problems and solutions, no longer able to connect with an individual? Do other scientists go through this? It seems that there is some level of disconnect in order to make progress.

Anyway just checking in the world.