Remote Control Options
Forums:
Hi;
Sanity check and advice please.
For remote control we are currently using a Pi Hut 2.4Ghz Wireless Game Controller.
We have a couple of issues with this method:
(a). Every so often, normally at crucial moments' the connection seems to get lost and either the Robot crashes or stops and cannot be moved, the controller flashes whilst it is trying to get a new connection and the all of a sudden we have control again.
(b). In the Roboteers hints section it says "Controlling your robot over WiFi can only lead to pain" and also suggests "Analog power control is best for controlling your robot in remote control mode, allowing for fine control of your robot. An RC transmitter or game controller are best for this".
So I am guessing, to avoid disappointment on the day, we probably need to switch to full blown RC Transmitter Control (27Mhz). I have a cheap 2 Channel Transmitter that my son bought on eBay and I have a 2 Channel Receiver somewhere (they can be picked up cheap anyway. I just need a matching set or sets of crystals.
Is my thinking correct and any advice on what colour crystals to get?
We then need to find out how to control the Pi using the signals from the RC Receiver?? So any pointers on that would also be appreciated.
Many thanks
piborg
Mon, 02/12/2018 - 13:57
Permalink
Remote controls
This can be a bit of a tricky subject, unfortunately it can also be hard to debug these kind of issues.
One possibility is that the USB dongle for the Pi Hut controller wants a bit too much power from the USB port. If so this could cause the 5V line voltage to dip slightly which may in turn cause this trouble. If that is the case then the problem may be resolved by using a more powerful 5V regulator instead of the 1.5A DC/DC fitted to the ThunderBorg for powering the Raspberry Pi.
Another suggestion would be a Bluetooth based controller. We have used both PS3 and PS4 remotes at these events without any control problems on the day. If you are using a Pi 3 then the on-board Bluetooth works very well for this.
The RC transmitter is definitely the best solution to the problem in theory, the trouble is that there do not seem to be any easy solutions to connecting them up to the Raspberry Pi itself. Decoding the signals relies on reading them at a reliable interval or using another board to do the decoding and connect that to the Pi instead.
JonnyAlpha
Mon, 02/12/2018 - 19:02
Permalink
Thanks for the prompt reply.
Thanks for the prompt reply.
After doing some research today trying to find RC Transmitter solution (which involve using either an Arduino or other bespoke board), the easiest solution appears to be, as you say, BlueTooth using a PS3 or PS4 BlueTooth controller.
I would like to use a proper RC Transmitter but the time I would spend trying to find an make solutions would be better spent on all of the other problems for PiWars challenges such as OpenCV etc.
Someone has a also pointed out Martin O'Hanlon's BluDot Android App and controlling it via an Android Phone.
JonnyAlpha
Tue, 02/13/2018 - 12:21
Permalink
OK I am going to use a PS3 or
OK I am going to use a PS3 or 4 controller for which I can use one of your examples. For testing this morning I am trying to use Martin O'Hanlon's BlueDot. The problem I am now having is BlueDot modules are Python 3 and ThunderBorg is Python 2. I converted all the python 2 print statement in my code but I am now receiving syntax errors from the ThunderBorg Module?? Also how do I prevent having to have the ThunderBorg module in the same directory as my program?
JonnyAlpha
Tue, 02/13/2018 - 12:21
Permalink
Found the python 3 version
Found the python 3 version from this post:
http://forum.piborg.org/node/2523
Tks
Just need to work out the directory issue?
piborg
Tue, 02/13/2018 - 13:11
Permalink
Python import path
Glad to see you found the Python 3 version :)
You can add extra directories to look for imports directly in the script itself. All you need to do is import the sys module and add the required directory before trying to import the script you want like this:
You can add as many extra directories as you want like this.