markavdb
02-29-2008, 12:02 AM
Goal:
Create an autonomous robot that has the potential of fetching me a refreshing adult beverage automatically or manually. Secondary goals include having it adjusting the room lighting, temperature and charging itself when needed. Other goals include having it react to its environment, internet communications (telnet / email) and provide basic entertainment.
First Video:
http://www.youtube.com/watch?v=9oTqY_pKgzk&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1 (http://www.youtube.com/watch?v=9oTqY_pKgzk&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1)
http://www.youtube.com/watch?v=9oTqY_pKgzk
After Upgrade
http://www.youtube.com/watch?v=W6O1uC58cEY&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1 (http://www.youtube.com/watch?v=W6O1uC58cEY&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1)
http://www.youtube.com/watch?v=W6O1uC58cEY
Parts:
http://www.batteryspace.com/index.asp?PageAction=VIEWPROD&ProdID=2139 (http://www.batteryspace.com/index.asp?PageAction=VIEWPROD&ProdID=2139) Battery 12v NiMH (long)
http://www.trossenrobotics.com/robot-parts.aspx (http://www.trossenrobotics.com/robot-parts.aspx)
Phidget 8/8/8 Interface
-Voltage Sensor
-3x IR Distance Sensors
-Light Sensor
-Temp Sensor
-2x Phidget 4x Servo Board
-8x Servo Extension Cables
-2x 10W Voltage Regulator
-3x Standard HiTec Servos
-8/8/8 Relay Board
2x BanBot 40amp motor controllers
6x 1u capacitors
www.frys.com (http://www.frys.com/) or www.radioshack.com (http://www.radioshack.com/)
Bread Board
4x Ultra Bright LEDs
LED Holders (black plastic)
Tri Color LED
4x LED Holders / mounts (silver)
5x Spindles of different colored Wire
Heavy duty electrical switch with key
Cheapest / Smallest Web Cam
Wire Buts (connectors) for phone cable
Wire Clips
Wire Caps
Various Screws
LED Laser
http://www.robotcombat.com (http://www.robotcombat.com/) or http://www.EBAY.com (http://www.ebay.com/)
2x NPC DC Gearhead motors 12V-24V
2x NPC 5" wheels
2x 3” Casters
http://www.mcmaster.com (http://www.mcmaster.com/)
2x UDP 1/4” 2x4 feet
2x UDP 1/8” 2x1 square feet
http://www.faztek.com
T-Slot AL Framing
3x AL hinges
4x AL Plates
http://www.x10.com
USB X10 Controller
MISC Parts
1x 2.5v 3amp Power Supply
1x 4 Port USB Hub
1x VERY Cheap Gripper
Programming
All of the programming for this robot is in VB 6 and runs on an old laptop connected wirelessly to my home network. The first version of software I am working on is a simple manual control screen. It is used to control the phidget servo cards and 8/8/8 interface kit. In order to keep everything simple, I set up remote control software on the laptop, which is accessed through a wireless network. I have managed to integrate some Quickcam software into the interface so you now have the ability to look around the room your in with out launching another application. The USB X10 controller works very well too, it is easier to work with than the serial version but it was over priced at $40. Since the point of this contest is to further robotics and maybe make it easier for others to follow, I am going to include the software I have so far. It is a compilation of code from the internet that I have merged into one interface. It was not written how it should have been, so it might be a little hard to follow. However it does a lot, it even has text to speech functionality.
Usage
So far the robot is drivable as you can see from the videos and the arm works fairly well. A voltage sensor was installed, so you know when you need to return for a charge. The robot can tell the room temperature, light levels and verify how many relays are active. There is also an IR sensor underneth for helping detect obsticals and when finished, finding it's charging station. Next to the IR sensor underneth is a LED sized receiver. When pointed at the charging station it turns on an input on the phidget board.
The web cam has been mounted with 2 DOF on the top of the robots arm. Since “a robot without lasers is not a robot,” I added 1 LED laser pointer and placed it next to the webcam. This laser has proven very entertaining; my cat likes to chase the red dot around the room. I also put a multi-colored LED in the base of the robot to help convey miscellaneous information. Should the power go out and a little light is needed, 4 high intensity LEDs have been placed on the front 1/3 of the robot, 2 white and 2 blue.
In order to maximize battery life, I added a few relays to turn the robot’s main batteries on and off. By keeping the laptop in hibernate mode while not in use I can go for very long periods between charges. Currently the laptop batteries do not last nearly as long as the batteries for the motors and laser do, only a few hours.
To ensure this robot did not have a problem fetching me a reasonable beer, I used two NPC right angle gear head motors. These motors can handle a pay load of up to 50 lbs each and have a stall rating of 325lbs. They run at 12 to 24 volts and can draw up to 80 amps. Since driving them that fast in the house would likely have a negative result, I decided to cap the voltage and amps, they are only provided 12 volts at 40 amps max. Its top speed was still too much and had to be limited through software. The Bane Bot motor controllers wired to a Phidget Servo board work really well, just be sure not to pull power from the servo board. With this setup I am certain I ought to be able to get a decent amount of beer each trip, as well as have a little fun with my cat along the way. After getting a little farther with the robot I managed to add 2 linear servos from ServoCity. They were mounted with some T-slot framing. This has made for a really good strong arm with some reasonable precision. Unfortunently those servos were very exspensive and I had to go cheap on the gripper. The gripper is enough to lift a bottle of beer but not safely. The last attempt made it to the carpet before falling and thankfully did not break. When possible I will upgrade the gripper next and hopefully with a wrist so it might even poor a beer too.
Current Opportunities
I am still working out the software as it relates to the drive train. Currently there is need to compensate while driving straight forward and more trim options are needed, however in reverse it drives perfectly straight. It does accelerate smoothly if you start in the middle of the control and move the mouse away to increase the speed. This is a little sensitive but does get the job done. I also plan to replace the drive system with a Phidget Stepper board along with appropriate motors, in order to simplify navigation.
Future Prospects
My next priority is to build a charging station so the robot can charge itself as needed. Later I intend to replace the laptop with a micro sized PC and setup an alternate power system for it.
Comments:
This is my first attempt at building a robot and has been a lot of fun so far. My only suggestion for anyone starting their first robot is: if you’re not sure about something, research it or ask someone about it until you are. Also, if you buy any used motors that might have been used in a battle-bot, don’t expect 100% smooth operation.
Create an autonomous robot that has the potential of fetching me a refreshing adult beverage automatically or manually. Secondary goals include having it adjusting the room lighting, temperature and charging itself when needed. Other goals include having it react to its environment, internet communications (telnet / email) and provide basic entertainment.
First Video:
http://www.youtube.com/watch?v=9oTqY_pKgzk&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1 (http://www.youtube.com/watch?v=9oTqY_pKgzk&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1)
http://www.youtube.com/watch?v=9oTqY_pKgzk
After Upgrade
http://www.youtube.com/watch?v=W6O1uC58cEY&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1 (http://www.youtube.com/watch?v=W6O1uC58cEY&feature=PlayList&p=2B9510615644A3A7&index=0&playnext=1)
http://www.youtube.com/watch?v=W6O1uC58cEY
Parts:
http://www.batteryspace.com/index.asp?PageAction=VIEWPROD&ProdID=2139 (http://www.batteryspace.com/index.asp?PageAction=VIEWPROD&ProdID=2139) Battery 12v NiMH (long)
http://www.trossenrobotics.com/robot-parts.aspx (http://www.trossenrobotics.com/robot-parts.aspx)
Phidget 8/8/8 Interface
-Voltage Sensor
-3x IR Distance Sensors
-Light Sensor
-Temp Sensor
-2x Phidget 4x Servo Board
-8x Servo Extension Cables
-2x 10W Voltage Regulator
-3x Standard HiTec Servos
-8/8/8 Relay Board
2x BanBot 40amp motor controllers
6x 1u capacitors
www.frys.com (http://www.frys.com/) or www.radioshack.com (http://www.radioshack.com/)
Bread Board
4x Ultra Bright LEDs
LED Holders (black plastic)
Tri Color LED
4x LED Holders / mounts (silver)
5x Spindles of different colored Wire
Heavy duty electrical switch with key
Cheapest / Smallest Web Cam
Wire Buts (connectors) for phone cable
Wire Clips
Wire Caps
Various Screws
LED Laser
http://www.robotcombat.com (http://www.robotcombat.com/) or http://www.EBAY.com (http://www.ebay.com/)
2x NPC DC Gearhead motors 12V-24V
2x NPC 5" wheels
2x 3” Casters
http://www.mcmaster.com (http://www.mcmaster.com/)
2x UDP 1/4” 2x4 feet
2x UDP 1/8” 2x1 square feet
http://www.faztek.com
T-Slot AL Framing
3x AL hinges
4x AL Plates
http://www.x10.com
USB X10 Controller
MISC Parts
1x 2.5v 3amp Power Supply
1x 4 Port USB Hub
1x VERY Cheap Gripper
Programming
All of the programming for this robot is in VB 6 and runs on an old laptop connected wirelessly to my home network. The first version of software I am working on is a simple manual control screen. It is used to control the phidget servo cards and 8/8/8 interface kit. In order to keep everything simple, I set up remote control software on the laptop, which is accessed through a wireless network. I have managed to integrate some Quickcam software into the interface so you now have the ability to look around the room your in with out launching another application. The USB X10 controller works very well too, it is easier to work with than the serial version but it was over priced at $40. Since the point of this contest is to further robotics and maybe make it easier for others to follow, I am going to include the software I have so far. It is a compilation of code from the internet that I have merged into one interface. It was not written how it should have been, so it might be a little hard to follow. However it does a lot, it even has text to speech functionality.
Usage
So far the robot is drivable as you can see from the videos and the arm works fairly well. A voltage sensor was installed, so you know when you need to return for a charge. The robot can tell the room temperature, light levels and verify how many relays are active. There is also an IR sensor underneth for helping detect obsticals and when finished, finding it's charging station. Next to the IR sensor underneth is a LED sized receiver. When pointed at the charging station it turns on an input on the phidget board.
The web cam has been mounted with 2 DOF on the top of the robots arm. Since “a robot without lasers is not a robot,” I added 1 LED laser pointer and placed it next to the webcam. This laser has proven very entertaining; my cat likes to chase the red dot around the room. I also put a multi-colored LED in the base of the robot to help convey miscellaneous information. Should the power go out and a little light is needed, 4 high intensity LEDs have been placed on the front 1/3 of the robot, 2 white and 2 blue.
In order to maximize battery life, I added a few relays to turn the robot’s main batteries on and off. By keeping the laptop in hibernate mode while not in use I can go for very long periods between charges. Currently the laptop batteries do not last nearly as long as the batteries for the motors and laser do, only a few hours.
To ensure this robot did not have a problem fetching me a reasonable beer, I used two NPC right angle gear head motors. These motors can handle a pay load of up to 50 lbs each and have a stall rating of 325lbs. They run at 12 to 24 volts and can draw up to 80 amps. Since driving them that fast in the house would likely have a negative result, I decided to cap the voltage and amps, they are only provided 12 volts at 40 amps max. Its top speed was still too much and had to be limited through software. The Bane Bot motor controllers wired to a Phidget Servo board work really well, just be sure not to pull power from the servo board. With this setup I am certain I ought to be able to get a decent amount of beer each trip, as well as have a little fun with my cat along the way. After getting a little farther with the robot I managed to add 2 linear servos from ServoCity. They were mounted with some T-slot framing. This has made for a really good strong arm with some reasonable precision. Unfortunently those servos were very exspensive and I had to go cheap on the gripper. The gripper is enough to lift a bottle of beer but not safely. The last attempt made it to the carpet before falling and thankfully did not break. When possible I will upgrade the gripper next and hopefully with a wrist so it might even poor a beer too.
Current Opportunities
I am still working out the software as it relates to the drive train. Currently there is need to compensate while driving straight forward and more trim options are needed, however in reverse it drives perfectly straight. It does accelerate smoothly if you start in the middle of the control and move the mouse away to increase the speed. This is a little sensitive but does get the job done. I also plan to replace the drive system with a Phidget Stepper board along with appropriate motors, in order to simplify navigation.
Future Prospects
My next priority is to build a charging station so the robot can charge itself as needed. Later I intend to replace the laptop with a micro sized PC and setup an alternate power system for it.
Comments:
This is my first attempt at building a robot and has been a lot of fun so far. My only suggestion for anyone starting their first robot is: if you’re not sure about something, research it or ask someone about it until you are. Also, if you buy any used motors that might have been used in a battle-bot, don’t expect 100% smooth operation.