NUMERICAL SOLUTION OF A FOUR-BAR MECHANISM GEOMETRY FOR A STAIR CLIMBING MOBILE ROBOT Abstract In this paper we present a numerical solution of a problem of a four-bar robot geometry. Four bar mechanism enables the stable motion of the robot in the outdoor and indoor environment, including stair climbing. The reason for implementing the four-bar mechanism was to enable the robot to overcome most of the obstacles. Robot mechanism is an imitation of the project of the Swiss university EPFL-DMT-ISR. For the exact solution of geometry, the numerical program, which works under Matlab/Simulink, was developed. Keywords Mobile robots, four-bar mechanism, MATLAB. showed on figure. Because, for the shape of rising line, we need only specific part of whole line, we limited mechanism on chosen areas. Four bar mechanism [1] can be specified by analytic equations. I. INTRODUCTION Usually two different kinds of mobility are distinguished; the leg mobility and wheel mobility. Based on this the robots are usually classified in a leg-mobile or walking robots and in wheel-mobile robots. Modern wheel mobile robots have a light construction and are able to move very fast on flat surfaces. To avoid obstacles the sensors have to be included in the robot. On the other side, the walking robots are more effective in outdoor environments. Our robot can be characterized as a hybrid of wheel and leg robots. It doesn t need sensors to detect small obstacles, because it is able to climb over most of them, without loosing the stability. The four-bar mechanism enables an indepent movement up and down of all robot wheels. The up-down movements are determined by the geometry of the four-bar mechanism. Determining the proper geometry is a main topic of this work. Figure 1: Relevant solutions of the movement line. II. MECHANISM ANALYSIS THE PROBLEM OF OVERCOMING AN OBSTACLES Robot can overcome the obstacles so, that the front wheel after the collision with an obstacle starts raising and stepping away. The motion is a movement in one plane and is made from rising (y-axis) and moving away (x-axis). Between overcoming the obstacles, both components must change (x and y-axis). Y component of the motion drives the robot to rise over the obstacle, x component, of the motion drives the robot to go closer to the obstacle and the same time over it. The origin of the coordinate system is fixed on the front mechanism of the robot. From figure 1 it is clear, that many solutions of rising lines are possible. III. CONNECTION WITH A FOUR-BAR MECHANISM Each possible rising line also gives one possible solution of four-bar mechanism geometry. To solve this problem, let us concentrate on this mechanism. Its total work area [,3] is IV. Figure : Applicable area of the four-bar mechanism. ANALYTICAL SPECIFICATION OF THE FOUR- BAR MECHANISM For analytical specification of final mark of mechanism P is need to all angles (position s) of handle point in an addictive from angle A, which shows inclination of handle c in the way x-axis fixed coordinate system of mechanism [4]. Presented equations are derived from picture on figure 3. For the angle ϕ we have to set some initial value, because for the working mechanism at least one handle must be attached. In our case is that the handle b. For calculating [1] the geometry of four-bar mechanism in Matlab analytical equations are required. Equations are given using the angle A depence, which makes them easier to use.
V.I. CHOSEN MOVEMENT LINE To improve the characteristics of motion, the four-bar mechanism of front wheel has to fulfill some demands. The main demand is that the rising line of front wheel must have specific shape. This shape is specified with a height of walk and diameter of wheels. Only one movement line specifies four-bar mechanism or exactly total length of handles four-bar mechanism. Because of unknown number of possible combinations of length handle and shapes of rising lines it is necessary to bring out numerical sum, in which we are focusing only on some lines, which are shaped according to our demands. These demands are given by geometry of the stair, maximum rise-height and minimum height. Figure 3: Geometrical analysis. Equation for determining the position of the mark P in depence from the lengths of handles and angle A: Presumption: A = konst. ϕ = konst From figure 3, the following equations can be written: π α (A) = ϕ + A a (A) = b b β (A) = arcsin a sinα e d a ε (A) arccos + = ed e δ (A) = arcsin a sinα η(a) = A β ψ (A) = δ A + β + c bc cosα We sum handles h and c so we get Px and Py: Px (A) = c cos(a) + h cos(ψo) Py (A) = c sin(a) h sin(ψin) V. NUMERICAL SOLUTION APPROACH (1) () (3) (4) (5) (6) (7) With equations describing mechanism it is possible to calculate position of wheel in depence from rising angel A, figure 3. Mechanism of the front rising wheel is four-bar mechanism with a handle lengthening, which lay in front of the resting handle. That s why it is in this case possible to specify the other angles of closed chain of mechanism in depence from rising angle A. Because the equations are simple, the numerical analysis is straightforward. (8) (9) To enable the lifting of the front wheel between the movements, we must define its shape. It is only possible to raise the front wheel to some extent. By rising mechanism of front wheel is four-bar mechanism a little changed as you can see from figure 4. Lengthening of handle d has a little change of an angle between handles d and h. This change of an angle effects on a shorting of a distance between rising line of front wheel coordinate origin of mechanism (figure 4). Figure 4: Chosen movement line. With this kinematics problem is stated. More formal description of the problem follows in the next chapters, where the problem is splitted on sub-problems and their solutions are presented. V.II. SEARCHING OF THE SOULUTIONS BY USING A NUMERICAL ANALYSIS AND PROGRAM PACKET MATLAB For determining of the position of point P, the proper equations were derived. In this part we are trying to solve dimensional time indepent problem. It is also easy to describe a four-bar mechanism by equation [1]. This means, that we can determine the movement of the final mark P (as of the front wheel, figure 5) in the depence from angle A. Angle A has limited values, which are determined by the predicted area of movement of the front wheel.
The results are shown in the figure 6. Figure 5: End positions. On the figure two extreme positions of mechanism are shown. This extreme positions we determine with a span of the working angle A (indepent variable). In our case we have determined a working area of angle A in (+) direction (up side by the strain) A+ = 80 and in ( ) direction (moving down by motion downwards). The angle A includes that way a working area of 110. Also we had to define initial values of bar length and then increase them incrementally. V.III. REALIZATION OF NUMERICAL CALCULATION OF MOVEMENT LINE In the program for some initial values of length of the bar, the position of a point P is calculated. For the calculation the program uses the analytical equations, which are in depence of an A angle. So we get exactly one solution for one value of the bar length and angle A. After that we implement the equation in program loops. In those loops we increment the initial values of an A angle. This helps us to get the whole line of moving, and not just the momentarily point. The density of the line of movement deps on the number of steps of A angle. Till now the program has calculated the line of moving for only one sample (the length of bar is fixed). So we change the program so, that it would automatically search for the correct solution of the bar length. The analytical solution isn t possible, because if we mathematically describe the line of moving, we don t now exactly if the mechanism for that line exists. This problem forces us to use another way of thinking. When we try to guess the length of bars, we do not get the correct solutions. That means that our mechanism isn t able to get over the obstacle. The next step was to change the program so, that it would calculate the moving line for the incrementing length of bars (for each length separately). So we must chose the initial lengths and increment them stepwise. During the calculation we print all solutions. The initial values were taken from the samples that we made in first version of program. The high of the incrementing step is very important, because if the step is to small, we get to many solutions and we aren t able to see anything. If the step is too big, we might don t get any solutions. In the program we also recalculate the lines of moving for different values of angle φ, which define the leaning of the handle b. Figure 6: First solutions. From the picture on figure 6 we see, that we must precisely define our line of moving. The moving lines are placed all over the graph and they have very different size. In first step we will limit the points of moving line. LIMITATION OF THE ENDPOINTS To limit the points we must set on both s of the line a relative big tolerance field. The size and position of the fields, we define according to chosen movement line (figure 7). In this step we eliminate the printing of wrong movement lines. Figure 7: Limitation of points. From picture on figure 7 we see, that the size of tolerance field depents on the size of incremental step. In case of large incremental step must tolerance field be also large; otherwise we don t get any solutions. In the program we tested if the points were places in the tolerance fields, otherwise we don t print the solution. PROBLEM OF SMOOTHNESS OF MOVEMENT LINE After we define the size of moving line, witch deps on the maximum size of obstacle; we must also define the form of movement line. In this step we face another problem. That are critical points witch are mathematically defined as square roots of negative number, and geometrically that the
mechanism won t be able to come over this point. The critical points are shown in picture on figure 8. If we analyze this problem mathematically, we must define (control) the series draining of movement line. That means that the movement line must increase from lower point to point P max and decrease from P max to upper point in aspect to x axes (figure 9). Figure 8: Problem of critical points. Figure 9: Definition of point Pmax. In the program was this procedure implemented by testing each point to see, if it has lower value before P max and higher value after point P max. THE IMPORTANCE OF THE POINT P MAX With earlier mentioned conditions we define our wanted movement line. We test the line smoothness by looking back to point P max. Position of this point defines the maximum size of the mechanism step. For efficiently calculated mechanism must the position of P max be located in lower region of the moving line. This condition origin from the kinematics of obstacle overcoming (figure 10). Figure 10: Kinematics of mechanism. In the continuation we will restrict ourself to the worst case of obstacle, the stair with a height of 170mm. If the geometry of the mechanism would be defined so that the virtual rotation point is in the place of boundary rotation point, the mechanism would stand still when it collides with an obstacle. This is a consequence of loading of force guidelines and the perpicular to tangent, witch runs through point P max and the boundary rotation point. If we move the boundary rotation point a bit lower in according to the virtual rotation point, we create enrapture to angle of the tangent. Slope in the point P defines the guideline of moving vector of the mechanism. In the case when the slope of the tangent is bigger then a slop of the obstacle, is the mechanism able to overcome the obstacle. In our case is the maximum obstacle slop 90. In other words we must move the virtual rotation point a bit lower in reference to guideline of reaction (obstacle) force. In that case the mechanism is able to overcome the obstacle using the reaction force of the obstacle. All mentioned conditions totally define movement line. The points define the whole working area of the mechanism. The distance H, on figure 10, defines the maximum obstacle high. With this is the geometry of the movement line sufficiently defined and those conditions can be easily implemented in our program. PROGRAM FOR SEARCHING THE RISING LINE In the program we have implement the conditions compared by comparison of every solution with the reference movement line. The program calculates the movement line stepwise. For each of the solutions the program checks if the results fulfill the given conditions. In that case it plots the calculated movement path. After some valid results, we intensify the conditions and increase step size. From the results of the calculation with the fine accuracy, we chose one of the last results.
GEOMETRY SEARCHING PROGRAM REALIZED IN MATLAB % Calculation of movement line for front wheel % with consideration of all conditions % Definition of constants fi1=0*(pi/180); b1=0; c1=80; h1=140; e1=80; d1=0; omeg11=0; resitev=0; % Definition of length incrementing loops for kk= 0.0: 4.0: 0.0, fi=fi1+kk*pi/180; for m = 0.0: 3.0: 30.0, b=b1+m; for i = 0.0: 3.0: 30.0, c=c1+i; for j = 0.0: 5.0: 30.0, h=h1+j; for k = 0.0: 4.0: 40.0, e=e1+k; for l = 0.0: 3.0: 30.0, d=d1+l; for nn= 0.0: 3.0: 15.0, omega=omeg11+nn*pi/180; % Definition of variables 10 =-30::80; A=10*(pi/180); alfa=fi+(pi/)-a; a=abs(sqrt((b.^)+(c.^)-(.*b.*c.*cos(alfa)))); beta=asin(b./a.*sin(alfa)); epsylon=acos(((e.*e)+(d.*d)-(a.*a))/(*e.*d)); delta=asin(e./a.*sin(epsylon)); sprdelta=(a-beta); ksi=(delta-a+beta); %Definition of coordinates other geometrical %points g=g+1; if (u<=st & dpy>=0) g3=g3+1; elseif (u>=st & dpy>=0) g4=g4+1; G=g1+g+g3+g4; if (G==110 & kot<fi & Px_max>=150 &\ Px_max<=10 & Py_od_Px_max<=-100 & Py(56)>= 55) % End of program VI. axis([0 400-00 00]) plot(px,py,'b') hold on fi b c h d e omega SHORT DESCRIPTION OF THE ROBOT The autonomous mobile robot has six motor driven wheels [4]. RC servomotors were used for each one. The wheels are placed into rhomboid configuration, so that good robot stability is achieved. The robot in the main picture is a prototype. This prototype has overcome a barrier higher then a 170 mm. Dx=b.*sin(fi); Dy=b.*cos(fi); Bx=c.*cos(A); By=c.*sin(A); Cx=-d.*cos(ksi)+Bx; Cy=d.*sin(ksi)+By; % Definition one of conditions kot=atan((dx-cx(56))/(cy(56)-dy)); % coordinates of point P Px=((c*cos(A))+(h*cos(ksi+omega))); Py=((c*sin(A))-(h*sin(ksi+omega))); % Condition of line smoothness [Px_max,st]=max(Px); Py_od_Px_max = Py(st); g1=0; g=0; g3=0; g4=0; for u= 1: 1: 55, dpx=px(u+1)-px(u); dpy=py(u+1)-py(u); if (u<=st & dpx>=0) g1=g1+1; elseif (u>=st & dpx<=0) Figure 11: Dimensions of the mobile robot. VII. CONCLUSION The for-bar mechanism is frequently used in number of applications (industrial robots, pack-systems, construction mechanization ). In our application we used four-bar mechanism as a passive mechanism. We implement one actuator on the mechanism (DC-motor) witch helps to overcome the obstacle. The passive implementation of the mechanism enables the self-standing ground adaptation and we need no extra kinematics control for the mechanism. There exist no uniform method for definition of the exact geometry for a proper movement line of the four-bar
mechanism. In this work we present a simple way to define the geometry of this mechanism. Developed program is easy to understand, although the calculations that are performed are quite extensive. The program can also be altered, so that it can solve similar problems and can be therefore useful in many mechanical engineering problems. Figure 1: Wheel velocity. Built mobile robot can be used for many applications. Some of those are exploring of the unknown ground, detecting of mines on the minefields, as a drive for a vehicle for infirm persons and other. The robot needs reduced number of sensors because only obstacles higher then 170 mm have to be detected. REFERENCES [1] J. F. Gardner, Simulations of Machines Using Matlab and Simulink, Boise State University, 001. [] L. Hagedron, Konstuktive Getriebelehre, Germany, 1994. [3] K. R. Atia and M. P. Cartmell, A general dynamic model for a large scale -DOF planar parallel manipulator, Robotica, vol. 17, pp. 675-683, 1999. [4] T. Estier, Y. Crausaz, B. Merminod, M. Lauria, R. Piguet, R. Siegwart, "SHRIMP : An Innovative Space Rover with Exted Climbing Abilities", Institute of Robotics Systems, EPFL (Swiss Federal Institute of Technology Lausanne), Switzerland.