Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by Steve G!

Proportional Steering On A 2 Wheeled Bot

I have a 2 wheeled robot that I've built just to play with the EZB and software, the 2 wheels are driven by the continuous rotation servos supplied in the developers kit and using the continuous servo Movement Panel for control.

Is it possible to move the robot forward and to the right or left at the same time?
for instance, I'm driving forward using the keypad or my Logitech joystick and I want to move slightly to the right. as it is now, I have to stop, move a little to the right and then continue moving forward.
I guess what I'm looking for is to control it more like you would a R/C car full speed forward and steer left or right.

I've looked through the Tutorials, read the instructions and searched the forum but I'm either posing my question wrong or overlooking the obvious.
Or is this something that can only be achieved using an Hbridge and dc motors?

AI Support Bot
Related Content
Synthiam
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
United Kingdom
#1  
From the sounds of it, basicly what you want your robot to do is turn while moving, so you would need to either slow down or speed up one of the continuous rotating servos to cause the turning action while moving. So for this you would need two PWM speed controllers, one for each servo/wheel. You could add a mobile control interface in ARC and add two slider controls which would control the speed of each servo independently. Then script your joystick to the mobile control sliders. Bearing in mind your joystick would need to be able to do variable control (the harder or further you press the joystick, the faster the servos would rotate) as not all joysticks support this.

Of course another way is to add a third wheel to the robot and a 180 degree servo which would act as your "steering" wheel which would allow it to move forward/reverse and steer at the same time. This would be more like an R/C car setup you mentioned. But of course this would depend on the build design of your robot.

But for a two wheeled bot, I'd personally prefer differentual (tank style) steering, which it sounds like you're already using.

Hope that helps a little.
#2  
I won't have time to confirm this until Sunday (busy few days coming up), but I believe the "Continuous Rotation Speed Ramp Demo" on EZ-Cloud as well as adding speed ramping to continuous rotation servos (so the further you push the joystick, the faster it goes) by default also gives proportional steering just do to the fact that as you start a turn, the turn side wheel will start to ramp down in speed before stopping and reversing.

My little box bot became much more drivable when I incorporated the components of the demo project.

Alan
#3  
Install a third castor wheel with a servo controlling the castor wheel... Use the 2 continuous rotating servos as propulsion only and steer using the servo on the castor wheel... This it will allow your bot to steer like a car using the servo and castor like a rudder...
#4  
Hi Richard,

Can a Movement Panel still be used for the steering, or does a script need to be written. My question leads toward a voice command steering.

Ron
#5  
You can use a custom Movement Panel that has scripts for each direction. @Steve G did similar with his K9 although his steering wheel is in the front and he was using an H-bridge for the drive wheels, but the concept should be the same.

Alan
#6  
Hi Alan,

You mean I can use a servo pad for proportional steering, (teach mode) add a recorder and play back as a basic navigation program. I would incorporate a ping for avoidance and maybe the camera for glyph id for true reference?

Ron
#7  
That's not what I mean, but I guess it would work.

The custom Movement Panel is a movement oanel that executes scripts for each direction, so using variables that keep track of whether you werw going forward or backward, you could script left and right to continue moving in the lastt direction, but also move your steering servo, and make it propotional to how far or long you hold the stick in that position.

Alan
United Kingdom
#9  
@oldsourkraut.

As Alan mentioned, I did a similar setup to what your looking to do but using a separate wheel for steering. If you went for the third wheel option I mentioned in my first post you would have two options to use. With a custom Movement Panel you could, 1) have the front wheel turn on its own without the robot moving, or 2) have the front wheel turn and also have the drive wheels moving forwards/reverse. Is having three wheels an option on your robot? Using two continuious rotation servos should be much the same as two DC motors and a H-bridge so there's not much point changing one out for the other. Just to clarify on the joystick you have, does it have two directional control sticks or one?

@Richard.

I already said about using a third wheel and servo in my first post, second paragraph.;)

@ANDY ROID

Once you have scripts set up for the steering in a custom movement panel, you can use the same ones in the voice recognition control either by coping the scripts or using a control command. Then you could either wright a script to turn the steering to a certian position, or have many scripts to turn 10, 30, 50, 75 degrees ect. It really depends on what you want to do, but it's all possible using voice commands.:)
#10  
@Steve G

My plan is to change to a tracked vehicle in the future so a third wheel won't help there but it has gotten me to think outside the box. Thanks!

What I envisioned was having one track slow down but not stop to initiate a gradual turn, more like a Bobcat or skidsteer loader.

What I'm seeing is that I need to dig deeper into scripting to gain the most out of the EZB.