Sideway motion

I noticed that some robots can move sideways. I tried to connect motors to different slots in the brain. However, Using the joysticks, our robot can only move forward and backwards but not sideways.
Is there a programming strategy that I need to use?

You need to add a wheel in the center, and power it with a motor to move your robot sideways. Try looking up H-Drive for some ideas if you want to design a mechanism similar to this.

1 Like

Only certain types of drive trains can move sideways. I suggest you look up “H drive” “X drive” and “mecanum drive”

1 Like

file-MkdCzDcDoX hqdefault
Refer to these images


I would recommend h drive over mecanum or x drive, they can be annoying to code.

Thank you for your ideas. We already completed the design. However, we want to be able to control the H motor (the one in the middle) by using the same joysticks that control the drivetrain. We keep connecting that motor to different slots, but we cannot control it by moving the joysticks to the left or right.
Do I have to control the motor with another button?

You will likely have to write your own program to get the behavior exactly how you’d like it.

Well, most of the teams that can move sideways have a extra omni-wheel attached, or they will use mecanum drive.

Have you tried using a different axis. The controller tells you which axis is which, try using a horizontal axis to program it.

If you are using the the joystick, I would recommend that you DON’T the same joystick to control both the drivetrain and the strafe motor. Since the joysticks are can move in any direction it will be easy for unintended movement.

Probably the best is to use the left joystick as an arcade drive, and use the front top left and front top right to strafe. Or you can use the side to side of the right joystick to strafe.


One of my teams has this and they use the Joysticks to move Fwd/Bkd in “tank” mode, then use BOTH joysticks to do the side to side motion. (Turns out there are both left and right handed drivers that have a preference)


Using the default driver program, the joysticks will only run the drive motors on ports 1,6,7, & 12.

You could connect the H motor to 4,5,10 or 11 and used the default program and buttons on the controller.

Your other option is to write your own program.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.