# Remote Control Relative to Driver

Is it possible to remote control a 'robot' relative to the driver with an angle sensor (or any other sensor)? For example, if the robot starts in this position

--------------
|    Front   |
|  --------  |
| |________| |     [robot]
|    Back    |
--------------


and the joystick is in this configuration

--------------
|  Forwards  |
| [joystick] |
|  Backwards |
--------------


then if the robot turns around,

--------------
|    Back    |
|  --------  |
| |________| |     [robot]
|    Front   |
--------------


pushing the controller forwards will still make the robot go forward

--------------
|      ^     |
| [joystick] |
|  Backwards |
--------------

--------------
|      ^     |
|  --------  |
| |________| |     [robot]
|    Front   |
--------------


even though from the robot's POV, he's going backwards.

Any ideas/solutions?

Sure, as along as you can measure orientation (compass, GPS, whatever). Remember the initial orientation and then before figuring out the direction to command the robot, you just need to rotate the coordinates. So if the joystick (DRIVER) and robot are aligned to start (initial offset 0) and then the robot is pointing, say at 90 degrees, and you command the robot to move in the 180 direction FROM THE DRIVER PERSPECTIVE, you take the 180 minus the current orientation of the robot (90) and issue a command for the robot to move in the 90 degree direction IN IT'S OWN ROTATED COORDINATE SYSTEM.

So robot command is driver coordinate command direction minus current robot direction relative to the driver coordinate (which was stored at initiation). Just add one more factor if the robot and driver aren't initially aligned.