I have plans to build an autonomous robot that can communicate with my laptop. Now that I’m getting the sensors and I have an idea for a random genorator, all I need now is a LOT.
I need a bluetooth adapter for the programing cable so it is wireless. I also need to know if a bluetooth ExpressCard will work too.
2.I might need to know how to setup a macros, run it, if I can run it by pressing a hotkey, and if it includes the mouse.
I need to know if I can make my robot run a program on my laptop automaticaly via bluetooth.(I doubt it, but it’s worth a try:D )
4.I need a program that will make a map using the optical shaft encoders and use it to navigate my house.
As a Conservative Estimate, I would say you 30% of the way to where you are going.
I don’t have any BlueTooth Adapters, so I don’t know if they are good enough for Programming the Vex Controller, but even so, you can Download your Program to the Vex with the Wired Cable, then switch to the Bluetooth for the Remote Operation.
Doing some research, a Bluetooth ExpressCard is a Bluetooth interface for your computer that is connected through ExpressCard technology. I would assume that Bluetooth can also be connected to your computer by USB or even PC-CARD (PCMCIA) as well.
Assuming that the Bluetooth ExpressCard follows the Bluetooth standards it would work as well as any other Bluetooth Interface.
Look for threads about the Vex On-Line Code (in the VEX Starter Code) and the On-Line Window in the Intelitek Loader and PC Programs to control the Vex On-Line Code.
The simple answer is YES.
You can have a program running on the Laptop that responds and changes to commands sent from the Vex (through the Bluetooth) Those changes might include Launching (Starting ) another Program.
So you need a couple programs.
One on the Vex that drives around, and maps Distances (optical shaft encoders) and directions (Compass or maybe a Gyroscope or Accelerometer)
Another on the Laptop that receives the Data from the Vex and builds a MAP of the House. The Program on the Laptop could also direct the Vex in a given direction, like when the Vex has already mapped part of the House, and send the Vex to a different part of the House.
You have a “large task”, but well worth the effort… You will learn a lot about various Robotic and Control and Data concepts.
for a map you will first have to figure out how much the encoder reads after an inch, then you will have to figure out where you want the robot to go and map every turn and for how far it should travel
then basically keep moving until you reach the first encoder threshold, then go to the new something like:
do {
MoveMotor(x, x)
} until (encoder > 50)
do {
MoveMotor(x, x)
} until (encoder > 100)
and so on, probably will be a very large program, oh and BTW don’t copy that code ^ you will have syntax errors everywhere
Yes, a little like that. I will make a few cool programs that use this map, such as hide and seek, or it will just roam and follow the dogs, for example.
I will also add a camra to the top and have it take pictures like one of my earlier lego mindstorms robot. I will also make many programs that I would like the robot to automaticaly download from my computer( I dont have to do this , but it would be cool) so my laptop will be the base for the robot!
I will also make programs were I can send the robot on missions. When It detects a change in light or a sudden chang in the ultrasonic sensor, It will stop and ask me what I want it to do (Via bluetooth) and I can press a button on the controller to make it do that action.
The reason why I want to build this robot is because there are so many possibilities with a robot that has many sensors and two cameras( One vexplorer and one digital). I can add on a grabber when I get new parts and watch this robot grow.
PS I will make a powerpoint presentation about this robot when it is finished.
There is a company that wrote a pretty cool mapping program called Strabo Pathfinder (http://www.wehali.com/robotics). I came across it while working with a different robot (ER1), that uses a laptop for its “brain”, and had a USB module that controlled stepper motors and other I/O. Strabo is really easy to use. You create a .bmp of your map using specific colors for barriers, preferred routing, etc. and the program will map from point to point. It uses http calls with set points to and from the robot. It works well, and supports things like patrolling, etc.
You would need an interface to Strabo, that will talk to the Bluetooth dongle that was menitoned earlier, but using the Stabo interface, you could, in theory, point to a point on the map, and the robot would go there, using positional feedback along the way on the screen. (I was able to do this using the ER1 robot).
The program someone mentioned earlier from Itk should be able to do something similar, but I was never able to get it to work on my computer. Unfortunately, he wrote the pc interface using VB6, and I only have the .net2003 version, which is not directly compatible. I wrote Itk, but he could not help, because he lost his code in a HD crash. I have searched for a version of VB6, but have not been able to get one in order to upgrade the code to the .net version.
If you are able to get any of these pieces together, please post the results. I will help, if I can, but, though I am an engineering degree (from about 15 years ago), I never did much programming, and I am much better at adapting stuff than creating it (I don’t even work as an engineer anymore).
I would love to emulate what you are doing. Many of your goals are similar to my long term ones (if I can find the time towork on them).
Bluetooth is short range, like 30 feet. WiFi would be better for the distances in a house.
For Testing, get the Bluetooth adapters, keep your recepts. Download the Vex On-Line code that is in the Vex Starter Code (using the Vex Programming Cable). Switch to the Bluetooth adapters and see if you can control the Vex with the On-Line Window in the Intelitek Downloader.
The Vex Controller has very limited memory, Maybe 1024 bytes of RAM to store MAP Data into. Your PC will have Megabytes of RAM, plus the Hard Drive.
If it works, you can then work on building a PC Program that builds your Map.
Your PC Program will need to have a communication Layer that Sends and Receives data to the Vex Controller. The amount of Memory needed is related to how much Data you need to Store, which is related to how many Data Points you want keep in memory. Off the top of my head, I think the Data Points would need to be stored in the PC, but for a Small House, it might be able to to be kept in the Vex’s EEPROM memory, and then Downloaded to the PC in a Batch.
A very simple Map would use a single bit to indicate a point that the Robot can Travel Through (TRUE) or NOT Travel Through (FALSE). A Data Point every 3 inches would require 2 Bytes of memory for each Square Foot of floor space. (I will draw a picture) The MAP would start as ALL FALSE, then as the Robot moves through the house, the Data Points will be set TRUE to indicate the at THAT point there is no Solid Objects to Block the Robot. Extra Code might need to be added to account for objects that were added to a location after it has been mapped (like a Dog or Two laying on the floor).
I havn’t had much expierience with that much programming.:o I want to do it as simple as possible. I know it will be hard, but I really want to build this robot!
Scratch the WiFi!! I see there are different kinds of Bluetooth… See the Link for the Bluetooth Serial Adapter - Firefly. This should have the range you need to map the house.
The Firefly is labeled as a Class 1 Bluetooth device, verses the Bluetooth I remember reading about, termed Class 2 Bluetooth. (See article Bluetooth)
The Firefly is shown to support the “[FONT=Verdana]CTS, RTS[/FONT]”, which appears to be a needed component to Reprogram the Vex Controller. But a small problem might be in the fact that the Bluetooth unit gets it Power from the Serial Port, which in the Case of the Vex Controller, the Vex Serial Port is only TTL, and won’t have enough Power to opperate the TTL to RS-232 bridge (the little Orange Box with the Button) or the Bluetooth adapter, WITHOUT some sort of External Voltage regulator.
[quote=But a small problem might be in the fact that the Bluetooth unit gets it Power from the Serial Port, which in the Case of the Vex Controller, the Vex Serial Port is only TTL, and won’t have enough Power to opperate the TTL to RS-232 bridge (the little Orange Box with the Button) or the Bluetooth adapter, WITHOUT some sort of External Voltage regulator.
]
How would I add an external power source? I really like your idea!
Is there some kind of female usb bluetooth adapter? That might also work, but I havn’t found one.
The FireFly is easy, its Voltage Range encompasses what the Vex Controller’s Battery outputs.
The FireFly can be purchased with either male (DTE) or female (DCE) 9-pin connectors. (See FireFly Manual pages 3-3 to 3-5 [PDF pages 11-13]) IF you happen to have Two of the same, a NULL MODEM cable will needed to connect the FireFly to one of your devices.
The FireFly also can be connected to a external DC power source (See FireFly Manual pages 3-5 [PDF pages 13])
The VEX Programmer Box might need a different voltage range, it might need additional Hardware (e.g. Voltage Regulator or separate battery) to work correctly.
Not a Problem… All Quotes start with the " ]" with QUOTE in it and end with " ]" with /QUOTE in it. BOLD, ITALIC, URL and
Ok, I got the sensors and built the robot, only the robot wasn’t my original design. I also got an idea that I should have my robot have a variable that is a different value depending on the robot’s souroundings. The robot will act differently deppending on the value of the variable. For example, if you “pet” it, it will be happy and affectionate, but if you ignore it, it will drive slowly, and it will be sad. Since I had a problom with the line tracker kit, i’m just buying a cheap, used one from ebay. …and I just won the bid. I’m using the broken one to detect ambient IR.( If there are lights that give off lots of IR like the inventor’s guide says, It will be able to distinguish between that light and the attached IR LEDs)It’s coming out great! Now all I need is five Vexplorer to PWM converters, a pack of servo extensions, possibly another microcontroller to handle all of the motors, and two fireflies. OUCH!!