rc tx

Are there any legged bots which can be controlled by a rc tx?

Here is the issue:

A normal RC transmitter works on sending timed (very short) 5V pulses which servos read and convert to positions. For example if you send a HIGH signal (5V) for 1500us to a servo, it will receive that and using the onboard electronics (located at the bottom of the servo) interpret that as having to move to 0 degrees (considering a servo moves from -90 to +90 degrees). This pulse needs to be repeated continuously every 20ms or else the servo won’t know what to do.

Since a legged robot has at least 12 servos (usually 18 for three degrees of freedom per leg), a single handheld RC unit is not enough, nor can you coordinate your hand motions to make it walk - you need a microcontroller to take care of simultaneously moving and positioning all of the servos. Normally even this is too much for a single microcontroller (like an Arduino) and as such the servo positioning is often taken care of by a separate servo controller (which must also re-send the servo positions every 20ms).

Therefore in order to use a normal RC system with a legged robot, the microcontroller would need to be simultaneously “listening” for all of the servo signals; checking if the signal for each channel is LOW or 5V (HIGH) and as soon as the signal went HIGH, start a timer to see how long the pulse lasted and then stop the timer as soon as it went LOW. This would need be done (all at the same time) for every RC channel you wanted to use. Not only that, the microcontroller would need to be programmed to convert the time per channel into an action.

This is all separate from the code needed to simply make the robot walk. Therefore yes, although it may be possible to use an RC remote to control a legged robot, it takes up a lot of the microcontroller’s programming and is overly complex compared to a simple $24 PS2 wireless solution. It would be comparably easier to do this with a smaller number of servos (say, for a pan/tilt), though it seems redundant since the receiver can control the servos directly.

This having been said, there are still those who have invested the time in creating the code to read RC servo signals to control more complex robots, though this is not something Lynxmotion has done, nor plans to do in the near future.

Hope this helps :slight_smile:

You don’t have to send commands to all 18+ servos from the R/C transmitter. Normally, you’d want to send XY left and XY right joystick commands (and possibly the digital pad), as well as a few single button commands.

So code on the 'bot would have to read the 7 or 8 channels with R/C PWM inputs. Or, they can be combined, and a single “combined” feed can be read and decoded. PCBs available.

Alan KM6VV

There is some code in my Phoenix in parts project up on GitHub, especially the later quad support branch. There is simple rc input code for hitec 6 remote that can be modified for others…