A robot controller for controlling an end portion of a multi-degree-of-freedom robot, comprising:
- a first control interface which is positioned at a first position around the robot end portion and receives a first control input for at least four directions;
- a second control interface which is positioned at a second position around the robot end portion and receives a second control input for at least four directions;
- and
- an encoder which interprets the combination of the first and second control inputs as a third control input about the robot end portion and provides the robot with a signal according to the third control input,
- wherein the first control interface and the second control interface are disposed at the positions opposite each other,
- wherein, in the 3-dimensional space expressed in terms of x-, y-, and z-axis, when the first and the second control inputs are inputs of the same direction on the same axis, the encoder interprets the control inputs as a translational motion along the input direction to prevent the robot end portion from moving along a direction other than the input direction due to a force applied by a user, and
- wherein, in the 3-dimensional space expressed in terms of x-, y-, and z-axis, when the first and the second control inputs are inputs of the opposite direction to each other on the same axis, the encoder interprets the control inputs as a rotational motion about the axis orthogonal to the same axis.