• 沒有找到結果。

Active and Passive Control of Walk-Assist Robot for Outdoor Guidance

N/A
N/A
Protected

Academic year: 2021

Share "Active and Passive Control of Walk-Assist Robot for Outdoor Guidance"

Copied!
10
0
0

加載中.... (立即查看全文)

全文

(1)

Active and Passive Control of Walk-Assist Robot

for Outdoor Guidance

Chun-Hsu Ko, Kuu-Young Young, Yi-Che Huang, and Sunil Kumar Agrawal

Abstract—In the currently aging society, walk-assist robots can play an important role in improving the activities of daily living of the elderly. In this paper, we propose a robot walking helper with both passive and active control modes for guidance. From the perspective of human safety, the passive mode adopts a braking control law on the wheels to differentially steer the vehicle. How-ever, if the user walks uphill in the outdoor environment, external forces need to be supplied to the human-walker system. In this paper, we add an active mode to guide the user in situations where the passive control mode alone with user-applied forces is not ad-equate for guidance. The theory of differential flatness is used to plan the trajectory of control gains within the proposed scheme of the controller. Since the user input force and slope angle of the path are not known a priori, the theory of model predictive control is used to periodically compute the trajectory of these control gains. The simulation and experiment results show that the walk-assist robot, along with the structure of this proposed control scheme, can guide the user to a goal on a slope effectively.

Index Terms—Differential flatness, model predictive control (MPC), slope guidance, walk-assist robot.

I. INTRODUCTION

M

ANY robot walking helpers have been proposed to assist in walking and enhance the user range of ac-tivities of daily living [1]–[16]. Machine systems have been proposed that support useful functions of the users such as guidance [1], [9]–[16], obstacle avoidance [2], [10], and health monitoring [1], [7]. To control a robot walking helper, Spenko

et al. [7] used a variable damping model to increase the

walk-ing stability. Chuy et al. [2] used passive behavior to enhance the interaction between the user and the active support system. Hirata et al. [10] proposed an adaptive motion control algorithm for obstacle/step avoidance and gravity compensation. Agrawal

Manuscript received December 3, 2011; revised April 9, 2012; accepted May 19, 2012. Date of publication June 11, 2012; date of current version Jan-uary 18, 2013. Recommended by Technical Editor A. Goswami. This work was supported by the National Science Council of Taiwan under Grant NSC 99-2221-E-009-157. The work of S. K. Agrawal was supported in part by the World Class University program. This paper was presented in part at the IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan, October 18–22, 2010.

C.-H. Ko is with the Department of Electrical Engineering, I-Shou Univer-sity, Kaohsiung 84001, Taiwan (e-mail: chko@isu.edu.tw).

K.-Y. Young and Y.-C. Huang are with the Department of Electrical En-gineering, National Chiao Tung University, Hsinchu 300, Taiwan (e-mail: kyoung@mail.nctu.edu.tw; ychuang.ece96g@nctu.edu.tw).

S. K. Agrawal is with the Department of Mechanical Engineering, University of Delaware, Newark, DE 19716 USA (e-mail: agrawal@udel.edu).

Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TMECH.2012.2201736

et al. [12] proposed a two-phase passive control algorithm for

guiding a user to attain desired position and orientation, while allowing for small errors.

In general, the robot walking helpers can be classified as: 1) active and 2) passive. The active robot walking helpers [1]–[5] use servo motors to guide the user, while actively adding energy to the system. The passive walking helpers [10]–[12] move only by user supplied forces. Controlled brakes are used to steer the walker while continuously dissipating energy from the system. With this property of dissipation of energy, they are intrinsically safe when used by humans. However, if a user wants to walk uphill in the outdoor environment, energy must be added to the walker. The passive mode may not be enough to achieve the required control. Hence, it is important to consider an integrated strategy with both active and passive controls in the slope guidance.

In this paper, we propose combining passive and active con-trol modes for effective guidance of the robot walking helper. Passive mode uses a braking control law on the wheels to differ-entially steer the vehicle. When a user pushes the walker uphill, active mode is used to compensate for gravity. The motor con-trol torques are then obtained by adding brake torque and active torque. Since the robot applies the active torque to help hu-man walking, the required user-applied force for walking uphill can be reduced. Hence, the proposed active–passive integrated method has the advantages of the improvement of the safety of the robot compared to the active-type robot and energy saving of the user on an uphill road compared to the passive control method. Furthermore, the method of differential flatness is used to select time varying trajectories of the control gains so that the vehicle achieves a desired final position and orientation [16]. The differential flatness method [16]–[19] has been proposed to solve both the trajectory planning and robot control problems within a common framework. A system is differentially flat if there exists a set of outputs, called flat outputs, equal in num-ber to the numnum-ber of inputs, such that all states and inputs can be algebraically expressed in terms of these outputs and their derivatives [17]. For a flat system, the trajectories of flat outputs can be first planned with a set of parameters and mode functions. The system dynamic equations and the input constraints can then be transformed into a set of algebraic equations, which are gen-erally simpler to solve [18]. Previous studies [17], [18] have demonstrated the efficiency of the differential flatness method in controlling wheeled mobile robot in a plane, which motivates us to further explore its possibility in controlling robot walker on a slope.

In this approach, the nonlinear structure of the vehicle dy-namic equations on a slope, under the active and passive

(2)

control, is explored to seek the property of differential flatness. The states and inputs of the robot walker are first represented as functions of the flat outputs and their derivatives. The trajecto-ries of flat outputs are then planned with three planning meth-ods that include static path planning, constant speed trajectory planning, and acceleration/deceleration trajectory planning. To efficiently select the braking gains during guidance, a passive guidance controller based on user-applied force is proposed. Since the user-applied forces and slope angles are not known

a priori, model predictive control (MPC) is used to find the

solution repetitively. Finally, simulations and experiments are performed with this robot walker on a slope to demonstrate the effectiveness of the proposed approach.

The remainder of this paper is organized as follows: Section II describes the developed robot walking helper. In Section III, the differential flatness approach is addressed. Trajectory planning and controller design are described in Sections IV and V, respec-tively. Sections VI and VII present a short summary of MPC and the simulation results, respectively. Experimental results are included in Section VIII. Finally, concluding remarks are given in Section IX.

II. DEVELOPEDROBOTWALKINGHELPER

The robot walking helper is shown in Fig. 1. It contains a support frame, two wheels driven by motors with encoders, two passive casters, a force sensor, a slope sensor, and a pc-based controller. The support frame has a semienclosed design that allows the user to walk at the center of the helper and provides good support and stability. The motors provide the torques for controlling the motion of the robot walking helper. The encoders are used to measure the wheel speed. A force sensor detects the user-applied force and the slope sensor detects the slope angle. The controller is used to control the torques of the motors with the measured sensor information. To design the controller, a simplified dynamic model on a slope is described next.

Fig. 2 shows the robot on a slope in the world coordinates

xyz [16] given by

q = [xc, yc, zc, θ]T (1)

where xc, yc, zcare the coordinates of the center of mass and θ is the heading angle of the robot. The slope angle α is assumed to be a function of yc, α = α(yc). When the robot moves on the slope, the body coordinates xyzrotate by θ about z-axis and α about the x-axis. The rotation matrix R is calculated as

R =

cos α sin θcos θ cos α cos θ− sin θ − sin α0 sin α sin θ sin α cos θ cos α

⎦ . (2)

With the assumption of no-slip at the wheel contact points on ground, the velocity of the robot is parallel to the heading direc-tion. Hence, ˙q can be expressed as

⎡ ⎣y˙x˙cc ˙zc⎦ = vˆx= v

sin θ cos αcos θ sin θ sin α

⎦ (3)

Fig. 1. Robot walking helper.

Fig. 2. Configuration of a robot walking helper on a slope.

and

˙

θ = ω (4)

where v is the heading speed and ω is the turning speed. The angular velocity can be expressed as



ω = ˙α ˆx + ω ˆz= [ ˙α −ω sin α ω cos α ]T (5) where ˙α = α(yc) ˙yc. With the user-applied force F, robot ap-plying torques, the gravity force and the no-slip constraint, the equations of motion are written as

m [ ¨xc y¨c z¨c]T =  F +τr+ τl r  ˆ x− mgˆz + λˆy+ fnzˆ (6) and I ˙ω + ω× Iω = b(τr− τl) r zˆ + M xxˆ+ Myyˆ. (7) Here, m is the robot mass, I is the moment of inertia of the robot,

r is the wheel radius, b is half distance between the two wheels, τr and τl are the motor torques on the right and left wheels,λ

(3)

is the constraint force, fn is the normal reaction force and Mx,

My is the constraint moments. The moment of inertia I can be calculated as I = RIb o dyRT, Ib o dy = ⎡ ⎣II1112 II1222 II1323 I13 I23 I33 ⎤ ⎦ . (8)

With the assumption of symmetry about the plane xz, the values of I12 and I23 are zeros. By differentiating (3),

xc, ¨yc, ¨zc]T = v ˙ˆx 

+ ˙v ˆx. On substituting [¨xc, ¨yc, ¨zc]T into (6) and premultiplying by ˆxT, we obtain

m ˙v = F + τr+ τl

r − mg sin θ sin α. (9)

Furthermore, by differentiating (5)

˙ 

ω = [ ¨α − ˙ω sin α − ω cos α ˙α ˙ω cos α − ω sin α ˙α ]T .

(10) On substituting (10) into (7) and premultiplying by ˆzT, we obtain

I33ω =˙

b(τr− τl)

r − ˙α

2cos θ sin θ(I

11− I22)− ˙α sin θωI13. (11) From (3), (4), (9), and (11), the state equations of the robot on a slope are expressed as

˙xc = v cos θ ˙ yc = v sin θ cos α ˙zc = v sin θ sin α ˙ θ = ω ˙v = τr+ τl mr + F m − g sin θ sin α ˙ ω =b(τr− τl) I33r − ˙α 2cos θ sin θI11− I22 I33 − ˙α sin θωI13 I33 . (12)

Note that the term−g sin θ sin α in the aforementioned equa-tions arises from gravity effect. To compensate for the gravity and control in passive behavior, the control law is chosen as

τr =−Krθ˙r+ 1 2mgr sin θ sin α, τl=−Klθ˙l+ 1 2mgr sin θ sin α (13)

where τr and τl are the control torques of the right and the left wheels, respectively. ˙θrand ˙θlare the angular speeds of the right and the left wheels, respectively. Krand Klare nonnegative parameters. With the no-slip condition, the angular speeds ˙θr and ˙θl can be calculated as

˙

θr = (v + bω)/r, ˙θl= (v− bω)/r. (14) Substituting (13) and (14) into (12), we can obtain the dynamic equations of the robot given by

˙ q = SV ˙ V = AK + B (15) where V =  v ω , S = ⎡ ⎢ ⎣ cos θ 0 sin θ cos α 0 sin θ sin α 0 0 1 ⎤ ⎥ ⎦ A = ⎡ ⎢ ⎣ −v + bω mr2 v− bω mr2 −b(v + bω) I33r2 b(v− bω) I33r2 ⎤ ⎥ ⎦ , K =  Kr Kl B = F/m − ˙α2cos θ sin θI11− I22 I33 − ˙α sin θω I13 I33 . (16) The nonnegative parameters in K can now be regarded as the new control inputs that need to be planned to steer the vehicle from its current state to the desired goal state. To design the feedback controller, we select the brake gain K by using the differential flatness approach, described in the next section.

III. DIFFERENTIALFLATNESSAPPROACH

In the differential flatness approach [16]–[19], we first define the flat outputs and then express all state variables and input in terms of the flat outputs and their derivatives. The wheel mobile robot has been shown to be differentially flat with the flat outputs (y1, y2) = (xc, yc) [17]. We, thus, use these flat outputs to express the robot states and input gains on a slope. With a given slope height z(y2), the slope angle and its derivatives can be expressed as α = tan−1z(y2) ˙ α = z  1 + z2y˙2 ¨ α = zy˙ 2 2 + zy¨2 1 + z2 2zz2y˙2 2 (1 + z2)2. (17) Define s as the length of the slope, then

˙s = ˙y2/ cos α ¨ s = y¨2+ ˙y2z α˙ cos α ... s = ... y2+ 2¨y2zα + 2 ˙˙ y2z2α˙2+ ˙y2α˙2+ ˙y2zα¨ cos α (18) and θ = arctan  ˙s ˙ y1  v =  ˙ y2 1+ ˙s2 ω = ˙θ = y˙1¨s− ¨y1˙s ˙ y2 1 + ˙s2 ˙v = y˙1y¨1+ ˙s¨s ˙ y2 1+ ˙s2 ˙ ω = (−...y1sin θ +...s cos θ− 2 ˙vω)/v. (19)

(4)

With (16)–(19), the control gain K can be expressed with the flat outputs and their derivatives, given by

K( ˙y1, ¨y1, ... y1, y2, ˙y2, ¨y2, ... y2) = A−1  ˙v ˙ ω − B  . (20)

Note that K should be nonnegative in passive control. When the angular speed ˙θr or ˙θl is zero, A−1 does not exist due to singularity and K cannot be obtained. Under this condition, the walker speed should be increased with the brake gain K set to zero. The aforementioned equation can be used in planning a desired trajectory with the passive mode.

IV. TRAJECTORYPLANNING FORSLOPEGUIDANCE

In trajectory planning of this walk-assist robot for slope guid-ance, we intend to find a smooth trajectory (y1(t), y2(t)) that passes from the initial point to target point during a period of tf. Here, tfis derived via an optimization process described shortly. Three planning methods, that include static path planning, con-stant speed trajectory planning, and acceleration/deceleration trajectory planning, are used to determine the brake gain for the proposed controller in real time, which will be discussed later in Section IV for controller design. Note that the process of trajectory planning is executed each time the current speed of the walker is updated. These trajectories planning methods are briefly described as follows.

A. Static Path Planning

In static path planning [20], we first select a set of waypoints that can be connected into a smooth path. As shown in Fig. 3(a) and (b), there are two starting circles with radius c tangent to the starting position and direction. On the other hand, two ending circles with radius c are tangent to the end position and direction. There are four smooth paths that consist of a starting arc, a straight line, and an ending arc, to be selected. Since an arc path is more difficult to follow than a straight line, the path combination with the minimum sum of starting arc angle θsand ending arc angle θeis preferred. Fig. 3(a) shows that a minimum arc-angle path with three waypoints is selected. Furthermore, if starting arc angle θs or ending arc angle θe is larger than a predefined arc angle θm, the arc is split into small arcs that have smaller arc angle than θm. As shown in Fig. 3(b), five waypoints are added to the path. With this waypoint selection, we can quickly obtain a smooth path that consists of subpaths of small angle arcs (≤θm) or straight lines. The robot can, thus, guide the user to pass through these waypoints consecutively.

B. Constant Speed Trajectory Planning

The stable walking trajectory with a small variance of walk-ing speed is generated by uswalk-ing this constant speed trajectory planning. It takes the current speed of the walker as a constant speed to plan a reference trajectory for guidance. Because each subpath is a line or an arc, the trajectory can be fitted with the following polynomial function of time [21]:

Fig. 3. Path planning: (a) three waypoints path planning and (b) five waypoints path planning.

yj(t) = cj 0+ cj 1t + cj 2t2 + cj 3t3

+ cj 4t3(t− tf) + cj 5t3(t− tf)2, j = 1, 2. (21) With the boundary conditions yj(0), ˙yj(0), ¨yj(0), yj(tf), ˙

yj(tf), ¨yj(tf), the coefficients cj k can be easily calculated as

cj 0= yj(0), cj 1= ˙yj(0), cj 2= 0.5¨yj(0)

cj 3= (yj(tf)− cj 0− tfcj 1− t2fcj 2)/t3f

cj 4= ( ˙yj(tf)− cj 1− 2tfcj 2− 3t2fcj 3)/t3f

cj 5= (0.5¨yj(tf)− cj 2− 3tfcj 3− 3t2fcj 4)/t3f, j = 1, 2. (22) Here, the initial conditions y1(0), ˙y1(0), ¨y1(0), y2(0),

˙

y2(0), ¨y2(0) and the final conditions y1(tf), ˙y1(tf), ¨y1(tf),

y2(tf), ˙y2(tf), ¨y2(tf) of the trajectory can be calculated from the initial state xc(0), yc(0), θ(0), v(0), ω(0), the final state

xc(tf), yc(tf), θ(tf), v(tf), ω(tf), and the given slope height

z(y2), with those parameters expressed as

y1 = xc, ˙y1= v cos θ, ¨y1 = ˙v cos θ− vω sin θ

y2 = yc, ˙y2 = v sin θ cos α

¨

y2 = ˙v sin θ cos α

+ vω cos θ cos α− v2αsin2θ sin α cos α. (23) Note that these expressions in (23) demand the values of the initial and final accelerations ˙v(0), ˙v(tf). For guiding the user into stable walking, the constant speed trajectory is preferred and the values of ˙v(0), ˙v(tf) are set to be zeros. Furthermore, the final speed v(tf) is set to be the initial speed v(0) and the final angular speed ω(tf) set to be zero.

(5)

Once the flat outputs are obtained using (21)–(23), the robot states and inputs can be represented as functions of tf. The constant speed trajectory (yc1(t), y2c(t)) and the value of the final

time tf are then obtained by solving the following nonlinear optimization problem: min tf J = 1 tf  tf 0 (v(t)− v(0))2dt (24) where J is the difference between the walking speed and initial speed. A smaller J implies a more stable walking trajectory. Note that only the parameter tf is required in solving the optimization problem so that constant speed trajectory planning can be fast executed.

C. Acceleration/Deceleration Trajectory Planning

The acceleration/deceleration trajectory planning is used to change the robot speed during guidance. In this planning, we propose using the time transform technique on the constant speed trajectory (yc

1(t), y2c(t)) already obtained. With a given time transform function u(t), the acceleration/deceleration tra-jectory (ya

1(t), y2a(t)) is expressed as

ya1(t) = yc1(u(t)), y2a(t) = y2c(u(t)). (25) The acceleration/deceleration speed va(t) is calculated as ˙u(t)vc(t), where vc(t) is the speed of the constant-speed tra-jectory. The derivative ˙u(t) of time transform function can be regarded as the speed scaling function, set as

˙u(t) = (1− a)e−t/γ+ a (26)

where a is the speed scaling parameter and γ time constant. If

a> 1, the velocity va(t) is increased; if a < 1, va(t) is decreased. By integrating ˙u(t) with u(0) = 0, the time transform function

u(t) can be obtained as

u(t) = γ(1− a)(1 − e−t/γ) + at. (27) Furthermore, the derivatives of the acceleration/deceleration trajectory are calculated as

˙ yja= yjc˙u ¨ yja= yjc˙u2+ ycju¨ ... ya j = yc  j ˙u3+ 3yc  j ˙u¨u + yc  j ... u , j = 1, 2. (28) Equation (28), along with (19) and (20), can be used in plan-ning an acceleration/deceleration trajectory with passive control gain K.

V. CONTROLLERDESIGN

As the robot should provide proper passive control gain K according to the user’s walking intention, detected with the force sensor, the ratio of the control force K| ˙θ|/r to user-applied force F is an important factor in controller design. For the two wheel torques to be checked for passivity, the smaller one is selected for calculating the passive parameter. We, thus, define

a dimensionless passive control index p as

p = min  Kr| ˙θr| F r , Kl| ˙θl| F r  . (29)

The index p is calculated when the user-applied force F is positive. The larger the p is, the higher brake torque is used in passive mode. When p is positive but small, the control gain K is small. Under this situation, the robot is suggested to increase the brake torques and the deceleration trajectory planning is used. On the other hand, when p is large and the speed is small, too much energy is dissipated. The brake torque should be decreased and the acceleration trajectory planning is used. Furthermore, if p and the walking speed are appropriate, the robot can guide the user for stable walking with the constant speed trajectory. Based on the aforementioned discussion, an algorithm for deter-mining proper brake gain is developed. Given the current robot state, user-applied force F, walking speed ¯v, angular speed ¯ω,

tolerance force Ftol, tolerance speed vtol, the minimum passive index value pm in, and the maximum passive index value pm ax, the brake gain K can be efficiently selected using the following algorithm.

(6)

Fig. 4. Proposed model predictive control scheme for robot walking helper.

In the algorithm, the control gain K is determined according to the value of the force sensor. The force sensor noise affects this value, and consequently the accuracy of the guidance. To enhance the robustness, the proposed MPC, discussed in next section, updates the control gain K iteratively according to the current sensor information. Therefore, unless there is persistent large noise, the MPC should be able to deal with sensor noise. Later, the simulation results also verify this.

VI. MODELPREDICTIVECONTROL FORSLOPEGUIDANCE

Fig. 4 shows the proposed MPC scheme [22]–[24] for robot walking helper, with which a feasible trajectory and the torques are predicted for the period tf, given the current waypoint, cur-rent measured states, slope angle, and user-applied forces. To achieve real-time control, we do not use a cost function to search for the optimal solution, but only set a constraint of nonnegative

K to find a feasible solution. Predictive inputs are then used for

controlling the robot when pushed by the user. Note that the slope model is required in MPC, and a fitted slope model z(y) is used. Given the current position (yc 1, zc 1), the target position (yc 2, zc 2), the measured current slope angle α1, and the target slope angle α2, a predictive slope function z(y) are then fitted with the following form:

z(y) = d0+ d1(y− yc1) + d2(y− yc1)2+ d3(y− yc1)3. (30) With the boundary conditions z(yc 1) = zc 1, z(yc 1) = tan(α1),

z(yc 2) = zc 2, and z(yc 2) = tan(α2), the coefficients di (i = 0,. . .,3) are solved as

d0 = z1, d1 = tan α1

d2 = 3(zc2− zc1)(yc2− yc1)−2

− (2 tan α1+ tan α2)(yc2− yc1)−1

d3 =−2(zc2− zc1)(yc2− yc1)−3

+ (tan α1+ tan α2)(yc2− yc1)−2. (31)

The MPC is based on a constant value of current measured slope angle and user-applied force, while in reality the slope angle and user-applied force are time varying and may be with noise. Therefore, the MPC only uses the predictive inputs to control the robot over a period of time Δt. At the next time step, MPC needs to read the states, slope angle, and user-applied force, and generate a new trajectory. The procedure will be

Fig. 5. Robot trajectory on a slope in S-shaped simulation.

repeated until the stop criterion is satisfied. Meanwhile, the robot guides the user walking through waypoints consecutively. The slope guidance algorithm with MPC is developed and stated as follows.

Slope Guidance Algorithm With MPC Step 1: Specify the initial and target points.

Step 2: Generate a set of sequential waypoints (N) with static

path planning.

Step 3: Execute model predictive control and set the first

way-point as current wayway-point, n = 1.

Step 4: Perform robot control algorithm to obtain a brake gain K.

Step 5: Use the predictive gain K to control the robot over a

period of time Δt.

Step 6: Measure the robot state and check the stop criterion.

If the robot does not reach the current waypoint, go to step 4; else if n < N, set the next waypoint as the current waypoint,

n= n + 1, go to step 4;

otherwise, stop.

VII. SIMULATIONS

To evaluate the performance of the proposed approach, it was applied to a robot walker for guidance. The parameter values of the robot were set to be m = 30 kg, I11 = 2.61 kg·m2, I22 = 2.61 kg·m2, I

33= 5.22 kg·m2, I13= 1.74 kg·m2, r = 0.0605 m, and b = 0.295 m. The user-applied force F was assumed to follow the function 10(1 + 0.1 sin(πt/2)) N and the time step

Δt was set as 0.25 s. The parameter values for the passive

controller were set to be ¯v = 0.3 m/s, ¯ω = 0.3 rd/s, Ftol= 0.1 N,

vtol= 0.03 m/s, pm in= 0.1, pm ax = 0.3, β = 0.95, ρd = 0.98, and ρi= 1.02.

Two sets of simulations, S-shaped guidance and turn-around guidance on a slope, were performed with slope height z assumed to be a function of y as z(y) = 0.3/(1 + e−2(y−3)) m.

Figs. 5–7 show the simulation results of S-shaped guidance with the start and end points (xc, yc, θ) set to (0 m, 0 m, π/2 rd) and (6 m, 6 m, π/2 rd), respectively. The turn-around guidance is

(7)

Fig. 6. State variables x, y, z, θ, v, and ω of the robot in S-shaped simulation.

with the start and end points (3 m, 0 m, π rd) and (6 m, 0 m,

−π/2 rd), and the simulation results are shown in Figs. 8–10.

Fig. 5 shows the robot trajectory on the slope for the S-shaped guidance. It was observed that two waypoints were generated. The robot trajectory accurately passed through the waypoints, while approaching the target gradually. Fig. 8 shows the robot trajectory on the slope for the turn-around guidance. The sim-ulation result shows that the proposed scheme generated four waypoints and smoothly guided the user to turn around on the slope. The trajectories of x, y, z, θ, v, ω of two guidance simu-lations are shown in Figs. 6 and 9, respectively. The (xc, yc, θ) errors of S-shaped guidance and turn-around guidance between the desired and actual end points are (9.22e-6 m, 8.68e-5 m, 5.15e-4 rd) and (1.72e-6 m, 3.83e-4 m, 9.6e-5 rd), respectively. We also observed that the mean walking speed and maximum turning speed of S-shape were about 0.315 m/s and 0.139 rd/s, respectively. Meanwhile, the user-supplied energy was com-puted to be 185.4 J when the walking helper was under the passive mode, and it became 97.59 J when the active control was added, leading to effective energy saving. In turn-around guidance, the mean walking speed and maximum turning speed were about 0.375 m/s and 0.223 rd/s, respectively. Since the turn-around guidance includes downhill path, larger speed was obtained. Figs. 7 and 10 show the values of the robot-applied torques τr, τl for two kinds of guidance, respectively, which included active torques for gravity compensation and passive torques for walking guidance. The active torques varied with slope angles. When the user walks uphill (downhill), the active torques were all positive (negative). The passive torques were all negative and also showed oscillations to compensate for the

Fig. 7. Torques and brake gains of the robot in S-shaped simulation.

Fig. 8. Robot trajectory on a slope in turn-around simulation.

oscillating user-applied force for stable walking. The mean time needed for trajectory planning in MPC was only about 0.2 ms with 1.66 GHz CPU and 1 GB memory. The simulation results show that the robot walker with the proposed guidance scheme helped the user to walk on the slope in real time, and guided the user to the target stably and accurately.

To demonstrate the robustness of the MPC, the S-shaped simulations with force sensor noise were performed. The force noise was randomly generated in each time step, with its amount set to be within 25% user-applied force. For several simula-tions, we observed that the trajectories with noise were slightly different from the trajectory without noise (see Fig. 5), but they still passed through the waypoints with small deviations, demon-strating the robustness of the MPC.

(8)

Fig. 9. State variables x, y, z, θ, v, and ω of the robot in turn-around simulation.

VIII. EXPERIMENTS

For demonstration, we performed the straight-line and S-shaped experiments on a slope. Fig. 11 shows the experimental scenario. In the straight-line experiment, the user repeated twice walking straight uphill. One was with robot control torques and the other without. Fig. 12 shows that the user-applied forces with robot control were smaller than without robot control. This demonstrates that the proposed control method can effectively help the user walking uphill. For S-shaped experiment, the start and end points (xc, yc, θ) were set to be (0 m, 0 m, π/2 rd) and (4 m, 5 m, π/2 rd), respectively. Fig. 13 shows the robot trajec-tory on the slope during S-shaped guidance, which indicates that the robot guided the user to be near the waypoints with accurate orientations. The position error between the final robot position and the target is about 0.45 m. Fig. 14 shows the trajectories of x, y, z, θ, v, ω. The human walking speed was with a mean value of 0.19 m/s and maintained within 0.36 m/s. The turning speed was within 0.34 rd/s. Fig. 15 shows the human-applied force (with a mean at about 7.068 N), the brake gains K, and the robot-applied torques τr, τl. Furthermore, the right wheel torques were initially smaller than left wheel torques for right turn. When the robot was approaching the end point, the right wheel torque was larger than left wheel torque for left turn. We also invited additional users to conduct the S-shaped exper-iments. The resultant trajectories were slightly different from that in Fig. 13, while the robot guided the users to be near the

Fig. 10. Torques and brake gains of the robot in turn-around simulation.

Fig. 11. Experimental scenario for guidance on a slope.

(9)

Fig. 13. Robot trajectory on a slope in S-shaped experiment.

Fig. 14. State variables x, y, z, θ, v, and ω of the robot in S-shaped experiment.

waypoints with accurate orientations successfully, as Fig. 16 shows one of the trajectories, which is with 0.4 m position error between the final robot position and the target. For the errors present between the actual and desired robot positions in Figs. 13 and 16, we consider they might result from wheel slipping. In summary, the experiment results demonstrate that the proposed scheme can help the user to walk stably on slope and guide the user to reach the target.

Fig. 15. Human-applied forces and robot torques in S-shaped experiment.

Fig. 16. Robot trajectory generated by another user in S-shaped experiment.

IX. CONCLUSION

In this paper, we have presented a novel method to choose time-varying control gains for a robot walking helper. The dy-namic model of the vehicle on a slope with passive/active con-trol law was first established. The trajectories of the gains were developed by using approaches from the theory of differen-tial flatness. Accordingly, feasible trajectories were found by using the proposed passive/active method. Furthermore, MPC was also implemented for the robot walking helper since user-applied forces and slope angles are not known a priori. The simulation and experimental results show that the robot walk-ing helper with MPC can accurately guide the user to a goal on a slope, demonstrating the effectiveness of the proposed control scheme. In future works, we will continue working on the re-duction of power consumption for the robot walker helper and also improve its guiding performance.

(10)

REFERENCES

[1] H. Yu, M. Spenko, and S. Dubowsky, “An adaptive shared control system for an intelligent mobility aid for the elderly,” Auton. Robots, vol. 15,

no. 1, pp. 53–66, 2003.

[2] O. Chuy, Y. Hirata, Z. Wang, and K. Kosuge, “A control approach based on passive behavior to enhance user interaction,” IEEE Trans. Robot., vol. 23, no. 5, pp. 899–908, Oct. 2007.

[3] O. Chuy, Y. Hirata, and K. Kosuge, “A new control approach for a robotic walking support system in adapting user characteristics,” IEEE Trans.

Syst., Man, Cybern. C, Appl. Rev., vol. 36, no. 6, pp. 725–733, Nov. 2006.

[4] A. J. Rentschler, R. A. Cooper, B. Blaschm, and M. L. Boninger, “In-telligent walkers for the elderly: Performance and safety testing of VA-PAMAID robotic walker,” J. Rehab. Res. Dev., vol. 40, no. 5, pp. 423–432, 2003.

[5] G. Wasson, P. Sheth, M. Alwan, K. Granata, A. Ledoux, and C. Huang, “User intent in a shared control framework for pedestrian mobility aids,” in

Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Oct. 2003, pp. 2962–2967.

[6] A. M. Sabatini, V. Genovese, and E. Pacchierotti, “A mobility aid for the support to walking and object transportation of people with motor impairments,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2002, pp. 1349–1354.

[7] M. Spenko, H. Yu, and S. Dubowsky, “Robotic personal aids for mobility and monitoring for the elderly,” IEEE Trans. Neural Syst. Rehab. Eng., vol. 14, no. 3, pp. 344–351, Sep. 2006.

[8] A. Morris, R. Donamukkala, A. Kapuria, A. Steinfeld, J. T. Matthews, J. Dunbar-Jacob, and S. Thrun, “A robotic walker that provides guidance,” in Proc. IEEE Int. Conf. Robot. Autom., Sep. 2003, pp. 25–30.

[9] B. Graf, “An adaptive guidance system for robotic walking aids,” J.

Comput. Inf. Technol., vol. 17, no. 1, pp. 109–120, 2009.

[10] Y. Hirata, A. Hara, and K. Kosuge, “Motion control of passive intelligent walker using servo brakes,” IEEE Trans. Robot., vol. 23, no. 5, pp. 981– 990, Oct. 2007.

[11] N. Nejatbakhsh and K. Kosuge, “Optimal guidance by omnidirectional passive mobility aid system,” IEEE/RSJ Int. Conf. Intell. Robots Syst., Oct. 2006, pp. 5786–5791.

[12] J. C. Ryu, K. Pathak, and S. K. Agrawal, “Control of a passive mobility assist robot,” J. Med. Devices, vol. 2, no. 1, p. 011002, 2008.

[13] K. Wakita, J. Huang, P. Di, K. Sekiyama, and T. Fukuda, “Human-walking-intention-based motion control of an omnidirectional-type cane robot,”

IEEE/ASME Trans. Mechatronics, to be published.

[14] Y. C. Huang, H. P. Young, C. H. Ko, and K. Y. Young, “Human intention recognition for robot walking helper using ANFIS,” in Proc. Asian Cont.

Conf., May 2011, pp. 311–316.

[15] C. H. Ko and S. K. Agrawal, “Walk-assist robot: A novel approach to gain selection of a braking controller using differential flatness,” in Proc.

American Cont. Conf., Jun. 2010, pp. 2799–2804.

[16] C. H. Ko and S. K. Agrawal, “Control and path planning of a walk-assist robot using differential flatness,” in Proc. IEEE/RSJ Int. Conf. Intell. Rob.

Syst., Oct. 2010, pp. 6016–6021.

[17] H. Sira-Ramirez and S. K. Agrawal, Differential Flat Systems, 1st ed. New York: Marcel Dekker, 2004.

[18] C. P. Tang, P. T. Miller, V. N. Krovi, J. C. Ryu, and S. K. Agrawal, “Differential-flatness-based planning and control of a wheeled mobile manipulator—Theory and experiment,” IEEE/ASME Trans.

Mechatron-ics, vol. 16, no. 4, pp. 768–773, Aug. 2011.

[19] V. Sangwan and S. K. Agrawal, “Differentially flat design of bipeds en-suring limit cycles,” IEEE/ASME Trans. Mechatronics, vol. 14, no. 6, pp. 647–657, Dec. 2009.

[20] S. M. LaValle, Planning Algorithm. Cambridge, U.K.: Cambridge Univ. Press, 2006.

[21] S. K. Agrawal and T. Veeraklaew, “A higher-order method for dynamic optimization of a class of linear systems,” J. Dyn. Syst., Meas. Control, vol. 118, pp. 786–791, Dec. 1996.

[22] V. Duchaine, S. Bouchard, and C. M. Gosselin, “Computationally efficient predictive robot control,” IEEE/ASME Trans. Mechatronics, vol. 12, no. 5, pp. 570–578, Oct. 2007.

[23] A. Grancharova and T. A. Johansen, “Design and comparison of explicit model predictive controllers for an electropneumatic clutch actuator using on/off valves,” IEEE/ASME Trans. Mechatronics, vol. 16, no. 4, pp. 665– 673, Aug. 2011.

[24] C. Y. Lin and Y. C. Liu, “Precision tracking control and constraint han-dling of mechatronic servo systems using model predictive control,”

IEEE/ASME Trans. Mechatronics, vol. 17, no. 4, pp. 593–605, Aug. 2012.

Chun-Hsu Ko was born in Tainan, Taiwan, in 1967. He received the M.S. degree in power mechani-cal engineering from National Tsing Hua Univer-sity, Hsinchu, Taiwan, in 1991, and the Ph.D. degree in electrical and control engineering from National Chiao Tung University, Hsinchu, Taiwan, in 2003.

From 1994 to 1998, he was with the Industrial Technology Research Institute, Hsinchu, Taiwan, as an Associate Researcher. He is currently an Associate Professor in the Department of Electrical Engineer-ing, I-Shou University, Kaohsiung, Taiwan. His re-search interests include robot control, robot walking helpers, and optimization.

Kuu-Young Young was born in Kaohsiung, Taiwan, in 1961. He received the B.S. degree in electrical en-gineering from National Taiwan University, Hsinchu, Taiwan, in 1983, and the M.S. and Ph.D. degrees in electrical engineering from Northwestern University, Evanston, IL, in 1987 and 1990, respectively.

Between 1983 and 1985, he was an Electronic Officer in the Taiwan Navy. Since 1990, he has been with the Department of Electrical Engineering, National Chiao-Tung University, Hsinchu, Taiwan, where he is currently a Professor. He served as the Chairman of the department from 2003 to 2006, and as the Associate Dean of the Electrical and Computer Engineering College, National Chiao Tung University, from 2007 to 2010. His research interests include robot compliance control, robot learning control, robot calibration and path planning, teleoperation, robot walking helpers, and science, technology, and society.

Yi-Che Huang was born in Pingtung, Taiwan, on January 25, 1981. He received the B.S. and M.S. de-grees in electrical engineering from Tamkang Univer-sity, Taipei, Taiwan, in 2004 and 2007, respectively. He is currently working toward the Ph.D. degree in the Department of Electrical Engineering, National Chiao Tung University, Hsinchu, Taiwan.

His main research interests include robot walking helpers, modeling and control of dynamic systems, learning systems, and robot path planning and force control.

Sunil Kumar Agrawal (M’92) received the Ph.D. degree in mechanical engineering from Stanford Uni-versity, Stanford, CA, in 1990.

He is currently a Professor in the Department of Mechanical Engineering, University of Delaware, Newark. He has authored more than 300 journal and conference papers and two books in the areas of con-trolled mechanical systems, dynamic optimization, and robotics.

Dr. Agrawal is a Fellow of the American Soci-ety of Mechanical Engineers (ASME). He received a Presidential Faculty Fellowship from the White House in 1994, the Bessel Prize (Germany) in 2003, and the Humboldt U.S. Senior Scientist Award in 2007. He has been an editorial board member of several journals published by the ASME and IEEE.

數據

Fig. 2 shows the robot on a slope in the world coordinates
Fig. 3. Path planning: (a) three waypoints path planning and (b) five waypoints path planning.
Fig. 4. Proposed model predictive control scheme for robot walking helper.
Fig. 6. State variables x, y, z, θ, v, and ω of the robot in S-shaped simulation.
+3

參考文獻

相關文件

The existence and the uniqueness of the same ratio points for given n and k.. The properties about geometric measurement for given n

Understanding and inferring information, ideas, feelings and opinions in a range of texts with some degree of complexity, using and integrating a small range of reading

• Content demands – Awareness that in different countries the weather is different and we need to wear different clothes / also culture. impacts on the clothing

• Examples of items NOT recognised for fee calculation*: staff gathering/ welfare/ meal allowances, expenses related to event celebrations without student participation,

which can be used (i) to test specific assumptions about the distribution of speed and accuracy in a population of test takers and (ii) to iteratively build a structural

We propose a primal-dual continuation approach for the capacitated multi- facility Weber problem (CMFWP) based on its nonlinear second-order cone program (SOCP) reformulation.. The

Like the proximal point algorithm using D-function [5, 8], we under some mild assumptions es- tablish the global convergence of the algorithm expressed in terms of function values,

• Environmental Report 2020 of Transport Department, Hong Kong: to provide a transport system in an environmentally acceptable manner to align with the sustainable development of