Posted by Scott Preston, posted
Wednesday, June 18, 2008
I have changed the site a little bit, let me know if you like it by contacting me.
Thanks,
Scott
Posted by Scott Preston, posted
Wednesday, February 27, 2008
To installed text to speech follow this guide then install festvox by performing an apt-get install on one of many voices, like festvox-kallpc16k.
So for short:
sudo apt-get install festvox-kallpc16k festival
update your /etc/festival.scm
Then run a test:
echo "this is a test" | festival --tts
That's it. I will be updating Feynman6 with this code soon.
Posted by Scott Preston, posted
Wednesday, February 27, 2008
Once I got it working I was amazed at how easy it would have been if I had the proper instructions. Even the Ubuntu site does not work well for this but here are the steps I followed to get it working.
Updated /etc/apt/sources.list with:
deb http://blognux.free.fr/debian unstable main
sudo apt-get update
sudo apt-get install easycam2 webcam-server
I then selected yes and installed dependencies and ram the program:
sudo webcam-server -p 88
I then went to my browser and typed http://ipaddress:88, and I saw a snap shot.
Posted by Scott Preston, posted
Tuesday, February 19, 2008
It looks like I will be retiring Feynman-Jr, it turns out that having two robots that do the same thing are not that good. Also there are a few design flaws in Feynman Jr. First, the motors are too fast, this will have to go on another outdoor robot (name t.b.d). Second, there is no good place to put an arm.
I am going to be moving parts to Feynman6 and then mounting an arm on it and will add a computer power supply so I can leave the robot plugged in 24/7.
The software of course will take a hit pending work on the new robot, the main driver for the software is "What will it do?" and I my goal, to get a beer, is completely dependent on on the arm and having the robot powered on most of the time, without having to worry about recharging the battery.
Posted by Scott Preston, posted
Sunday, January 20, 2008
I learned that Feynman Jr. has a longer battery life than I thought. In short, it never ran low and was able to stay running during the entire presentation with a full charge, this is moving the robot around via remote and having the PC on entire time.
I had a few bugs with the C# Serial-HTTP bridge. As it turned out, this program bombed about 3 times during the demo and caused Feynman Jr. to run wildly and not stop.
Also the motors for Feynman Jr. are a little too powerful for the kind of fine motor maneuvers needed for orientation (i.e. pointing north) as it turns out the motors on Feynman6 work much better for such movements.
Carnot worked just find though I am not sure of my vision algorithms, I think they work OK, but have too much error to be reliable and consistent.
Posted by Scott Preston, posted
Thursday, September 27, 2007
I have been working on a smaller version of a robot than Feynman 6, called Feynman Jr. I have also begun to refactor my Java API so that it will work with my new robots.
The summary of my new robot "Feynman Jr" is that he will have his own CPU (another EPIA Mini-IPX that I have used so successfully in past robots. But he will be shorter and smaller than the other robots, small enough to fit comfortably in my truck and light enough so that I can lift.
I have also begin a new API so that I can better have a re-usable architecture then have robot specific classes extend the basic architecture. But this API is not 100% Java, I have had to extend it using C#.
Why C#? Well the main reason is that I use WindowsXP Pro for the robot's operating system. I had tried to use Video 4 Linux a year or so back and got nowhere fast. So even though Windows XP cost some money, it's rather stable for what I want to do, transport Serial and USB Web Camera data over HTTP.
By using HTTP for transport, this opens up any language to be used for processing. So PHP, Ruby, JavaScript, and other languages can be used to access the robot's control and data streams... Which is very, very cool...
Posted by Scott Preston, posted
Thursday, September 27, 2007
I have started a blog at ScottsBots.Com. Well, it use to be my "Bot Bits" column but since I rarely used that and wanted to start talking more about robots, I decided to shift that to a blog. I will talk here about some of the latest news with my robots and programming. Stay tuned over the next few days I will be adding some more content ...
Posted by Scott Preston, posted
Thursday, September 06, 2007
I was able to do this with 2 resistors and 1 capacitor.
681 kohm 470 ohm
Vx ----/\/\/\---o-----/\/\/\----Pin to stamp
unknown |
voltage ===== 0.01 uF film
|
Vss
The source code for the basic stamp is:
' {$STAMP BS2}
' {$PBASIC 2.5}
' {$PORT COM1}
rct VAR Word ' RCtime value
Vx VAR Word ' voltage value calculated
Cn1 CON 48576 ' first constant, see below
Cn2 CON 8 ' second constant, ditto
' circuit attached to P15
LOW 15
start:
RCTIME 15,0,rct
LOW 15
Vx= Cn1 / rct + Cn2
DEBUG DEC ? rct,DEC ? vx
PAUSE 500
GOTO start
You will have to experiment with the constants and values. I had to sit with my battery and take readings while I worked on the robot, then as the battery drained I took readings and voltage measurements and made my self a look-up table.
Posted by Scott Preston, posted
Tuesday, May 08, 2007
 |
This book has 18 chapters but mainly deals with the mechanics of building a robot, not the software behind it, but Chapter 15 has the basics using a Motorola Microcontroller.
I think what I like most about this book is that it helps someone coming from a software background, like me, and teaches them how things are done on the mechanical side of things so that you don't have to purhcase items.
Though more and more shops are providing parts, brackets, mounts, etc. so you don't need to machine your own parts, but there will always be cases where you can't purchase something, and this book shows you how to build it.
You can read more about this book from Amazon.Com.
|
Posted by Scott Preston, posted
Tuesday, May 08, 2007
Contact Me if you would like to purchase a Compact Flash pre-installed with Ubuntu.
The installation of UBUNTU on the compact flash was not that difficult, but it took me 3 tries.
-
Ubuntu 6.10-Desktop VGA set to 1024x768-16 - Not enough space on my 2GB Flash.
-
Ubuntu 6.10-Server VGA set to 1024x768-16 - Strange Errors "Unknown Interrupt or fault at EIP...".
-
Ubuntu 6.10-Alternate VGA set to 1024x768-16 - Slow but it installed and restarted.
-
I removed my install CD-ROM and modified the /etc/apt/sources file by commenting out the CD-ROM as the first place to look for install packages.
-
I installed SSH - sudo apt-get install ssh openssh-server.

Part Info all purchased from NewEgg.Com for $237.70 including shipping.
-
MB VIA EPIA M10000 CLE266 VIA C3 - $149.99
-
-
SYBA SD-CF-IDE-DI IDE to Compact Flash Adapter - $9.99
Notes on the IDE Adapter: I have external power jumper selected, 5VDC vs. 3.3, and it's in Master/Single mode.
I have not had any problems with this solution, if you have any problems or updates to this, add a comment. Or if there is a version of Ubuntu or other Linux distro you would like information on, please leave a comment.
Posted by Scott Preston, posted
Tuesday, May 08, 2007
The program and batch file require the .Net Framework v3.0.
Once you download this file, unzip it, then open the .bat file and adjust the parameters. The included batch file used COM1 and port 5050, for http.
The commands are simple:
http://server:port/delay,byte,byte,....
So for an SSC I would send this:
http://localhost:5050/0,255,0,127
But if you would like a delay for reading sonar from a basic stamp you might try something like this:
http://localhost:5050/75,100,102
Where the 75 is a 75ms delay, the 100 is a byte for my basic stamp program below, and the 102 is the command byte telling my basic stamp to return the command.
SERIN 16,16468,main,[WAIT(100), cmd]
I have also included a simple AJAX and PHP script that allows you to access these from a PHP and Apache.
Basically this allows you to copy the files to your Apache web server with PHP, then change the IP Addresses of your server, maybe to 127.0.0.1, or localhost, and you can now control your SSC powered remote from anyplace in the world.
|
 Everything you wanted to
know about programming robots and more! For more info click here.
Robot
Roll...
|
|
This is a robot I created for the CRB (Columbus Ruby Brigade). It demonstraits some of the basic robotic principles: movement and visual recognition. |
|
|
A smaller faster lighter version of Feynman6. Same great software, same cool functionality, just in a smaller package and much, much faster... |
|
|
This will a test platform for Feynman. The main reason for his creation is power supply issues and transportation issues with the current version of Feynman.
There are also several problems with the supported Java APIs, mainly sun has abandon them: Java Communications and Java Media Framework. |
|
|
I have decided to create Feynman6 and retire Feynman5. This robot will be taller, have more 80/20 and less wires via a new distribution board with onboard carrier for a BS2. |
|
|
This is the robot I used for my book. It has pretty much the same components as Feynman3, but is smaller and is more stable. |
|
|
Some guys at work were running around the parking lot with these little plastic cars. So one week-end I decided to modify Feynman into and Battle Bot minus the weapon.
This bot actually moved about as fast in the short term as the cars. I did run over one but because of the STAR design of the robot I found it quite limited and poor to maneuver. Something I would correct in later robots. |
|
|
I built this with some extra parts from CubeBot. He is powered by 4 AA batteries and an 9V battery for the CubeBot controller board. I put an SRF-04 Sonar on him so he could avoid things as he moved around. But that's all he really did. |
|
|
This is a robot that I did for a COSI training session. I had students login to my website and then control the robot from the internet. It consist of a pan & tilt camera, and an SSC Servo Controller tethered to a power supply and a serial port since it was on 24/7.
This robot is also featured at Robots.Net. |
|
|
This is a real upgrade from Feynman 2. It's also my first robot written in Java. |
|
|
This is the same robot as Feynman 1, but I have modified the chassis. The chassis gave me a little more control over the sonar and provided better proximity detection with the bumpers and Sharp IR sensors. |
|
|
This was my first PC Robot. Here I had real sonars, real motors, real processing power!
This robot is also featured at Robots.Net. |
|
|
This robot is just a chassis upgrade of the previous robot (Baby Joe). |
|
|
For this robot I wanted it to be controlled via a MicroController. I choose the Parallax Basic Stamp 2. I used much of the same parts from the previous robot (TetherBot) but purchased some additional hardware for this chassis.
This robot is also featured at Robots.Net. |
|
|
This robot was the begining of my love and facination with robotics. Here I learned the power of hacking a servo, building my own sensors, and programming and controlling it via PC.
This robot is also featured at Robots.Net. |
|
|
This is my first robot. It cost less than $10 and took me a week-end to get it working.
|
|