2.2.1. Picture Number Estimation Function
In each iteration of the algorithm, the camera moves to a new node with location , and the algorithm evaluates the number of pictures needed at this location. The node is then set to be explored and saved in a set Each node that has been explored in iterations is one-on-one paired with the values: location, and picture numbers of that node. All pairs that are expressed as : ( ) are saved in a hash map . Then is used to develop an estimation function that can estimate the number of pictures needed for the rest unexplored nodes. The estimated picture number calculated for all nodes in space is denoted as . Expressions of any element in are:
For any node index
in the Total Node Set:
, where
is the total number of nodes.
where
is a positive constant parameter
Equation (1) is a weighted function concerning each explored node. If one explored node is closer to the node , its picture number has a larger weight (effect) on the estimation of . Thus, a minus sign of is utilized to indicate the negative correlation between the Euclidean distance and weight.
Equation (1) shows that at least some initial nodes are required to be explored before their values can be used to estimate the picture numbers in other nodes. For the estimation function to work properly by covering all nodes in the camera operational space, four initial nodes are selected in the following steps:
Find the first two nodes on the boundary of operational space so that the Euclidean distance between these two nodes is the largest.
Select other two nodes whose connection line is perpendicular to the previous connection line and the Euclidean distance between these two nodes is also the largest among all possible node pairs.
Move the camera to those four nodes in space with proper orientation. Take a single image at each location and estimate the number of pictures required at those locations. And save all four nodes in and their values in
Figure 2b shows the selection of four initial nodes in a camera operational space and shows an example of the use of the estimation function to estimate the picture number in one node.
2.2.3. Stochastic Modified Evaluation
For all nodes in we set up a hash map . For each node, its location and number of required pictures for that node are given as: : ( ). The number of pictures required for nodes in are calculated from the estimation function in Equation (1).
The algorithm tends to select nodes located around the explored node that has the minimum number of pictures because, from Equation (1), those nodes tend to have the smallest estimated number of pictures. However, this process does not guarantee reaching the global minimum, therefore, minimizing the number of pictures. To sufficiently explore unknown nodes as well as exploit information from already explored nodes, a stochastic process is introduced to modify the picture number estimation function given in Equation (1).
Assume when the locations of a camera in space deviate with a smaller amount from each other, the difference of real picture number values at those locations is also smaller. Thus, among all unexplored nodes, the estimated picture number of an unexplored node, which is closer to the explored node, is more deterministic. To emphasize this feature, we make the estimated picture number follow a normal distribution with a mean
being equal to the value from Equation (1) and a standard deviation
. As an unexplored node is further away from explored nodes, the larger value of
should be assumed, which means more indeterministic estimation (illustrated in
Figure 4). The following equations summarize the above discussion:
For any nodes
in
its picture number estimation should follow the following normal distributions:
where
is the probability of a random variable
at
.
is the estimated value from Equation (1) of
is a constant parameter, and
is the smallest Euclidean distance among distances between that node and explored nodes.
As discussed above, the algorithm ensures that the camera at any iteration, always has enough energy to move back to the previous best node
. Therefore, a new distribution can be generated, which sets values bigger than the minimum (
) in the original distribution to be the minimum value. Then Equations (11) to (13) are modified with a new random variable
and its expectations as follows:
where
is the stochastic modified estimated value for the node
.
Then a new hash map
is set up with pairs as
: (
). The next target node to be explored is the one that has the smallest modified estimated value in the map:
> ) to differentiate possibility distributions. This approach distinguishes nodes that have the same estimations from equation (1) to have different likelihood to be explored in the next iteration.
2.2.4. Estimated Energy Cost Function
As discussed above, an estimated energy cost function calculates the estimated energy cost from . This function is used to find feasible node set and explorable node set . In this section, the equations for the cost function are derived from the robot positioning-controlled system’s response. Also, trade-offs between energy cost and settling time of moving are discussed.
The energy of moving the camera between two locations from
to
, results from the energy cost of DC motors in 6 DOFs robot arm’s each joint rotating from joint angles
to
. Therefore,
can be described as the sum of the time integration of rotational power in each joint. That is:
where
is the voltage and
is the current in the DC motor’s circuit of the
joint.
and
are initial time and final time of the
joint moving from its initial angle
to its final angle
.
Without detailed derivation, the dynamic model of a 6dofs revolutionary robotic manipulator and DC motors can be expressed as [
20]:
where Equations (20) and (21) express the
joint dynamics equation.
is the joint revolute variable.
represent the moment of inertia of the motor, and the gear of the model.
is gear ratio at
joint, and
is the damping effect of the gear.
represents the entry of inertial matrix of the robot manipulator at
row and
column.
is Christoffel symbols and for a fixed
, with
. And
is the derivative of potential energy
V with respective to
joint variance.
is the torque constant in
is the back emf constant, and
R is Armature Resistance.
Take
as the actuator input to the dynamic system (20) measured at
joint from a designed controller. Therefore,
equals to the right-side of Equation (20). That is:
In addition, without derivation, the expression of current in the Laplace domain [
20] is:
where
L is armature inductance
is back emf constant, and
is the convolutional multiplication. Therefore, the instant current in the time domain
is a function of the instant voltage
and the instant angle
Various controller designs, such as PID controller [
21], and Youla controller [
22], of six DoFs revolute robotic manipulators have been well developed in many papers. In this paper, we use a previous Youla controller design [
22] with feedback linearization (
Figure 5) as the position controller of the robot manipulator that holds the camera.
From
Figure 5, the actuator input
can be derived from a virtual input
so that:
where M, and H are nonlinear functions of
, and
, the first derivative of
Without showing the controller development in this paper, the 1 DoF controller transfer function
and 1 DoF nominal plant
with
as the virtual actuator input in the feedback linearization are expressed as follows:
where
is a constant parameter in the controller design.
Then the following transfer functions can be calculated as:
By taking inverse Laplace transform, and
as a step input, the following equations in the time domain are:
With expressions of
and
, Equations (24) and (28) shows that:
And combine Equations (27) and (37):
where F, and G are nonlinear functions of
.
It has been shown so far that the estimated energy cost from location to is a function of and .
Development of Equations (34) to (36) assumes that the target angle of each joint
is a step input. A more realistic assumption is to set
as a delayed input.
where
is a time constant that measures the time delay of the target in the real positioning control.
, and when
, it indicates no delay exists in the input.
The Laplace form of (42) is:
With new expression of
, Equation (34) to (36) can be developed as:
A simulation scenario is set up to calculate how estimated energy cost changes with varying
Set
, and
and use the equations above.
Figure 6 shows the response of one angle
with varying
and
Table 1 presents the estimated energy cost:
and settling time:
with varying
Table 1 clearly shows a tradeoff between the estimated energy cost and settling time; reducing the energy cost of moving the camera inevitably increases the response time. This finding matches the results in
Figure 6.
If the delay of input is given or can be measured, the estimated energy cost can be calculated through the process in this section. However, if the value is unknown, the delay constant must be chosen and decided based on the following criteria:
Select small for a conservative algorithm that searches a small area but ensures it ends up with the minimum that has been explored.
Select large for an aggressive algorithm that searches a large area but risks not ending up at the minimum that has been explored.
In this section, the estimated energy cost function is well developed. The parameter values of motors and gears used in the simulations are summarized in
Appendix Table A4.