A robot having a body, limbs extended from the body, and a control system for controlling the motion of the robot and configured to perform a task by moving the limbs,
- wherein the control system includes:
- a first arithmetic processing element configured
- to perform successively a first extension process by
- defining a new first point sequence by adding a new first point to a previous first point sequence disposed distant from each other in a model space representing a real space, and
- generating a new first line segment represented by a first set of basis functions which use the new first point sequence as control points,
- the first line segment presently generated being generated by
- calculating with the first set of basis functions, a first extension line segment that extends from a first line segment previously generated but does not include the new first point, and extending the first line segment previously generated by connecting the first extension line segment to an end of the first line segment previously generated, and to perform a second extension process by
- defining a new second point sequence by adding a new second point to a previous second point sequence disposed distant from each other in the model space, and
- generating a new second line segment represented by a second set of basis functions which use the new second point sequence as control points,
- the new second line segment presently generated being generated by
- calculating, with the second set of basis functions, a second extension line segment that extends from a second line segment previously generated but does not include the new second point, and extending the second line segment previously generated by connecting the second extension line segment to an end of the second line segment previously generated, and
- a second arithmetic processing element configured to perform a connection process by
- defining a third point sequence by adding a third point to the first point sequence presently generated and the second point sequence presently generated at a position between the first point sequence and the second point sequence, and
- generating a desired position trajectory represented by a third set of basis functions which use the third point sequence as control points, the desired position trajectory being generated by
- calculating a connection line segment from the third set of basis functions to connect the first line segment presently generated with the second line segment presently generated, and
- connecting the connection line segment to the first line segment presently generated and the second line segment presently generated;
- wherein the second arithmetic processing element is configured to determine whether the connection line segment satisfies a specified condition including that the connection line segment is outside an object region, which represents an object in the real space, in the model space,
- the first arithmetic processing element is configured to perform at least one of the first extension process and the second extension process until the second arithmetic processing element determines the connection line segment satisfies the specified condition, and
- the control system controls the motion of the controlled object so as to displace the controlled object or a specified portion thereof according to the desired position trajectory.