Gbot- A DIY Pi-Rover @Raspberry_Pi #piday #raspberrypi

NewImage

Meet Gbot, a DIY Pi-Rover. via emotep

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.

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).

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).

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.

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 etc, engine room controls movement and gps , and targeting is of course the turret

NewImage

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 177×144 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.

Read More


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.