element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Blog Gbot 1.1(GhettoBot) DIY Ki-Rover
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Former Member
  • Date Created: 10 Jan 2014 5:40 AM Date Created
  • Views 1956 views
  • Likes 2 likes
  • Comments 4 comments
Related
Recommended
  • pathfinding
  • raspberry
  • ray4510
  • python
  • rover
  • dyi
  • robot
  • gbot
  • emotep
  • ray
  • rpi
  • louisville
  • ghettobot
  • raypandigital
  • pygame
  • smith

Gbot 1.1(GhettoBot) DIY Ki-Rover

Former Member
Former Member
10 Jan 2014

I grabbed one of the first RPI's just as the model B became available, Now it's powering my own rover! There are some challenges with video, but overall it's a fun build and is still getting better every day.

image

Gbot  has 4 cameras total, one mounted on a Dream cheeky missile launcher turret for 270 degree view, One mounted on the nose( shown in lower images) and 2 in the Xbox Kinect; one color and one IR. If you don't already know, the Kinect delivers grayscale 3D(depth) via infrared, which makes it easy to do object detection and avoidance. It also has an excellerometer and a mic, and I think some other stuff that I'm not interested in. ( Check it out).

 

 

image

I'm using an old Kyocera cellphone for GPS, and a 4 wheel drive R/C chassis I found at a junk store. The battery is a 12V gell cell(deep cycle) which powers the Kinect directly, and a Duracell usb hub via a car cigarette usb charger which gives out a clean 5V(clean enough).

 

image

I made a patch cable to power the USB hub by splicing the ground and vcc(power) and putting a diode between the RPI and the Cig adapter. That should(SHOULD) prevent feedback current going into the pi, and has worked so far. My first attempt was to disconnect the usb power from the RPI completely, but it seems all my devices require some sort of handshake on voltage.

image

I've written some software to drive it.(Python) I use 3 modules, Bridge.py, Targeting.py and Engine.py.(custom) I could have used instances, but I wanted it to perform as though I was a passenger in one of 3 decks( like on star trek). The information is transponded via sockets, and all commands go through the engine room for processing and management. From the bridge you can toggle camera views ect, engine room controls movement and gps , and targeting is of course the  turret

image

The software, as mentioned is custom. My first serious attempt to write something others might want to use and hack.  On the left, the engine room console. On the lower right, IR depth radar(very cool). just above the radar grid is a front facing view that peals it's way back as the radar scan progresses from bottom(close) to top(far). I also adde some motion targeting(toggled on here) and I'm planning to add audio detection to turn the turret, but Linux doesn't like to listen.

 

Problems: RPI+video processing= FAIL! It works, but it's sadly slow.. On a similar spec'd HP desktop I can drive 3 cameras before It becomes annoying, but on the RPI, one will make you want an arduino, Still, I already know the RPI, so BLAH! I'm tweaking Bridge.py so that all cameras are 177x144 on cv.queryframe(), then if a high res image is requested, it will simply change the query resolution. Also, only one cam will be online at any time, Perhaps 2 if the RPI will eat Kinect IR images and a mini-color image at the same time. If anyone has any better solutions for frame grabs, let me know! I will update the blog with dependencies and such at a later date.

The next step for me is to build/buy a motor controller. I had planned to just use some transistors to toggle via GPIO, but I want full directional control, and that's getting more confusing than fun.

 

*****UPDATE May 2014

I've made a lot of changes to the overall project. I decided to use the Olinuxino (Olimex a20) for the heavy lifting like the kinect and the webcams. The RPI just wasn't getting it done. The Olimex is where I should have started with SBC's and I highly recommend them. The a20 is so much faster, it's not fair to compare them, and it's only 100$. I also got fed up with the short range of usb wireless and decided to stick a Linksys wrt54g on-board to manage all the networking headaches, then stuck all the tech inside a box. A few custom Ethernet cables later, and Gbot was 100% mobile, and a LAN hotspot!

 

imageimage

image

I was able to build the motor control circuitry, and have already began testing pathfinding and autopilot course correction. It is already making simple object avoidance turns using thresholded peels of the kinect depth imagery, but to get it more precise, I fear I may have to upgrade to stepper motors, which might be better served on a new chassis, I want to at least get this one running outside before I swap out the 'cool' for practical.

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

  • Sign in to reply
  • Former Member
    Former Member over 11 years ago

    New chassis, new armature(robotic Arm Edge), 2 batteries and a Cisco WiFi router! Gbot is nearly 3x the original size, and approaching .5x of where I want to finish.

    image

    image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 11 years ago in reply to DAB

    Yes I plan to play nice with others on this project. The code is hugely sloppy today(pretty much MSbasic in python) but it makes for easy debugging. I'm rewriting it as we speak for performance and will release both versions so noobies don't get thrown into python unarmed like i did. I want v1.2 to rely on a config file and probably a setup program so the tricky concepts are more automated, leaving others to focus on building not coding.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 11 years ago

    I like it.

     

    Are you planning to provide your design and code for others to copy?

    I could see having a lot of fun with a mobile platform like this for some of my projects.

     

    Very cool.

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 11 years ago

    Lol, Gotta love a good typo.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube