Control method, control apparatus, image capturing apparatus, and computer readable storage medium
Provided is a program for causing a computer to function as a control apparatus which controls m+n control circuits. The program causes the computer to perform: acquiring position information from m+n position sensors, acquiring a target posture information with degrees of freedom components associated with a movement or a rotation of a movable member, deriving correction information indicating a corrective component for correcting misalignments of target positions of the movable member due to at least one of n degrees of freedom components based on at least one value of m+n values indicated in the position information, deriving m+n target positions of the movable member based on m degrees of freedom components indicated in the target posture information, the corrective component indicated in the correction information, and a set of coefficients, and outputting target position information indicating the target positions of the movable member to the m+n control circuits.
1 . A control method for controlling m+n (m and n are positive integers) control circuits each of which independently controls each of m+n driving sources moving or rotating a movable member with m degrees of freedom, the control method comprising:
acquiring respective position information indicating a position of the movable member from each of m+n position sensors which are provided at different positions relative to the movable member and detect a position of the movable member;
acquiring target posture information indicating a target posture of the movable member with m degrees of freedom components associated with a movement or a rotation of the movable member;
deriving correction information indicating a corrective component for correcting misalignments of m+n target positions of the movable member caused due to at least one of n degrees of freedom components other than m degrees of freedom associated with a movement or a rotation of the movable member, based on at least one value of m+n values corresponding to positions of the movable member indicated in the respective position information;
deriving m+n target positions of the movable member for the m+n control circuits, based on m degrees of freedom components indicated in the target posture information, the corrective component indicated in the correction information, and a set of coefficients predefined according to positions of the movable member to be applied to the corrective component; and
outputting respective target position information indicating each of the target positions to each of the m+n control circuits to bring the movable member into a target posture.
2 . The control method according to claim 1 , wherein
the m+n control circuits include s control circuits which control each of s driving sources moving or rotating the movable member in a specific drive range, and m+n−s control circuits which control each of m+n−s driving sources moving or rotating at least the movable member in other drive ranges outside the specific drive range, and
deriving the target positions includes using a set of coefficients which would derive s target positions of the movable member for the s control circuits, without being based on m+n−s pieces of position information indicating positions of the movable member as detected by each of the position sensors utilized by the m+n−s control circuits to control the respective driving sources when the movable member is located within the specific drive range, as the set of coefficients predefined.
3 . The control method according to claim 1 , wherein
the m+n control circuits include a first control circuit which controls a first driving source moving or rotating the movable member in a first drive range, and a second control circuit which controls a second driving source moving or rotating the movable member in a second drive range whose drive range overlaps in a first overlapping range which is part of the first drive range,
the acquiring the respective position information includes acquiring first position information indicating positions of the movable member as detected by a first position sensor utilized by the first control circuit to control the first driving source, and second position information indicating positions of the movable member as detected by a second position sensor utilized by the second control circuit to control the second driving source, and
the deriving the m+n target positions includes deriving a first target position for the first control circuit and a second target position for the second control circuit, based on the set of coefficients according to positions of the movable member which is based on the target posture, the corrective component, and at least one of the first position information or the second position information.
4 . The control method according to claim 3 , wherein the deriving the first target position and the second target position includes:
using a first set of coefficients with which the second target position would approach positions of the movable member detected by the second position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located outside the first overlapping range within the first drive range, as the set of coefficients,
using a second set of coefficients with which the first target position would approach positions of the movable member detected by the first position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located outside the first overlapping range within the second drive range, as the set of coefficients, and
using a set of coefficients of variation according to a predefined function which is based on the first position information and the second position information when the movable member is located within the first overlapping range, as the set of coefficients.
5 . The control method according to claim 4 , wherein
the set of coefficients of variation is the same as the first set of coefficients when the movable member exists at a boundary position between a range outside the first overlapping range and the first overlapping range within the first drive range, and
the set of coefficients of variation is the same as the second set of coefficients when the movable member exists at a boundary position between a range outside the first overlapping range and the first overlapping range within the second drive range.
6 . The control method according to claim 3 , wherein
the m+n control circuits further include a third control circuit which controls a third driving source moving or rotating the movable member in a third drive range whose drive range overlaps in a second overlapping range which is part of the second drive range,
the acquiring the respective position information includes acquiring third position information indicating positions of the movable member as detected by a third position sensor utilized by the third control circuit to control the third driving source, and
the deriving the m+n target positions includes deriving the first target position for the first control circuit, the second target position for the second control circuit, and a third target position for the third control circuit, based on the set of coefficients according to positions of the movable member which is based on the target posture, the corrective component, and at least one of the first position information, the second position information, or the third position information.
7 . The control method according to claim 6 , wherein the deriving the first target position, the second target position, and the third target position includes:
using a first set of coefficients with which the second target position would approach positions of the movable member detected by the second position sensor and the third target position would approach positions of the movable member detected by the third position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located outside the first overlapping range within the first drive range, as the set of coefficients,
using a second set of coefficients with which the first target position would approach positions of the movable member detected by the first position sensor and the third target position would approach positions of the movable member detected by the third position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located outside the first overlapping range within the second drive range and outside the second overlapping range, as the set of coefficients,
using a third set of coefficients with which the first target position would approach positions of the movable member detected by the first position sensor and the second target position would approach positions of the movable member detected by the second position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located outside the second overlapping range within the third drive range, as the set of coefficients, and
using a set of coefficients of variation according to a predefined function which is based on the first position information, the second position information, and the third position information when the movable member is located within the first overlapping range or within the second overlapping range, as the set of coefficients.
8 . The control method according to claim 7 , wherein
the set of coefficients of variation is the same as the first set of coefficients when the movable member exists at a boundary position between a range outside the first overlapping range and the first overlapping range within the first drive range,
the set of coefficients of variation is the same as the second set of coefficients when the movable member exists at a boundary position between a range outside the first overlapping range and the first overlapping range within the second drive range, or a boundary position between a range outside the second overlapping range and the second overlapping range within the second drive range, and
the set of coefficients of variation is the same as the third set of coefficients when the movable member exists at a boundary position between a range outside the second overlapping range and the second overlapping range within the third drive range.
9 . The control method according to claim 1 , wherein
the m+n control circuits include a first control circuit which controls a first driving source moving or rotating the movable member in a first drive range, a second control circuit which controls a second driving source moving or rotating the movable member in a second drive range, and a third control circuit which controls a third driving source moving or rotating the movable member in a third drive range, wherein the first drive range and the second drive range overlap in a first overlapping range, the first drive range, the second drive range, and the third drive range overlap in a second overlapping range, the second drive range and the third drive range overlap in a third overlapping range, and the first overlapping range, the second overlapping range, and the third overlapping range do not overlap one another,
the acquiring the respective position information includes acquiring first position information indicating positions of the movable member as detected by a first position sensor utilized by the first control circuit to control the first driving source, second position information indicating positions of the movable member as detected by a second position sensor utilized by the second control circuit to control the second driving source, and third position information indicating positions of the movable member as detected by a third position sensor utilized by the third control circuit to control the third driving source, and
the deriving the m+n target positions includes deriving a first target position for the first control circuit, a second target position for the second control circuit, and a third target position for the third control circuit, based on a set of coefficients according to positions of the movable member which is based on the target posture, the corrective component, and at least one of the first position information, the second position information, or the third position information.
10 . The control method according to claim 9 , wherein the deriving the first target position, the second target position and the third target position includes:
using a first set of coefficients with which the third target position would approach positions of the movable member detected by the third position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located within the first overlapping range, as the set of coefficients,
using a second set of coefficients with which the first target position would approach positions of the movable member detected by the first position sensor as the movable member approaches positions of the movable member which correspond to the target posture when the movable member is located within the third overlapping range, as the set of coefficients, and
using a set of coefficients of variation according to a predefined function which is based on the first position information, the second position information, and the third position information when the movable member is located within the second overlapping range, as the set of coefficients.
11 . The control method according to claim 10 , wherein
the set of coefficients of variation is the same as the first set of coefficients when the movable member exists at a boundary position between the first overlapping range and the second overlapping range, and
the set of coefficients of variation is the same as the second set of coefficients when the movable member exists at a boundary position between the second overlapping range and the third overlapping range.
12 . The control method according to claim 1 , wherein the corrective component includes a corrective component for each of n degrees of freedom components.
13 . The control method according to claim 12 , wherein the deriving the correction information includes deriving the correction information according to an algorithm defined by (m+n)×(m+n) matrix having m+n values corresponding to positions of the movable member indicated in the respective position information as variables.
14 . The control method according to claim 1 , wherein:
each of the m+n driving sources is an electromagnetic actuator;
each of the m+n position sensors is a magnetic sensor; and
each of the m+n control circuits independently controls each of m+n electromagnetic actuators by a PID control based on the respective target positions.
15 . The control method according to claim 1 , wherein:
m is 1 and n is an integer of 1 or higher; and
by driving of the m+n driving sources, the movable member moves along a first direction.
16 . The control method according to claim 1 , wherein:
m is 3 and n is an integer of 1 or higher; and
by driving of the m+n driving sources, the movable member moves along a first direction and a second direction and rotates on a first rotational axis intersecting with a plane along the first direction and the second direction.
17 . The control method according to claim 1 , wherein:
m is 3 and n is an integer of 1 or higher; and
by driving of the m+n driving sources, the movable member moves along a first direction and rotates on each of a first rotational axis and a second rotational axis along a plane intersecting with the first direction.
18 . A control apparatus which controls m+n (m and n are positive integers) control circuits each of which independently controls each of m+n driving sources moving or rotating a movable member with m degrees of freedom, the control apparatus comprising at least one processor configured to:
acquire respective position information indicating a position of the movable member from each of m+n position sensors which are provided at different positions relative to the movable member and detect a position of the movable member;
acquire target posture information indicating a target posture of the movable member with m degrees of freedom components associated with a movement or a rotation of the movable member;
derive correction information indicating a corrective component for correcting misalignments of m+n target positions of the movable member caused due to at least one of n degrees of freedom components other than m degrees of freedom associated with a movement or a rotation of the movable member, based on at least one value of m+n values corresponding to positions of the movable member indicated in the respective position information;
derive m+n target positions of the movable member for the m+n control circuits, based on m degrees of freedom components indicated in the target posture information, the corrective component indicated in the correction information, and a set of coefficients predefined according to positions of the movable member to be applied to the corrective component; and
output respective target position information indicating the respective target positions to each of the m+n control circuits to bring the movable member into a target posture.
19 . An image capturing apparatus, comprising:
the control apparatus according to claim 18 ;
an image capturing element,
an optical system for imaging an object on an image capturing plane of the image capturing element;
the m+n driving sources; and
the m+n position sensors, wherein
the movable member is the image capturing element or the optical system.
20 . A non-transitory computer readable storage medium having stored thereon a program for causing a computer to function as a control apparatus which controls m+n (m and n are positive integers) control circuits each of which independently controls each of m+n driving sources moving or rotating a movable member with m degrees of freedom, the program causing the computer to perform:
acquiring respective position information indicating a position of the movable member from each of m+n position sensors which are provided at different positions relative to the movable member and detect a position of the movable member;
acquiring target posture information indicating a target posture of the movable member with m degrees of freedom components associated with a movement or a rotation of the movable member;
deriving correction information indicating a corrective component for correcting misalignments of m+n target positions of the movable member caused due to at least one of n degrees of freedom components other than m degrees of freedom associated with a movement or a rotation of the movable member, based on at least one value of m+n values corresponding to positions of the movable member indicated in the respective position information
deriving m+n target positions of the movable member for the m+n control circuits, based on m degrees of freedom components indicated in the target posture information, the corrective component indicated in the correction information, and a set of coefficients predefined according to positions of the movable member to be applied to the corrective component; and
outputting respective target position information indicating the respective target positions to each of the m+n control circuits to bring the movable member into a target posture.