914 Media Server
Thursday, 28 June 2007

This is an Enthusiast Project from James - 914pcbots.com Admin.

Since White Box Robotics released their 914 .NET controls, I've been tinkering around a little in C#. I've mainly programmed in Python before, although I did a little ANSI C in my college and university days, so C# .NET turned out not to be all that bad after all. I've been using C# .NET 2005 Express which is free from Microsoft.

I was thinking more about visual displays for the 914 since WBR have offered drive bay mounted 4" VGA screens for sale. I wanted to make best use of a small screen mounted on the 914 rather than having it constantly display the Windows desktop. As the majority of my 914 related programming will still likely be in Python, I also wanted to make any software I wrote be accessible from other languages through some sort of API, so I wrote this project - the '914 Media Server'.

The project is built around a sockets server, which I mainly got the code for from this tutorial. This allows commands to be sent over the network, or from the same machine - and for sound, speech or images to be played and displayed on the Bot. The application uses Microsoft Speech for the speaking, so you may need to install the SAPI 5 SDK in order to make it work. I've included the source code for this project as well as compiled executables that you can just use as they are if you wish. The download can be found here: MediaServerV1.zip (1.47Mb).

I've also included some sample sounds and some graphics of a face pulling various different expressions which I intend to display on my drive bay monitor. To use the ready compiled versions of the application do the following:

Download and Unzip the MediaServer.zip file. You'll notice that there's a folder in there called 'Executables' with a sub folder for the Server, and also a simple Client so you can try it out.

You can run both Client and Server on the same PC, or you can copy either Client and Server folders to PCs connected over a network.

Launch the '914 Media.exe' file - you'll notice it has two tabs, one labelled 'Data and sound', the other labelled 'Avatar and Images'. The Avatar tab has a picture of a man's head on it.

Go back to the 'Data and Sound tab', at the top you'll notice a port setting and a 'Start Listening' button. Set the port (the default is 8221) and click Start Listening - you should see it change to white and now it says 'Listening'.

Now launch 'Media_Client.exe' from the other folder. This also has a port and an IP setting. If you are running both client and server on the same machine leave the IP address as (this is localhost), if the Server is elsewhere then enter the IP address for the PC it is running on. Click 'Connect' - this should change to say 'Connected' if it is successful. You will also see that the 'Listening' button on the Server now also says 'Connected' too.

At this point you can flip the Server tab back over to the 'Avatar and Images' tab to see the mans face. As you click on the 'Imagexx' buttons on the Client you will see his expression change.

The four sounds I have included can also be played by clicking on the buttons labelled 'Sound01/02/03/04'. And now for the clever bit...

As you click on the buttons, you will notice that the file name of the image or sound is displayed in the long text box next to the blue 'Transmit' button. You can type anything in here to play or display other pictures or sounds provided they are either .jpg or .wav files and they exist in the 'Media Server\sounds' or 'Media Server\images' sub folders at the Server end. Just type in the file name and click 'Transmit' - if the name is invalid then it just won't do anything.

You can also make the Server speak using your default MS Speech voice. Just type in the phrase you which to speak and put a $ symbol on the end - the server will remove the $ and say everything that comes before. You can also keep sending multiple phrases with no $, then send the $ on it's own and it will say them all at once. If you wish to clear the buffer of everything sent before sending the $, then send a # symbol. The # will also help you clear everything if you make a typo.

You may wish to inspect the 'Data and sounds' tab of the Server as you are sending data - you will see data gets stored in various fields as it arrives. You may also type into these fields manually and click the buttons to speak/play sounds if you wish.

Obviously this is fun for a short while, but of limited use as it is. Note that the client application is really only there for demonstration. I intend to make this application part of my PPCBPAIFP project so that I may convey emotions from the 'AI' program that I end up writing, to Windows based Bots. I will also be doing something similar with the 914 specific .NET controls to read sensor data and actually drive the Bot about from my Python based application.

Feel free to use/modify the source for this application and use it in your own projects if you wish. To command the server from your own code, just attach to the socket and send a string containing the filename of the sound or image, or the text to speak followed by a $ symbol.

Discuss this article on the forums. (4 posts)

Updated Linux Support
Wednesday, 27 June 2007

White Box Robotics have updated their Linux support page with some new information that's particularly relevant if you've not yet tried out Linux on your 914.

There's now a bootable DVD available that allows you to image your Bot's hard disk in one go with an installation of Linux, Player/Stage, and everything else you need to get going. This is far easier than the previous method of installing Linux manually and compiling Player from source.

Check out the 9 Series Linux User Manual and the new Linux Imaging Instructions.

Discuss this article on the forums. (0 posts)
VGA Drive Bay Monitors For Sale
Monday, 25 June 2007
ImageWhite Box Robotics have told me they have a source of Logitec LCM-1042A drive bay mounted 4" VGA monitors which they would like to make available to the community. These are similar to the one that Dave Evans showed us some time ago.

The unit offers a crystal clear 640x480 picture, it has standard 15-pin VGA connectors for it's input and a 'through' connector that allows you to connect another monitor at the same time. It is powered from a standard PC drive bay connector, so it's an ideal accessory for your 914 - either so you can see the screen for trouble shooting, perhaps displaying videos or other media, or even an avatar such as those from Ultra Hal Assistant.

White Box Robotics are able to offer these units for $299 USD each to anyone who is interested, they are brand new and boxed. If you're interested then please carefully read the following ordering process:

1 - Please contact me to put your name on the list. Include your full name, e-mail and username that are registered at 914pcbots.com, as well as your geographical location. This must be by the 10th July 2007 (14 days from today) so that the order can be finalised.

2 - White Box Robotics will then send out PayPal buttons via email so you can pay.

3 - White Box Robotics will place the order for the total amount with their supplier. Important: Delivery may be 3 to 5 weeks from this point which is 5 to 7 weeks from now.

This is currently a limited time offer, so make sure you don't miss out!

Discuss this article on the forums. (4 posts)

914 Comic - Silicon City part 7
Sunday, 24 June 2007
Image Here's this weeks episode of the online 914 comic book which is written and illustrated by C6jones720. Comic episodes are published each week on Mondays and remain archived in the 914 Comic Series section.

This the seventh part of the Silicon City story.

Please click on the preview to the left to get this week's episode full size.

Discuss this article on the forums. (0 posts)
Open Source NASA Robotics Software
Thursday, 21 June 2007
Image It is being widely reported that NASA have open sourced their robotics software framework called CLARAty, which is jolly nice of them.

CLARAty is short for Coupled-Layer Architecture for Robotic Autonomy and includes libraries for everything from math infrastructure to device drivers for common motors and cameras, and computer vision, image, and 3D processing. Apparently it has also been tested on the Mars Rovers.

Check out further coverage at Slashdot and Robots.net.

Discuss this article on the forums. (8 posts)

Sounds for your 914
Wednesday, 20 June 2007

Recently I have been getting stuck into the 914 .NET components that are available from White Box Robotics. I've found that it's pretty easy to do almost anything with .NET, including sockets/IP communications, speech, and playing sounds.

One thing that I really want to focus on when considering software for my 914, is it's personality. This will mainly come through the things it says and the sounds it makes, although I'm considering some lighting to set moods also. At this stage I've been thinking again about how R2D2's personality in conveyed entirely through sound, so getting some good sounds for different things is quite important. I previously wrote about  Syd Synth which I will likely use to generate a lot of sounds using it's simple click and drag interface.

I've posted a couple of sounds here (86Kb) and here (343Kb) from Syd so you can get an idea of what's possible. I also found that using Microsoft SAPI, I can easily generate speech at the same time sounds are playing which could create some interesting possibilities.

For those who want to emulate R2D2 itself, I found a complete library of R2D2 sounds in .wav format over at Astromech.net - the official R2D2 builder site. There are over 100 R2D2 sounds in the top download link on that page.

I also found that there are many other free sounds out on the Internet that could be used for a robot, lots of mechanical and early computer sounds, as well as general everyday sounds that could be used for some sort of children's interactive game for instance. Check out PacDV, FreeSoundFiles, and StoneWashed - which links to many many other download sites.

Discuss this article on the forums. (0 posts)

News and Views
Monday, 18 June 2007

I've talked a lot about my own news and views relating to White Box Robotics and the 914 PC Bot. This is a community site, so as well as forum posts I'd like to publish content written by community members. It could be a project you have built, or maybe just your experience and aspirations for yourself and your 914.

Of course we have the Wiki and the Image gallery that anyone can contribute to, check out the FAQ section for details. Even if you are not a 914 owner, I would still like to hear about anything you are doing, or have heard about that is relevant to PC based robots - maybe an article you have read or an event that you have been to. Our weekly comic strip is written and illustrated by a PC Bot enthusiast, so feel free to submit anything, no mater how diverse - perhaps you wrote music or painted a picture about PC Bots...

So let me have your news 'n' views! - and I'll give you a share of front page fame, just send me a message or email me with the relevant info. Feel free to add any relevant photos to the image gallery, or just include them on an email or in a document in a format I can read, such as PDF, Word, or HTML etc. If you have your own web site or blog, I’d be happy to link to your article there.

And lastly, a big thank you to those who have already submitted projects or other content – that’s really what makes a community a community!

Discuss this article on the forums. (1 posts)

914 Comic - Silicon City part 6
Sunday, 17 June 2007
Image Here's this weeks episode of the online 914 comic book which is written and illustrated by C6jones720. Comic episodes are published each week on Mondays and remain archived in the 914 Comic Series section.

This the sixth part of the Silicon City story.

Please click on the preview to the right to get this week's episode full size.

Discuss this article on the forums. (0 posts)
ZX Spectrum Revolution
Friday, 15 June 2007

I previously wrote an article about the 25 year anniversary of the IBM PC and how this brought something revolutionary to the mainstream. However, for the enthusiast, this article about the ZX Spectrum is probably easier to relate to, whether you actually owned a ZX Spectrum or perhaps another early 8-bit home computer such as a Commodore64 or Atari 8-bit. I remember one of my early computer interfacing projects was in fact using Qbasic under DOS on a 286 PC - to control an SPO256 speech synth. Although, I owned a Commodore64 a long time before that and tried (mostly unsuccessfully) to interface various electronics such as robot arms to it in my younger years.

Like many robot enthusiasts I've often built my own mechanical hardware for robotics projects. My original intention with robotics as an adult was to become a better programmer, but for a long time I've been stuck trying to build a reliable robot to program, rather than concentrating on making it do anything vaguely intelligent.

However, for the first time about a week ago I sat down with the 914 .NET components, read through the sample code and had a serious go with C# .NET 2005 Express. I've previously programmed mostly in Python which I still intend to do for my 914, however I'd really like to be able to do this under Windows as well as Linux. The task I set myself therefore, is to write an interface to Python using the .NET controls - which will likely be in the form of a sockets server I can attach to from a Python script, or any programming language that supports sockets.

From a personal learning point of view, of course it's much easier to learn to program a robot if you have one that's ready built to commercial quality standards, rather than having to build the hardware yourself first. This is particularly relevant for research projects where the focus is on software rather than hardware.

There are of course many people out there who are already programmers in various languages, particularly in .NET, but the majority of them have probably not programmed robots before. In the same way that the ZX Spectrum brought accessibility for people to learn programming and general computer skills all those years ago, accessibility to affordable robots running familiar operating systems provides a tipping point towards mainstream robotics, utilizing skills sets that are already out there. From a personal point of view, that other 914 owners can probably relate to, having a 914 is incredibly motivating towards spending time making it do something - mainly it's an amazing thing to see in real life, photos just don't do it justice.

Now, I know that the ZX Spectrum was a lot cheaper than the 914, and I've heard various opinions that the 914 is 'too expensive for enthusiasts'. However, let's consider what an enthusiast is. My friend is a Harley Davidson enthusiast, needless to say his Harley cost him far more than the price of a 914. Consider the classic car enthusiasts, musicians, or even mountain bikers - all of these things which are mostly people's hobbies can cost a small fortune to do, often just for the weekends. These are serious enthusiasts and as such don't mind spending serious money on what they enjoy. I'm a member of the DeLorean owners club, but I don't actually own a DeLorean - so if you really can't run to buying your own 914, then of course you can still be an enthusiast - it's a revolution!.

Discuss this article on the forums. (9 posts)

Robots Becoming Part of the Family
Wednesday, 13 June 2007
Robots.net are reporting on a story in LiveScience about robots becoming part of the family. Mainly this is about how family pets, as well as humans, relate to things like their Roomba  - the cat sitting next to it to keep it company as if it were another animal for instance.

It struck me that although technologies such as speech recognition have come a long way in recent years, there still aren't that many people who speak to their desktop PCs - mainly because you feel stupid and it's quicker to type. However, plenty of people speak to their cats an dogs, so therefore it makes sense that people will feel ok speaking to a mobile robot.

It also struck me that most people I know of who own a 914 have named it. Mine is called Morris, and yes - that's one of my dogs sat on top of it. Most have human sounding names, the only exception that I know of being A1-DW, although I wanted to name our second dog 'Dog Version2.0', but I wasn't allowed to.

Discuss this article on the forums. (2 posts)

914 Comic - Silicon City part 5
Sunday, 10 June 2007
Image Here's this weeks episode of the online 914 comic book which is written and illustrated by C6jones720. Comic episodes are published each week on Mondays and remain archived in the 914 Comic Series section.

This the fith part of the Silicon City story.

Please click on the preview to the left to get this week's episode full size.

Discuss this article on the forums. (0 posts)
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Results 89 - 99 of 345