A robot , comprising: a multi-tool module , the multi-tool module comprising: a plurality of tools ; and a guide unit for guiding said plurality of tools, wherein said plurality of tools is configured to operate while interacting with the guide unit and wherein said plurality of tools extend from the guide unit at least during operation; and a controller configured to generate a control signal regarding motion of the multi-tool module in a joint space based on motion instruction information regarding distal ends of the plurality of tools in a task space; characterized in that the multi-tool module has redundancy; wherein the redundancy reflects that a number of degrees of freedom of the multi-tool module in the joint space is greater than a number of degrees of freedom of the task space, and wherein the control signal is generated using the redundancy, wherein the controller is configured to calculate an objective function of the robot when the control signal is generated, the objective function being a base in quantitative evaluation of optimization of a system or achievement of the objective, wherein the objective function represents a weighted sum of a plurality of individual objective functions; and wherein the plurality of said individual objective functions includes: - a joint torque square sum, - a reciprocal number 1/d 1 of a distance d 1 between each of the plurality of tools joint positions and a joint limit, and - a reciprocal number 1/d 2 of a distance d 2 between each of the plurality of tools pose and a singular pose in which the plurality of tools cannot be moved to a desired position or orientation. a multi-tool module , the multi-tool module comprising: a plurality of tools ; and a guide unit for guiding said plurality of tools, wherein said plurality of tools is configured to operate while interacting with the guide unit and wherein said plurality of tools extend from the guide unit at least during operation; and a plurality of tools ; and a guide unit for guiding said plurality of tools, wherein said plurality of tools is configured to operate while interacting with the guide unit and wherein said plurality of tools extend from the guide unit at least during operation; and a controller configured to generate a control signal regarding motion of the multi-tool module in a joint space based on motion instruction information regarding distal ends of the plurality of tools in a task space; characterized in that the multi-tool module has redundancy; wherein the redundancy reflects that a number of degrees of freedom of the multi-tool module in the joint space is greater than a number of degrees of freedom of the task space, and wherein the control signal is generated using the redundancy, wherein the controller is configured to calculate an objective function of the robot when the control signal is generated, the objective function being a base in quantitative evaluation of optimization of a system or achievement of the objective, wherein the objective function represents a weighted sum of a plurality of individual objective functions; and wherein the plurality of said individual objective functions includes: - a joint torque square sum, - a reciprocal number 1/d 1 of a distance d 1 between each of the plurality of tools joint positions and a joint limit, and - a reciprocal number 1/d 2 of a distance d 2 between each of the plurality of tools pose and a singular pose in which the plurality of tools cannot be moved to a desired position or orientation. - a joint torque square sum, - a reciprocal number 1/d 1 of a distance d 1 between each of the plurality of tools joint positions and a joint limit, and - a reciprocal number 1/d 2 of a distance d 2 between each of the plurality of tools pose and a singular pose in which the plurality of tools cannot be moved to a desired position or orientation. <EOS>