Open Access

Surmounting obstacles by arm maneuver for unmanned power shovel

ROBOMECH Journal20152:15

DOI: 10.1186/s40648-015-0038-7

Received: 30 June 2015

Accepted: 13 October 2015

Published: 29 October 2015


Large debris created after natural disasters restrict access to inner parts of affected regions, and slows down disaster relief operations. Power shovels are often used to clear wreckage but the process can take a lot of time. Moreover, it is dangerous to involve human workers operating heavy machinery in such unstable conditions. To speedup access to inner areas, obstacles can be surmounted with the assistance of carefully maneuvered power shovel arm, instead of removing them. In this work, an autonomous obstacle surmounting technique for an unmanned power shovel is proposed. Out of different sequences, the one that optimizes the total energy consumption is chosen as the best candidate for surmounting a given step-like obstacle. Dynamic simulation results show the effectiveness of the proposed method.


Power shovel Obstacle surmounting Unmanned Optimization


Each year many countries in the world are challenged by natural disasters such as earthquakes, floods, tsunamis, typhoons and so on. While these disasters can cause loss of life, they also generate large amounts of debris, which further reduces access to inner parts of the affected regions. This results in slowing down of search and rescue missions as well as other disaster relief operations. Power shovels are used in disaster stricken areas to remove wreckage and to clear up roads. Nevertheless, it is a dangerous task to involve human workers to operate such heavy machines in these conditions as there is chance of tip over of these machines due to instability. Moreover, it can take a lot of time to clear up all the obstacles and finally get access to inner areas.

In order to speed up disaster relief operations, large obstacles can be surmounted instead of clearing them. Using crawler wheels, power shovels have the ability to go over objects effectively compared to other vehicles. However, there exists several challenges to obstacle surmounting with power shovels as follows: only the obstacles that are within the climbing limit of the crawler can be overcome; crawler power can be easily saturated; power shovel can tip over and damage itself if not moved skillfully when it is on top of an obstacle; being heavy machines, power shovels are also difficult to get back to the original state at the event of tip over.

To overcome the aforementioned problems, a power shovel can maneuver its arm effectively to assist the obstacle surmount operation. In fact, such arm assistance is being used nowadays to load small power shovels to trucks for transportation. As can be seen on [1], it can be achieved only with great level of skill and competency. Considering this scenario as a starting point, this work presents an autonomous arm maneuver based obstacle surmounting method to overcome a step-like structure for an unmanned power shovel (Fig. 1). Among different maneuver sequences, the best maneuver is chosen based on the minimum total energy consumption. Furthermore, a smooth trajectory of the machine is preferred to avoid any vibrations and jerk exerted on itself and on its surroundings.
Fig. 1

Basic parts of a power shovel. The coordinate frame convention is X forward, Y left and Z up

Previous works on excavators can be found at [25]. Ref. [2] presents a dynamic model for an excavator with the intention of developing an automated excavation control system for terrestrial, lunar, and planetary excavation. The kinematics of excavators having hydraulic actuators are investigated in detail in [3]. Ref. [4] mainly focuses on a system that completely automates the truck loading task. In that system the excavator’s software decides where to dig in the soil, where to dump in the truck, and how to quickly move between these points while detecting and stopping for obstacles. The nature of an excavation process and the way it may be controlled is investigated with the intention of automatic excavation in [5].

Among other related works, an autonomous staircase climbing tracked mobile robot is introduced in [6]. However, it does not use any arms for assistance. Ref. [7] introduces a pilot system for a rescue robot to let a human operator suggest good directions to traverse on a 3D debris environment. In contrast, the proposed system seeks autonomous operation without any human intervention. Ref. [8] has proposed a wheeled robot with a movable center of mass (CoM) to ease the traverse over rough terrain. The proposed system also considers change of CoM, indirectly, by maneuvering its arm; however, the main focus is on getting the reaction force at the bucket as a support to lift the power shovel crawler.

Problem statement

Given a step-like obstacle, the power shovel should maneuver its arm to climb up the obstacle in a smooth trajectory. Also, it should carry out the maneuver in such a way that the total energy consumption is minimized. The whole process is to be automated so that the risk for the human workers is eliminated.


The basic parts of a power shovel are illustrated in Fig. 1; boom, arm and bucket are the main links considered, while each link is attached to the previous link by boom-joint, arm-joint and bucket-joint, respectively. These joints are individually controlled to achieve different poses similar to a serial link robot manipulator. There is a rotating platform, which can rotate around its local z axis (vertical) so that the whole boom-arm-bucket composite can be moved to its front and back, symmetrically. The vehicle stands on a crawler that provides better mobility on unstructured terrain.


In the proposed method the obstacle surmount operation is divided into two stages. In the 1st stage, the bucket is kept at the front of the power shovel and it provides the required reaction force to lift the front of the crawler to climb up the step-like structure; the rear of the crawler maintains contact with the ground level. This is illustrated in Fig. 2a. After the 1st stage is completed, the platform rotates 180° to move the boom-arm-bucket composite to the back of the power shovel to initiate the 2nd stage. Similar to the 1st stage, the bucket provides the required reaction force to lift the rear of the crawler to complete the total surmount operation in the 2nd stage. This is illustrated in Fig. 2b. Throughout 1st and 2nd stages, the bucket maintains fixed ground position either by using friction force [1] or anchored by bucket teeth, which acts as a pivot for stable maneuver; the suitable anchoring method can be chosen depending on the environment.
Fig. 2

Obstacle surmount stages. The power shovel with dotted lines depicts the initial state while the the one with the regular lines depicts the final state for each stage. P1, P2, P3 and αF denote the parameters of the total maneuver. B and E denote bucket and step edge positions respectively


Considering the initial and final poses in each sub-figure of Fig. 2, a suitable trajectory should be generated for the motion of the power shovel. The 1st stage is materialized using a single trajectory (from here onwards, mentioned as sequence 1) while the 2nd stage is further divided into two trajectories (sequence 2–1 and sequence 2–2). To formulate smooth trajectories, the 3D motion of the bottom center position of the crawler \(P_b\) is considered.

Sequence 1

To reduce the jerk caused by the inertia of the heavy power shovel, a 7th order polynomial is used for the time evolution of the x coordinate of \(P_b\). If the time taken for the completion of sequence 1 is \(t_{f_1}\) and the final horizontal distance traveled by the power shovel in that period is \(x_{f_1}\), the following boundary conditions hold for a smooth trajectory, where \(\dot{\{\}}\) denotes velocity, \(\ddot{\{\}}\) denotes acceleration and \(\dddot{\{\}}\) deals with jerk.
$$\begin{aligned} x_1(0)=0;~\dot{x}_1(0)=0;~\ddot{x}_1(0)=0;~\dddot{x}_1(0)=0\end{aligned}$$
$$\begin{aligned} x_1(t_{f_1})=x_{f_1}; ~\dot{x}_1(t_{f_1})=0;~\ddot{x}_1(t_{f_1})=0;~\dddot{x}_1(t_{f_1})=0 \end{aligned}$$
Solving the above boundary conditions yields the following 7th order polynomial and its velocity profile.
$$\begin{aligned} x_1(t)= & {} -20\frac{x_{f_1}}{t^7_{f_1}}t^7+70\frac{x_{f_1}}{t^6_{f_1}}t^6-84\frac{x_{f_1}}{t^5_{f_1}}t^5+35\frac{x_{f_1}}{t^4_{f_1}}t^4 \end{aligned}$$
$$\begin{aligned} \dot{x_1}(t)= & {} -140\frac{x_{f_1}}{t^7_{f_1}}t^6+420\frac{x_{f_1}}{t^6_{f_1}}t^5-420\frac{x_{f_1}}{t^5_{f_1}}t^4+140\frac{x_{f_1}}{t^4_{f_1}}t^3 \end{aligned}$$
The 3D trajectory \(z_1(x)\) can be expressed by a 3rd order polynomial with the following boundary conditions:
$$\begin{aligned} z_1(0)=0;~\left. \frac{dz_1}{dx_1}\right| _{x_1=0}=0\end{aligned}$$
$$\begin{aligned} z_1(x_{f_1})=z_{f_1}; ~\left. \frac{dz_1}{dx_1}\right| _{x_1=x_{f_1}}=0 \end{aligned}$$
Solving the above boundary conditions yields the following 3rd order polynomial for the 3D trajectory of sequence 1:
$$\begin{aligned} z_1(x) = -2\frac{z_{f_1}}{x_{f_1}^3}x^3+3\frac{z_{f_1}}{x_{f_1}^2}x^2 \end{aligned}$$
where \(z_{f_1}\) denotes the final z coordinate of \(P_b\) at the end of sequence 1. For visualization purposes Figs. 3 and 4 portrays the aforementioned profiles for \(t_{f1}=1\), \(x_{f1}=1\) and \(z_{f1}=1\) (the units are omitted). The y coordinate of \(P_b\) remains constant and can be overlooked from analysis.
Fig. 3

Motion profile of \(P_b\) for the 1st sequence. The units are omitted and time spans from 0 to 1 for visualization purposes
Fig. 4

3D trajectory of \(P_b\) for the 1st sequence. The units are omitted and both X and Z span from 0 to 1 for visualization purposes

Sequence 2–1

After the boom-arm-bucket composite is moved to the back of the power shovel by rotating its platform, sequence 2–1 is started. As illustrated in Fig. 5, the power shovel pitches about the edge of the step-like structure until it becomes parallel with the horizontal level. Similar to sequence 1, the time evolution of the x coordinate of \(P_b\) is again chosen to be a 7th order polynomial. Using similar boundary conditions, the following can be obtained:
$$\begin{aligned} x_{21}(t)=-20\frac{\left( x_{f_{21}}-x_{f_1}\right) }{t^7_{f_{21}}}t^7+70\frac{\left( x_{f_{21}}-x_{f_1}\right) }{t^6_{f_{21}}}t^6-84\frac{\left( x_{f_{21}}-x_{f_1}\right) }{t^5_{f_{21}}}t^5+35\frac{\left( x_{f_{21}}-x_{f_1}\right) }{t^4_{f_{21}}}t^4 \end{aligned}$$
where \(x_{f_{21}}\) denotes the final x coordinate of \(P_b\), and \(t_{f_{21}}\) denotes the time duration for sequence 2-1. Considering the constant radius motion about the step-edge pivot, the corresponding 3D trajectory \(z_{21}(x)\) is given by:
$$\begin{aligned} z_{21}(x) = {} \mathrm {step\_height}-\sqrt{r^2 - {(P1-x)}^2} \end{aligned}$$
where r is the radius of pitching of \(P_b\) about the edge and P1 is the initial distance between \(P_b\) and the step-like structure.
Fig. 5

Sequences in stage 2. The meanings of the symbols are as follows. \(xf_1\) is the final x coordinate of \(P_b\) after sequence 1; \(xf_{21}\) is the final x coordinate of \(P_b\) after sequence 2-1; \(xf_{22}\) is the final x coordinate of \(P_b\) after sequence 2–2

Sequence 2–2

In sequence 2–2, the power shovel is moved forward horizontally on the step-like structure until it reaches the desired final location; however, since the boom-arm-bucket is now at the back of the power shovel, this will be seen as moving backward. Using a 7th order polynomial and similar boundary conditions, the time evolution of the x coordinate of \(P_b\) is given by:
$$\begin{aligned} x_{22}(t)=-20\frac{\left( x_{f_{22}}-x_{f_{21}}\right) }{t^7_{f_{22}}}t^7+70\frac{\left( x_{f_{22}}-x_{f_{21}}\right) }{t^6_{f_{22}}}t^6-84\frac{\left( x_{f_{22}}-x_{f_{21}}\right) }{t^5_{f_{22}}}t^5+35\frac{\left( x_{f_{22}}-x_{f_{21}}\right) }{t^4_{f_{22}}}t^4 \end{aligned}$$
where \(x_{f_{22}}\) denotes the final x coordinates of \(P_b\) and \(t_{f_{22}}\) denotes the time duration for sequence 2–2. Considering the constant horizontal motion of the power shovel on top of the step-like structure, the corresponding 3D trajectory \(z_{22}(x)\) is given by:
$$\begin{aligned} z_{22}(x)= {} \mathrm {step\_height} \end{aligned}$$

Joint angle calculation

In order to achieve the required crawler trajectories, the power shovel joints should be controlled appropriately. In contrast to a conventional serial link manipulator operation, it is interesting to note that in this maneuver, the end effector (bucket) remains stationary while the base (crawler) is moving. Furthermore, it can be shown that inverse kinematics can be calculated in closed form. This section describes the procedure for calculating the reference joint angles for each joint.

Considering the power shovel local coordinates, let the boom joint position be \(p_1=[x_1\;z_1]^T\), the bucket joint position be \(p_2=[x_2\;z_2]^T\) and the arm joint position be \(p_3=[x_3\;z_3]^T\) (y coordinate is assumed to be constant throughout the whole maneuver). In both stages, \(p_1\) and \(p_3\) points change with time, while \(p_2\) remains stationary. As given in Fig. 6, the joint angles \(\theta _1\), \(\theta _2\) and \(\theta _3\) represent boom, arm and bucket joint angles, respectively; \(\theta ^*_1\) and \(\theta ^*_2\) serve as auxiliary angles in the calculation process.

Considering \(p_1\text {-}p_2\text {-}p_3\) triangle (Fig. 6), the law of Cosine can be used to calculate the arm joint angle \(\theta _2\) as follows:
$$\begin{aligned} \theta _2(t)=\cos ^{-1}\left( \frac{L_3^2(t)-L_1^2-L_2^2}{2L_1L_2}\right) - \delta _2 \end{aligned}$$
where \(L_1\) is the effective boom length, \(L_2\) is the arm length, \(L_3\) (variable) is the distance between \(p_1\) and \(p_2\), and \(\delta _2\) is a boom-specific angle that can be calculated beforehand. Next, by using the Sine rule on the \(p_1\text {-}p_2\text {-}p_3\) triangle, the boom joint angle \(\theta _1\) can be calculated as follows:
$$\begin{aligned} \theta _1(t)=\sin ^{-1}\left( \frac{L_2\sin (\pi -\theta ^*_2(t))}{L_3(t)}\right) -\psi (t) + \delta _1 \end{aligned}$$
where \(\delta _1\) is, again, a boom-specific angle that can be calculated beforehand (Fig. 6) and \(\psi\) is given as follows:
$$\begin{aligned} \psi (t)=\tan ^{-1}\left( \frac{z_2-z_1}{x_2-x_1}\right) \end{aligned}$$
Finally, the bucket joint angle \(\theta _3\) can be calculated as follows:
$$\begin{aligned} \theta _3(t)=\pi -(\pi /2-\theta ^*_1(t)-\alpha (t))-\theta ^*_2(t) \end{aligned}$$
where \(\alpha\) gives the current (−)pitch angle of the power shovel. It can be shown that the relationships obtained through Eqs. (1215) is valid for both stages; the only difference is due to the rotated platform, which in turn changes the local coordinate frame of the power shovel.
Fig. 6

Joint angle calculation (inverse kinematics). The triangle shown in red is used for trigonometric calculations

Crawler wheel reference speeds

To retain the required trajectory, the ground touching crawler wheels need to maintain certain speed based on the sequence in operation. The reference angular speed of the crawler wheel can be calculated in two steps. First, the velocity of the wheel center position, \(P_c\) (Fig. 5), is calculated based on \(P_b\) position and taking the time derivative of it. Next, by assuming that the wheel undergoes no slippage and maintains perfect rolling, the reference angular speed is calculated using the wheel radius.

Sequence 1

The equations are given as follows:
$$\begin{aligned} \left. \dot{x}\right| _{P_c}(t) = & \,\, \dot{x_{1}(t)}-\mathrm {wheel\_offset}*\dot{\cos (\alpha (t))}-\mathrm {wheel\_raidus}*\dot{\sin (\alpha (t))}\end{aligned}$$
$$\begin{aligned} \omega _{wheel}(t)= & {} \frac{\left. \dot{x}\right| _{P_c}(t)}{\mathrm {wheel\_raidus}} \end{aligned}$$
where the notation \(\dot{\{\}}\) denotes the time derivative, wheel_offset is as given in Fig. 5 and \(\omega _{wheel}\) is the angular speed of the wheel.

Sequence 2–1

In order to pitch about the edge of the step-like structure, the crawler wheels should be locked in this sequence. Therefore, all the wheel reference speeds are set to zero.

Sequence 2–2

In this sequence, the crawler moves horizontally on the step-like structure at a speed equal to that of \(P_b\), which is given by \(\dot{x_{22}(t)}\). Thus, the reference angular velocity of the crawler wheel is given by:
$$\begin{aligned} \omega _{wheel}(t)=\frac{\dot{x_{22}(t)}}{\mathrm {wheel\_raidus}} \end{aligned}$$


Several parameters that can affect the nature of the total obstacle surmount operation can be identified. Not only the power shovel trajectories in different sequences, but also the total energy consumption change depending on these parameters. The upcoming sections provide more details on the parameters and how they can be optimized for optimal energy requirements.


As illustrated in Fig. 2, the parameters are as follows: P1 is the distance between the initial power shovel bottom center (\(P_b\)) and the edge of the step-like structure (E) in the 1st stage; P2 is the distance between the bucket position (B) and E in the 1st stage; P3 is the distance between B and E in the 2nd stage; P4 is the distance between the final \(P_b\) position and E in the 2nd stage; \(\alpha _F\) is the lean angle of the power shovel after the 1st stage. The height of the step-like structure is treated as a known constant, which has been set to the length of the diameter of the crawler wheel, plus the thickness of the crawler plate. In a real scenario, this step height can be obtained using an exteroceptive sensor such as a stereo camera or a LIDAR system. To obtain optimal parameters that minimize the total energy consumption in the complete obstacle surmount operation, sequential quadratic programming (SQP) technique has been used. The parameter P4 was also treated as a constant in order to minimize the computational overhead.

Objective function

Considering the motion of the power shovel, the total mechanical energy consumed in the operation is considered as the objective function, which is given by:
$$\begin{aligned} E_{tot}= & {} \int _{0}^{t_{f_1}+t_{f_{21}}+t_{f_{22}}}\left\{ \sum _{i=1}^{n_1}\left| \tau _{i} {\dot{\theta }_{i}}\right| dt + \sum _{j=1}^{n_{2}}\left| \tau _{j} {\dot{\theta }_{j}}\right| dt\right\} \nonumber \\\approx & {} \sum _{0}^{t_{f_1}+t_{f_{21}}+t_{f_{22}}}\left\{ \sum _{i=1}^{n_{1}}\left| \tau _{i} {\Delta \theta _{i}}\right| + \sum _{j=1}^{n_{2}}\left| \tau _{j} {\Delta \theta _{j}}\right| \right\} \end{aligned}$$
where i denotes boom, arm and bucket joints (\(n_1=3\)) and j denotes the number of drivable crawler wheels (\(n_2=2\)). Energy dissipation due to friction and other complications, especially in a full scale power shovel (with hydraulic actuators), is ignored in this work.


Singular configurations, joint torque limitations and obstacles in the workspace restrict the motion of the power shovel. These limitations can be used as constraints for the optimization problem. The joint torque limitations impose constraints for each joint as given by:
$$\begin{aligned} \left| \tau _i\right| < \tau _{i_{max}} \end{aligned}$$
where i denotes boom, arm and bucket joints. Simple geometry can be used to formulate other SQP constraints for this particular problem as follows:
  • Maximum stretch This linear constraint imposes a maximum length the power shovel can stretch its arm, where D is a power shovel specific constant.
    $$\begin{aligned} P1 + P2 + P3 + P4 \le 2D \end{aligned}$$
    Equation (21) is obtained by adding \(P1 + P2 \le D\) and \(P3 + P4 \le D\) inequalities for the two stages.
  • Singular configurations Once the bucket position (P2 or P3) is decided or fixed, the power shovel should have a valid joint configuration at any given time instance in the trajectory to reach it. Based on intersection of circles having radii equal to effective boom length (Fig. 6) and arm length, the following two nonlinear constraints can be imposed:
    $$\begin{aligned} (x_1-x_2)^2+(z_1-z_2)^2\le (L_1+L_2)^2 \end{aligned}$$
    $$\begin{aligned} (x_1-x_2)^2+(z_1-z_2)^2\ge (L_1-L_2)^2 \end{aligned}$$
    where \(x_1\), \(x_2\), \(z_1\), \(z_2\), \(L_1\) and \(L_2\) are described as in Joint Angle Calculation section. \(\left. x_i\right| _{i=1,2}\) and \(\left. z_i\right| _{i=1,2}\) are derived from \(\left. Pi\right| _{i=1,2,3,4}\) and \(\alpha _F\).
  • Collision The power shovel must not collide with the step-like structure throughout the obstacle surmount operation. Since the end effector (bucket) is fixed, collision is checked between the step-like structure and the crawler of the power shovel.


Dynamic simulations were carried out using Open Dynamics Engine (ODE) [9] together with Robot Operating System (ROS) [10] framework for a miniature power shovel model. Joint torques and joint angles were extracted from ODE engine and fed into the ROS based implementation for optimization. The specifications of the model are tabulated in Table 1 while the parameters used in ODE are tabulated in Table 2.
Table 1

Specifications: miniature power shovel





Crawler mass

4.24 kg

Platform mass

4.53 kg

Boom mass

0.9 kg

Arm mass

0.29 kg

Bucket mass

0.47 kg


Boom effective length

0.359 m

Arm length

0.171 m

Bucket length

0.11 m

Crawler wheel radius

0.033 m

Step height


0.066 m

Table 2

Parameters: ODE



Time step

0.002 s

Friction coefficient



Dantzig’s (dWorldStep)

Constraint force mixing (cfm)


Error reduction (erp)


Exhaustive fast batch simulations

Starting from the lower bounds, first, an exhaustive batch simulation was carried out using the following parameter increment sizes: P1_increment_size = P2_increment_size = P3_increment_size = 0.03 m, \(\alpha _F\)_increment_size = 3.0° to obtain an initial point for the SQP optimization phase. These relatively large increment sizes help to reduce the time taken for this batch simulation. The initial point for the SQP optimization turned out to be P1 = 0.2675 m, P2 = 0.21 m, P3 = 0.4396 m, and \(\alpha _F\) = 16.75° with the energy consumption of 18.658 J.

SQP optimization

SQP optimization was carried using CFSQP [11] with the aforementioned initial point where the parameters are given in Table 3 with usual meanings. Each time step of the trajectory is treated as a sequentially related set in CFSQP context [11]. For each iteration, the objective function value was calculated by ODE. Since the objective function behaves like a black box function, which is the output from ODE, the gradient of the objective function is determined using the finite difference approximation where as the gradients of the constraints are manually implemented. CFSQP resulted in 17.1477 J for the min. energy with the output parameters P1 = 0.2457 m, P2 = 0.2193 m, P3 = 0.4083 m, and \(\alpha _F\) = 16.75°. For these resulting parameters, Figs. 7, 8 and 9 shows snapshots of the total obstacle surmount operation (Additional file 1). The joint trajectories of boom, arm and bucket are depicted in Figs. 10, 11 and 12. The absolute value of joint torques for each joint is shown in Fig. 13. Furthermore, the motion of the center of mass (COM) is plotted in Fig. 14.
Fig. 7

Obstacle surmount sequence 1 (from left to right, the elapsed time is increasing)
Fig. 8

Obstacle surmount sequence 2–1 (after sequence 1, the platform has rotated 180°)
Fig. 9

Obstacle surmount sequence 2–2
Fig. 10

Position and angular velocity of the boom joint. Platform rotation occurs between the 1st stage and the 2nd stage. This is overlooked in this graph and hence shown as a discontinuity

Table 3

Parameters: CFSQP Optimization



Free variables


Objective functions


Iterations max.


Final norm (\(\epsilon\))


Perturbation size (\(\lambda\))


Exhaustive slow batch simulations

To verify the results obtained in the SQP optimization phase, another exhaustive batch simulation was carried out, this time using smaller parameter increment sizes: P1_increment_size = P2_increment_size = P3_increment_size = 0.01 m, \(\alpha _F\)_increment_size = 1.0°. For the given specifications and for the given step-like structure, it was identified at the end of this heavy time consuming batch simulation that the obstacle can be surmounted with least energy consumption of 17.155 J with P1 = 0.2475 m, P2 = 0.22 m, P3 = 0.3996 m, and \(\alpha _F\) = 16.75° parameters.


It can be observed that the CFSQP result compare well with the result obtained in the exhaustive slow batch simulation. In fact, CFSQP had captured the continuous nature of the objective function (energy) and as a result had been able to obtain the most energy efficient parameters, which cannot be seized even when exhaustive batch simulations are run based on smaller parameter increments. This is evident from CFSQP energy result being smaller than that of the exhaustive slow batch simulations.

To make CFSQP running, a modification had to be included into the original algorithm. That is, when the gradient of the objective function is calculated by finite difference approximation, the algorithm tends to use nearby points, which can even violate the given constraints. This can make ODE crash due to ill-defined inputs. To overcome this problem, a large cost was injected when ill-defined points were tested.

The joint trajectories for boom, arm and bucket joints (Figs. 11, 12, 13) confirm that the joints undergo smooth transition. However, the discontinuity of each figure needs special mention. After the 1st stage has finished the platform rotates to the back of the power shovel to start the 2nd stage. It is assumed that this trivial operation can be done by constant energy and therefore omitted from the analysis for simplicity. As a result, a discontinuity can be seen due to the mismatch of final and initial joint positions between sequence 1 and sequence 2–1.
Fig. 11

Position and angular velocity of the arm joint. Platform rotation occurs between the 1st stage and the 2nd stage. This is overlooked in this graph and hence shown as a discontinuity
Fig. 12

Position and angular velocity of the bucket joint. Platform rotation occurs between the 1st stage and the 2nd stage. This is overlooked in this graph and hence shown as a discontinuity
Fig. 13

Torque (absolute value) curves for boom, arm and bucket joints for optimal parameters. Platform rotation occurs between the 1st stage and the 2nd stage. This is overlooked in this graph and hence shown as a discontinuity

The parameter P4 is considered to be constant in the simulation. The only requirement for P4 is such that the power shovel should be able to maintain stability once it lifts the bucket after sequence 2–2 is completed. Therefore, as long as this requirement is fulfilled, P4 can be set to an empirical value and not be included in the optimization process.

The open dynamics engine (ODE) [9] consists of two default solvers namely, (1) Dantzig’s Agorithm solver, and (2) Successive Over-Relaxation (SOR) Projected Gauss-Seidel (PGS) LCP solver. Dantzig’s Agorithm solver has been used in this work as it attempts to achieve a numerically exact solution, even though it is about one order of magnitude slower than SOR PGS LCP solver.

From Fig. 14, it can be observed that the joint torques undergo certain transients at different stages. At the beginning of 1st stage, torque transients occur due to two reasons: (1) front of the crawler looses the contact with ground, and (2) internal forces generated when the bucket starts pushing the step or ground. A similar condition occurs at the beginning of the 2nd stage where the back of the crawler (however, seen as the front of the crawler due to platform rotation) starts moving upwards and looses contact with the ground. Another important observation is that the gravity terms (mass of each link) have dominated over other terms such as Coriolis, centripetal and inertial terms because of the relatively small joint velocities and accelerations.
Fig. 14

Trajectory of the center of mass of the power shovel. The origin of the graph is the initial \(P_b\) position. Platform rotation occurs between the 1st stage and the 2nd stage. This is overlooked in this graph and hence shown as a discontinuity

As the first step of obstacle surmount operation a simple step-like structure was chosen as the obstacle. However, one should not forget that power shovels have the advantage of modifying the terrain using its arm and bucket. As a result, it can pave the unstructured terrain in front of it to shape it to a step-like structure using fast methods like bench cut method and employ the proposed method; totally modifying the terrain into a smooth slope would take a considerable amount of time, which negates the original purpose.



Power shovels serve as essential machinery to remove wreckage and help accessing inner parts of disaster stricken areas. However, instead of removing obstacles, they can be surmounted to save time. In this work, an arm maneuver based method is proposed to surmount step-like obstacles for unmanned power shovels. A smooth trajectory was formulated to minimize jerk caused by the power shovel motion. Using SQP optimization technique the most energy efficient motion profile was identified, which was confirmed by exhaustive batch simulations. The proposed method was verified by conducting 3D dynamic simulations and its effectiveness has been demonstrated. The authors believe that this is the first time a study has been conducted on unmanned power shovel for obstacle surmounting using arm maneuver mechanism.

Future work

The proposed method is the first step towards solving the obstacle surmount maneuver and therefore, a simple step-like obstacle was chosen. Due to the symmetry of the problem, the Y-coordinate motion could be overlooked in the simulations. Moreover, boom, arm and bucket joint axes are parallel to each other, which make the corresponding links to move in a plane. This also contributed to simplifying the 3D motion into the 2D domain. Debris created after natural disasters, however, have very complex shapes. The authors hope to address overcoming of different kinds of obstacles in the future, which will necessitate analysis of a full 3D motion. Another aspect to be investigated when overcoming complex obstacles is the stability issue. The power shovel should maintain its stability throughout the operation and should not tip over under any circumstances.

Simple higher order polynomials were employed in trajectory planning due to its simplicity and ease of use, and no problems were encountered. Nevertheless, splines (piecewise continuous polynomials) have gained popularity in trajectory planning and the authors would like to observe the improvements, if any, by changing the simple polynomials into spline functions in the future.

As the next step, the authors expect to carry out experiments using the real hardware in the future to confirm the results obtained through simulations.


Authors' contributions

PGJ carried out the design, simulations and drafted the manuscript. HA conceived the study, participated in its design and helped with resolving errors. Both authors read and approved the final manuscript.


The authors are grateful to Dr. H. Adachi, Prof. N. Koyachi and Dr. S. Sarata for their contribution in designing the crawler base frame.

Competing interests

The authors declare that they have no competing interests.

Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ Affiliations

Field Robotics Research Group, Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology (AIST)


  1. Javiereis’s Channel.
  2. Vähä P, Skibniewski M (1993) Dynamic model of excavator. J Aerospace Eng 6(2):148–158View ArticleGoogle Scholar
  3. Koivo A (1994) Kinematics of excavators (backhoes) for transferring surface material. J Aerospace Eng 7(1):17–32View ArticleGoogle Scholar
  4. Stentz A, Bares J, Singh S, Rowe P (1999) A robotic excavator for autonomous truck loading. Auton Robots 7(2):175–186View ArticleGoogle Scholar
  5. Hemami A (1995) Fundamental analysis of automatic excavation. J Aerospace Eng 8(4):175–179MathSciNetView ArticleGoogle Scholar
  6. Mihankhah E, Kalantari A, Aboosaeedan E, Taghirad HD, Ali S, Moosavian A (2009) Autonomous staircase detection and stair climbing for a tracked mobile robot using fuzzy controller. In: IEEE International Conference on Robotics and Biomimetics, ROBIO 2008, IEEE. pp 1980–1985
  7. Magid E et al (2011) Controlled balance losing in random step environment for path planning of a teleoperated crawler-type vehicle. J Field Robot 28(6):932–949View ArticleGoogle Scholar
  8. Nakamura S, Faragalli M, Mizukami N, Nakatani I, Kunii Y, Kubota T (2007) Wheeled robot with movable center of mass for traversing over rough terrain. IEEE/RSJ Int Conf Int Robots Syst IROS 2007:1228–1233Google Scholar
  9. Smith R et al (2005) Open dynamics engine
  10. Quigley M et al (2009) Ros: an open-source robot operating system. In ICRA Workshop on Open Source Software, vol. 3, p 5
  11. Lawrence C, Zhou J, Tits A. (1997) User’s guide for cfsqp version 2.5. University of Maryland


© Jayasekara and Arisumi. 2015