Onboard PC based Johnny 5

[size=200]Johnny 5 is alive![/size]

Project Page can be found here: lynxmotion.com/images/html/proj096.htm

[size=150]Project Goals:[/size]

I wanted to create a remotely controlled robot modeled after the infamous Johnny 5. I saw the base kit that Lynxmotion offered and knew it would provide the best platform. Originally I was just going to have a Bluetooth wireless link and have a wireless video camera sending back to a small hand held TV, however after seeing the pico-itx formfactor cpu/motherboards, I wanted to take it further.

So, I set out to build a Johnny 5 type robot controlled via RDP (Remote Desktop Protocol) session over my wifi network, complete with onboard PC running a Windows OS and vision processing.

[size=150]Materials/Parts List:[/size]

Parts:
Johnny 5 kit
SES Electronics mount
Pan/Tilt assembly for head
2x RC shock assemblies
Traxxis steering blocks
Various standoffs/hardware

Batteries:
7.2v NiMh 2800mAh Battery- Gearhead motors for drivetrain
6.0v NiMh 2800mAh Battery- Servos/SSC-32
9.6v NiMh 4200mAh Battery- Pico-ITX

Electronics:
SSC-32 Servo Controller
Sabertooth 2x5 Motor Controller
VIA EPIA PX1000G Pico-ITX Mainboard w/ C7 1ghz cpu
1gb DDR2-667
60w Pico-PSU
120gb sata 2.5" laptop hard drive
2x 640x480 VGA webcams
USB 802.11g wifi adapter

Software:
Windows XP Pro- Stipped down using nLite
SEQ SSC-32 Sequencer
Roborealm

[size=150]Construction:[/size]

I wasn’t satisfied running a stock Johnny 5, nor did it provide enough space for me to add everything I wanted to. So, I set out to make some changes. For reference, heres the stock Johnny 5 kit, picture of course credited to our very own Robot Dude, Jim:

img184.imageshack.us/img184/4503/j501fp4.th.jpg

First of all, I replaced the standard panning sensor housing with a pan/tilt assembly, and added two stripped down webcams, shown here:

img87.imageshack.us/img87/7306/img1122ot3.th.jpg

img218.imageshack.us/img218/2588/img1123gu6.th.jpg

My next change was moving the SSC-32 from the rear base up to J5’s back. I mounted it using the SES Electronics carrier, shown here:

img218.imageshack.us/img218/273/img1124bc3.th.jpg

Also, excuse the blurriness as I was having issues with the camera focusing correctly this day… but here is an aesthetic mod I made to the hands, to make them more “5ish”

img156.imageshack.us/img156/5562/img1125zz5.th.jpg

Now one might have noticed the lower torso having some purple components, those would be the two RC shocks I used as a replacement for the tension springs used in the stock model. This provided the upper torso with significantly more stability and balance, to compensate for the extra weight of the pan/tilt head, cameras and SSC-32.

The actual mod itself is pretty simple. In order to accommodate the shocks, the two ASB-03 C-Brackets that make up the lower torso had to be extended, instead of attached back to back. I had to bore out the mounting holes so that 3/8" 4-40 screws would fit, then I used 4 combined Hex standoffs (for 1-1/8" total length) in to act as an extender.

The front R/C shock can be mounted directly to the servos, on the two inner mounting screws. The rear shock does not have clearance to do this, so this is where the Traxxas steering blocks come into play. I mounted each one facing “inward” (this can be seen in the pictures below) on the two outer mounting screws of the servos. This provided enough clearance for me to mount the rear shock on the end of these steering blocks. Pics shown here:

img210.imageshack.us/img210/5777/tyber06au7.th.jpg

img182.imageshack.us/img182/5691/tyber07yd9.th.jpg

At this point I was controlling J5 via a bluesmirf wireless link to my laptop, waiting for the wife to approve further robot budgeting. As an early X-mas present, I picked up the rest of the pico-itx components to finish off the robot.

I mounted the Pico-ITX mainboard where the SSC-32 originally was on the rear of the base, with the pico-PSU mounted below that. USB ports were mounted towards the front of the base, and the 9.6v battery used to power the computer electronics went down the center of the base. I used a sata 120gb HDD mounted on top of the battery, and a USB CD-rom to load the OS/software onto it. The Pico-ITX mainboard interfaces with the webcams via USB, and the SSC-32 via serial port. The Wifi connection is also USB.

I then installed windows XP, used nLite to strip off unnecessary services and programs, and loaded SEQ, Roborealm and the appropriate drivers. SEQ is lynxmotion software used to create servo sequences and movements with a windows UI, controlling the 2 drive motors for the treads, and the 15 servos in the torso. I’m still currently playing with Roborealm, but I’m working on creating a pan/tilt colored object tracking program using the two head servos and one of my webcams. Pics of my current progress found here:

img227.imageshack.us/img227/97/pict0034qb1.th.jpg

img227.imageshack.us/img227/6425/pict0035pi8.th.jpg

img151.imageshack.us/img151/929/pict0036in2.th.jpg

img227.imageshack.us/img227/9625/pict0037dv2.th.jpg

img227.imageshack.us/img227/2900/pict0038ir3.th.jpg

img227.imageshack.us/img227/4118/pict0039ei0.th.jpg

img246.imageshack.us/img246/5702/pict0040hq7.th.jpg

[size=150]
Functionality and Future Plans:[/size]

Currently, I can control my Johnny 5 over my home wifi network using a Remote Desktop session, so I basically view the desktop of the robot. My control console looks like this:

img57.imageshack.us/img57/1509/j5consolegw9.th.jpg

I can sit back on my laptop or desktop computers, and remote into his desktop to roam around my home or office and have full remote control/video feed. I get about an hour of run time on him before he needs to recharge.

In the future, I want to look at adding voice recognition/speech output. Speech output is actually the easy part, I can accomplish that with Microsoft Sam, but I havent found a decent small powered speaker to mount on him permanently. I would like to eventually tie voice to text recognition similar to that of Dragon Natural Speaking into something like ALICE, and have the output of ALICE go from text to voice- essentially I could ask it a question, and receive an answer in english. Easy in concept, but I’m not sure how easy it would be to actually implement that. Aside from that, I’m going to work more with Roborealm and develop simple object tracking modules, using the pan/tilt assembly and one of his cameras, leaving the other camera for straight video feed. Would be very cool to eventually create a “Beer fetching” sequence using object recognition

[size=150]Videos:[/size]

Here are two quick videos I threw together, still haven’t had much time lately.

Demo showing off a few moves and my control console:

youtube.com/watch?v=SQpEbgvxre8

And here’s the progress so far on my object tracking, it’s a work in progress and not 100% perfect, but it’s definitely improving:

youtube.com/watch?v=f_p60Dt6fSk

And this is what happens when your wife and daughter go to sleep early, and you get very bored at night… :smiley: DISCO!

youtube.com/watch?v=hHUoxtG91YQ

Anyway, let me know what you think! :wink:

WOW! I love that RC shock you have in the front and rear of the hip!

I LOVE the mods! I would love to post your mods as a project on the website. Just need some higher res images. Great improvements to the kit! By far the best J5 build I’ve seen so far! Keep up the good work! 8)

Looks sweet!

Regarding putting the pico-ITX mobo in, is there enough room? Do you have a rough estimate on how long the batteries will last?

Which OS have you chosen?

Dual cameras eh? Are you planning on doing any stereoscopic vision processing? Are you going to keep the dual supersonic “eyes” that’s currently on your J5?

Happy bottin’

Pico-itx motherboard is reviewed here: mini-itx.com/reviews/pico-itx/

Pico-ITX is very small, like 3x4 inches, so there is plenty of room on the back of the platform where the SSC used to be. Batteries are going under the rotating base in the center of the track platform, battery life on the PC theoretically should be about 2-3 hours… I’m only shooting for one hour though. Figure that the pico-itx setup draws about 13-17w, and the batteries Im using are about 47w total. I’m going to be running a very stripped down version of XP, takes up about 700 megs of HDD space and around 75 megs of ram.

Dual cameras are actually already mounted, those are two naked webcams on his head right now. No plans for stereoscopic video processing for the time being… really I just found the webcams cheap ($13 a pop) and mounted two of them so he wouldnt be one eyed willy :smiley:

Are you running XP embedded?

I’m heading in a similar direction as you with your setup. I’m still not sure if I want to go with XP or Linux. I’m trying to find the easiest setup to run on a solid state drive. From what I understand, normal OSs don’t run well on solid state memory.

Any particular software you have planned for the speech recog?

You will want to check out Roborealm, if you have not already looked at it. I would be interested to see if it will run on your stripped down Windows XP.

8-Dale

It’s called TinyXP, there are a few variants of it. For as stripped down as it is, it actually retains its functionality quite well. Its not uhhh, “official microsoft software” however. I haven’t run into any problems running an OS on solid state, I had a version of TinyXP running on an 8 gig thumbdrive for awhile, fully bootable.

Speech recognition… I’m probably going to go with something like Dragon Natural. It would be really cool if Dragon could be interfaced to something like Alice AI and then have the output go text to voice.

I’ve looked at it briefly, the OS I’m running could handle it no problem… I just don’t know what I would do with it to be honest. As far as I know its mostly just simple object recognition right?

Oh, it is MUCH more than that! :smiley: RoboRealm can take a live video feed, do whatever processing you might want for object following, color detection, etc. You can make Roborealm track objects, even people, and it can control an SSC-32. You can have Roborealm control all or selected servos for tracking, locomotion, etc.

Take a closer look at it… It is constantly being upgraded with new features and can even communicate with SEQ now. You can even control Roborealm over a LAN/WLAN or the internet.

Roborealm can do as simple or complex of processing of video as you might want.

8-Dale

Nice, I will definitely have to look at that. In the very least it will be something to use my 2nd camera for, and I can learn the software as I go.

Thanks for the suggestion!

Well I dug up my old video I did a year ago that has a short exmple of object tracking at the end of the video. The first part is a test that I did on my sensor board.

So if you want, can you can check it out to get an idea of RoboRealm. Excuse the poor web cam video. :laughing:

media.putfile.com/TorsoDemo

I added some high res pics, let me know what you think! :smiley:

Nice mod on the hands too! Excellent work!

I understand not wanting to only have one camera, even if the other is only there for looks.

With two cameras however, you can have one dedicated for object detection and the other for video monitoring or navigation. Roborealm is constantly evolving and there might be support one day for stereo vision.

I love the shock, where did you get it? I did a search on these and can only find them; where one end is a ball and the other end with an eyelet. Where an you find one with eyelets on both ends?

The hand mod is fantastic more rover robot like. :laughing:

Also, the duel cameras look like they are on a single board?

Yar, after the input in this thread, thats definitely the direction I’m going. I underestimated Roborealm’s capabilities at first glance.

They’re just standard R/C shocks. One end has an eyelet with a rubber grommet installed, the other is like a ball socket with a 4-40 hole straight through it. Picked em up at the local hobby shop when the idea hit me and made em fit by extending the torso using standoffs and I used an R/C car steering component to extend the rear shock so it had clearance from the servos/brackets.

Thanks! Dual cameras arent on a single board, they’re actually just 640x480 VGA webcams I picked up from Fry’s Electronics on sale for only $12 a pop :smiley: I stripped the casing off of them and mounted just the PCB, they were a perfect fit.

One thing about the torso/shock mod… it has added so much support and stability to the torso of the robot, definitely worked out better then I thought it would. The stock setup works… but with this mod his torso moves like its gliding on air.

Tyberius,

When you get your Pico ITX board, I want to see some pics of it!

I like the hand mod you did to make it have a claw look. Did you use a washer to space out the middle two fingers?

I just used two nuts I had laying around to space it out.

I’m probably ordering the pico-itx motherboard on the 1st or so… Black Friday “tricked” me into buying a 22"widescreen 3000:1 2ms response time lcd monitor for $199 and the wife probably isnt going to let another $400 in electronics slide for this paycheck :smiley:

I know I’ve posted it before, but if youre looking for more info on the board, theres a pretty comprehensive review here:

mini-itx.com/reviews/pico-itx/

Yeah I saw that website.

Boy I really fumbled on that last post with type 'os

I hear ya about the wife not liking the cost of robot parts. My wife gives me a hard time saying “awww poor Mikey can’t buy parts for his little woe-bot”

Heh, woman! but it’s ok for them to spend $100s on chemicals to make their hair or face, half of which do nothing, just placebo junk. :laughing: :laughing:

I hear ya! My girlfriend has me on a robot budget…so that I won’t spend too much money on my projects. I’ll be glad when one day I’ll have all the money I need to build what I see in my head… :smiling_imp:

My wife doesn’t care that I spend money on this stuff just as long as it’s NOT money we don’t have. :laughing:

My wife was actually the one that said I need to finish what I started and that it would be a waste if I did not complete the project. But the funny character that she is, she likes to poke fun at me and say stuff like " Awww, Mikey’s wittle woebot bwoken?" which is what she said when I tolder I smoked my speakjet board. :laughing:

Sorry, I did not mean to hijack…