Plane Thermoelastic Waves in Infinite Half-Space Caused FACTA UNIVERSITATIS Series: Mechanical Engineering Vol. 12, N o 3, 2014, pp. 223 - 234 1 FUZZY CONTROLLER FOR THE CONTROL OF THE MOBILE PLATFORM OF THE CORBYS ROBOTIC GAIT REHABILITATION SYSTEM UDC 681.5 Maria Kyrarini, Siniša Slavnić, Danijela Ristić-Durrant Institute of Automation, University of Bremen, Germany Abstract. In this paper, an inverse kinematics based control algorithm for the joystick control of the mobile platform of the novel mobile robot-assisted gait rehabilitation system CORBYS is presented. The mobile platform has four independently steered and driven wheels. Given the linear and angular velocities of the mobile platform, the inverse kinematics algorithm gives as its output the steering angle and the driving angular velocity of each of the four wheels. The paper is focused on the steering control of the platform for which a fuzzy logic controller is developed and implemented. The experimental results of the real-world steering of the platform are presented in the paper. Key Words: Robot-assisted Gait Rehabilitation, Inverse Kinematics Based Control of the Mobile Robot, Fuzzy Logic Controller 1. INTRODUCTION The objective of the integrated EU FP7 project CORBYS [1][2] is to design and implement a generic robot control architecture that allows the integration of high-level cognitive modules to support the functioning of the robot in dynamic environments including interaction with humans. As a practical application of the control architecture, a novel cognitive mobile gait rehabilitation system is being developed during the project’s lifetime. Fig. 1 shows the final CAD model image of the CORBYS robot-assisted mobile gait rehabilitation system with an associated global coordinate system. It consists of an omnidirectional mobile platform, a powered robotic orthosis attached to the platform via a pelvis link, and a linear unit. The mobile platform provides mobility for a patient and enables overground walking training, whilst the powered robotic orthosis helps the patient to complete his/her leg movements. Received October 17, 2014 / Accepted November 22, 2014 Corresponding author: Danijela Ristić-Durrant University of Bremen, Institute of Automation, Otto-Hahn-Allee, NW1, 28359 Bremen, Germany E-mail: ristic@iat.uni-bremen.de Original scientific paper 224 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT 1.1. The main components of the CORBYS system The mobile platform constitutes the central housing structure of the CORBYS mobile gait rehabilitation system. It serves as a component carrier for the linear unit and motors for the orthosis, as well as for the central power supply system. The mobile platform also houses a network module, and other system modules such as the safety module and various computers upon which the modules of the control architecture are running. Four wheel hub motors are connected to the platform for driving, which provide for the system movement in the x-direction. Each wheel is fitted with a steering angle motor to change its direction (rotation about y-axis) so that the platform can drive along the curves. Fig. 1 CAD model image of the CORBYS mobile gait rehabilitation system The linear unit enables both lifting and lowering of the patient’s body (patient’s pelvis movement in the y – direction) and side to side movement of the patient’s body (patient’s pelvis movement in the z – direction). It is equipped with two servo-positioning motors for the actuation of y – axis which are chosen to provide for partial body weight support. One servo motor is used for the z – axis actuation. The pelvis link is the connection between the linear unit, attached to the platform, and the powered orthosis. The pelvis link ensures that the patient’s pelvis can rotate in the frontal and transverse planes. The force/torque sensor for measurement of the interaction force between the patient and the CORBYS system is placed within the pelvis link. This measurement will be used for control of the mobile platform enabling it to follow walking patients while they are wearing the powered orthosis. The powered orthosis assists the patient’s lower limb joint motions. The DoFs configuration of the CORBYS orthosis prototype follows the natural human limb kinematics. There are 6 Degrees of Freedom (DoFs) at each leg: 3 DoFs in the hip, 1 DoF in the knee, and 2 DoFs in the ankle joints. The hip, knee and ankle joint motions on the sagittal plane (i.e. flexion and extension) are selected as active DoFs based on the biomechanical properties of human walking, while the hip DoFs in the transverse and frontal planes as well Fuzzy Controller for the Control of the Mobile Platform of the CORBYS Robotic System 225 as the ankle DoF in the transverse plane are passive. The movements of the orthosis joints in the sagittal plane are controlled by a push-pull control (PPC) cable-based actuation system [6]. There are three actuators per orthosis leg that actuate the hip, knee and ankle joints in the sagittal plane. The actuators are placed on the mobile platform while the PPC cables are flexible links to the joints used to transfer the rotational movement of the motors to specifically designed orthotic joints. 1.2. Joystick control of the mobile platform In the fully integrated and functional CORBYS gait rehabilitation system, the mobile platform will be controlled in order to follow the walking patients while they are wearing the orthosis. However, in the early stages of system development a joystick control of the mobile platform had to be integrated. The joystick control should enable “manual” platform control during the system development. Also, the joystick control is necessary to move the platform with attached orthosis towards the patient in the process of setting up the patient in the orthosis. In this paper, an inverse kinematics based control algorithm for joystick control of the mobile platform is presented. Given the linear and angular velocities of the mobile platform using the joystick, the inverse kinematics algorithm gives as output the steering angle and the driving angular velocity of each of the four wheels of the platform. The paper is focused on the steering control of the platform for which a fuzzy logic controller is developed and implemented. The rest of the paper is organized as follows. In Section 2 the inverse kinematics model of the mobile platform used for the design of the fuzzy controller is given. The design of the fuzzy controller is given in Section 3. Section 4 presents experimental results obtained in real-world steering of the CORBYS mobile platform wheels using the designed controller. 2. INVERSE KINEMATICS OF THE FOUR-WHEEL MOBILE PLATFORM The reference values for the control of mobile robots can be defined utilizing dynamical or kinematic model, respectively [5]. Given the linear and angular velocities for the center of mass of the mobile robot, the inverse kinematics equations calculate the steering angle and the driving angular velocity of each wheel of the mobile robot. Starting from the mobile platform illustration shown in Fig. 2, the kinematic model of the mobile platform of CORBYS system is derived in the following way. The mobile platform is considered as a rigid body with four independent wheels: front right wheel (W1), rear right wheel (W2), front left wheel (W3) and rear left wheel (W4). The known variables for the inverse kinematic equations are the x- and z-components of linear velocity of the mobile platform center of mass [Vcx,Vcz] with respect to the inertial frame {O,X,Y,Z}and the angular velocity of center of mass, , with respect to the inertial frame. The unknown variables are the driving angular velocity of each wheel , 1,2,3,4 i i  and the steering angle of each wheel 4,3,2,1, ii . The inverse kinematic equations can be summarized as follows: 1 1 2 3 4 1 2 3 4 [ ] ( , , ) T cx cz f V V           (1) 226 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT Beside the inertial or reference frame {O,X,Y,Z}, for the description of the motion of the platform two additional frames are important as illustrated in Fig. 2: the frame {C,x,y,z} which is attached to the centre of mass of the mobile platform and the frames {Wi,xi',yi',zi'}, i = 1,2,3,4 that are attached to the centers of the wheels. Fig. 2 Top view of the mobile platform The mobile platform has the following characteristics: width W = 1026.4mm, length L = 1702mm, wheel radius R = 100mm. Velocities Vi, i = 1,2,3,4, of the wheels’ centre points with respect to the inertial frame {O,X,Y,Z}are as follows: iici ddVV   (2) where Vc is the linear velocity of the mobile platform centre of mass with respect to the inertial frame whose x-component and z-component are expressed in terms of unit vectors (i, j, k) in the frame {C,x,y,z}: czcxc VVV  . (3)  is the angular velocity of the frame {C,x,y,z}, with respect to the inertial frame and di is the position vector of the point Wi with respect to the frame {C,x,y,z}. As di is constant, time derivative id  of the position vector in (2) is equal to zero. Position vectors di, i = 1,2,3,4 of wheels’ centre points can be represented in terms of unit vectors (i, j, k) in the frame {C,x,y,z}: Fuzzy Controller for the Control of the Mobile Platform of the CORBYS Robotic System 227 1 2 3 4 ; ; ; 2 2 2 2 2 2 2 2 L W L W L W L W d i k d i k d i k d i k          . (4) The x- and z-components of velocities Vi , i = 1,2,3,4 with respect to the inertial frame, are expressed in terms of the units vectors in the frame {C,x,y,z} as:              i L VVk W VV czzcxx 2 ; 2 11  (5)              i L VVk W VV czzcxx 2 ; 2 22  (6)              i L VVk W VV czzcxx 2 ; 2 33  (7)              i L VVk W VV czzcxx 2 ; 2 44  (8) As said above, the motion of wheel Wi is defined by driving angular velocity i and steering wheel angle i  which are illustrated in Fig. 3. Fig. 3 Left: Driving angular velocity of the wheel (right side view). Right: Wheel steering angle (top view) In pure rolling conditions, driving angular velocity i and steering angle i for each wheel are calculated as: 4,3,2,1, 22    i R VV izix i  , 4,3,2,1,2atan           i V V ix iz i  . (9) The inverse kinematic model of the mobile platform (9) and (5-8), is used for the development of the steering control algorithm as given in the following section. 228 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT 3. FUZZY LOGIC CONTROL OF STEERING DC MOTOR Fuzzy logic provides useful methodology for a practical solution for controlling complex systems particularly in the absence of the exact model of such complex systems [3][4][7]. Due to the lack of information on the steering motors and load characteristics, a fuzzy logic controller is designed and implemented for the steering angle position control of each wheel of CORBYS mobile platform. A block-diagram of the fuzzy logic control system is shown in Fig. 4. Fig. 4 Block-diagram of the fuzzy logic control of steering DC motor In order to achieve desired (reference) steering angle value ref (t) as calculated from the inverse kinematics, position error e(t) = ref (t)  (t), which is different from desired and actual steering angle (t) measured by the angle sensor, and corresponding derivative de(t) are selected as two input variables. The membership functions (MFs) for two input variables are shown in Figs. 5 and 6, respectively. Fig. 5 Membership function for the input e(t) Fig. 6 Membership function for the input de(t) Fuzzy Controller for the Control of the Mobile Platform of the CORBYS Robotic System 229 The output of the fuzzy logic controller is applied voltage V(t) (Fig. 7). The linguistic variables are defined as NB: Negative Big, NM: Negative Medium, NS: Negative Small, ZE: Zero, PS: Positive Small, PM: Positive Medium, PB: Positive Big. The set of decision control rules is shown in Fig. 8. The fuzzy rules contain the relationships between inputs and output. Each control input has seven fuzzy sets so there are 49 fuzzy rules. The fuzzyfication, converting a numerical variable into a linguistic variable, and the set of control rules are designed experimentally. The rule base structure is Mamdani fuzzy interference reasoning. The number of MFs (seven) is chosen so as to meet requirements of smooth and time efficient steering control. When the error and the change of error are big, then the applied voltage should be maximal so that the steering motor rotates with maximum angular velocity. As the steering motor rotates, the wheel is coming closer to the desired position so that the steering motor should move slowly enough to continue the wheel moving towards the desired position and avoiding big overshoot. The seven MFs enable good control on the required speed changes of the motor, which is not possible for the considered mobile platform with three MFs or five MFs. The knowledge base for the fuzzy controller is generated from the control rules of the form: IF e = Ei and de = dEj THEN V = V(i,j). These rules form the “rule base” which characterizes the manner in which the steering DC motor is controlled. For example, if error is PM and error change is PM then the output (voltage) is PB, which means that the motor will rotate with high angular speed until the position error is minimized. Fig. 7 Membership function for output V(t) Fig. 8 Fuzzy rule base 230 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT 4. EXPERIMENTAL RESULTS A. Linear Motion of the Mobile Platform In the experimental scenario named “Linear Motion of the Mobile Platform”, the mobile platform is moved forwards, backwards and sideways using a joystick as the input device. The system receives two signals from the joystick, as shown in Fig. 9. The first signal A represents the linear velocity of the mobile platform center of mass in the x- direction Vcx (forwards and backwards movements) and the second signal B represents the linear velocity in the z-direction Vcz (sideways movements). From the joystick signals illustration in Fig. 9, it can be seen that the movement of the mobile platform is commanded as following: after 6sec from the start of the experiment the platform should go forward for 8,5sec (Motion I); 1sec after Motion I the platform should move to the right for 7,5 sec (Motion II); 1sec after Motion II the platform should go backwards for 13,5 (Motion III); 0,5sec after Motion III the platform should move to the left for 10sec (Motion IV). The time intervals when the platform is not moving are referred to as Rest time. Fig. 9 Joystick signals - linear velocity of the mobile platform Starting from the input joystick signals, the steering angle is calculated from the inverse kinematics as shown in Fig. 10A for one of the mobile platform wheels. Since the desired motion of the platform is linear, all the wheels have the same steering angle. As it can be seen in Fig. 10A, the output of the inverse kinematics are angles 0°, 90°, 180° and -90°for the Motions I, II, III and IV, respectively. Fig. 10B shows the adapted output of the inverse kinematics. Namely, since the driving DC motors are able to drive in 2 directions only - forward and backwards, the value of steering angle is limited to [-90°, 90°]. For example, in Motion III the platform should move backwards. In that case there are two options: to steer the wheel to 180° and drive forward or to steer the wheel to 0° and drive backwards. Due to the limitation of steering angle, the second option is taken as the adapted inverse kinematics output. Additionally, the steering angle is not changing until it Fuzzy Controller for the Control of the Mobile Platform of the CORBYS Robotic System 231 gets a new command from the joystick. So between Motion II and III as well as between Motion III and IV the steering angle keeps the previous value. The calculated steering angle is the reference signal for the control of the steering DC motor. The reference signal and the actual steering angles, measured from the angle sensors, for each platform’s wheel are given in Fig. 11. From the presented results, it is evident that the implemented fuzzy logic controller eliminates the error. Fig. 10 Calculated steering angle Fig. 11. Reference (red) and measured (blue) steering angles 232 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT B. Rotation of the Mobile Platform In the second experimental scenario named “Rotation of the Mobile Platform”, the mobile platform exhibits a rotation around the y-axis of the centre of mass frame, using the joystick as input device. The system receives one signal from the joystick as shown in Fig. 12, which represents the target angular velocity of the mobile platform . From the joystick signal illustration in Fig. 12, it can be seen that the movement of the mobile platform is commanded as follows: after 5sec from the start of the experiment the platform should rotate clockwise around the center of mass for 2.1sec (Motion I); 1.1sec after Motion I the platform should rotate counterclockwise around the center of mass for 0,4 sec (Motion II); 1.3 sec after Motion II the platform should rotate counterclockwise for 1.1sec (Motion III). The time intervals when the platform is not moving are referred to as Rest time. Fig. 12 Joystick signal - angular velocity of the mobile platform Using the signal from the joystick as input, the wheels’ steering angles are calculated from the inverse kinematics as shown in Fig. 13. As the driving DC motors are able to drive in 2 directions - forward and backwards, the value of steering angle is limited to [- 90°, 90°]. Additionally, the steering angle is not changing until it gets a new command from the joystick. The adapted output of the inverse kinematics to meet the above limitations can be seen in Fig. 14 (red). In this scenario, the front right wheel and rear left wheel are steered at 59° and the front left wheel and rear right wheel are steered at -59°. The calculated adapted steering angle is the reference signal for the control of the steering DC motor. The reference signal and the actual steering angle, measured from the angle sensors, for each wheel are given in Fig. 14 (blue). As it can be seen also in this scenario, the implemented fuzzy logic controller is efficient as eliminates the error. Fuzzy Controller for the Control of the Mobile Platform of the CORBYS Robotic System 233 Fig. 13 Calculated steering angle Fig. 14 Reference (red) and measured (blue) steering angles 4. CONCLUSION In this paper the design and implementation of a fuzzy controller for the wheels steering control of the mobile platform of the robotic gait rehabilitation system CORBYS are presented. The reference control signals are calculated using inverse kinematics of the mobile platform. The results from two real-world experimental scenarios, “Linear Motion of the Mobile Platform” and “Rotation of the Mobile Platform” that illustrate the effectiveness of the implemented fuzzy controller are given in the paper. 234 M. KYRARINI, S. SLAVNIĆ, D. RISTIĆ-DURRANT Acknowledgements: This research was supported by the European Commission as part of the CORBYS (Cognitive Control Framework for Robotic Systems) project under contract FP7 ICT-270219. REFERENCES 1. Ristić-Durrant, D., Slavnić, S., Glackin, C., 2014, CORBYS project overview: approach and achieved results, in W. Jensen et al. (eds), Replace, Repair, Restore, Relieve – Bridging Clinical and Engineering Solutions in Neurorehabilitation, Biosystems & Biorobotics, 7, pp. 139-147. 2. EU FP7 project CORBYS, www.corbys.eu (access date: 09.11.2014.) 3. Kumar, N. S., Kumar, C. S., 2010, Design and Implementation of Adaptive Fuzzy Controller for Speed Control of Brushless DC Motors, International Journal of Computer Applications, 1(27), pp. 36-41. 4. Rubaai, A., Ricketts, D., Kankam, D. M., 2002, Development and Implementation of an Adaptive Fuzzy-Neural-Network Controller for Brushless Drives, IEEE Transactions on Industry Applications, 38(2), pp. 441-447. 5. Rubio, J. J., Aquino, V., Figueroa, M., 2013, Inverse kinematics of a mobile robot, Neural Computing & Applications, 23, pp.187-194. 6. Slavnić S., Ristić-Durrant, D., Tschakarow, R., Brendel, T., Tüttemann, M., Leu, A., Gräser, A., 2014, Mobile robotic gait rehabilitation system CORBYS – overview and first results on orthosis actuation, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014). 7. Prema, K., Kumar, N. S., Dash, S. S., 2014, Online Control of DC Motors Using Fuzzy Logic Controller for Remote Operated Robots, Journal of Electrical Engineering & Technology, 9(1), pp. 352-362. FAZI KONTROLER ZA UPRAVLJE MOBILNOM PLATFORMOM ROBOTSKOG SISTEMA ZA REHABILITACIJU HODA CORBYS Ovaj rad predstavlja kontrolni algoritam na bazi inverzne kinematike za džoistik upravljanje mobilnom platformom novog mobilnog robotskog sistema za rehabilitaciju hoda CORBYS. Mobilna platform ima četiri točka sa nezavisnim upravljanjem i pogonom. Polazeći od linearne i ugaone brzine mobilne platforme inverzna kinematika definiše, kao svoj autput, ugao nupravljanja i pogonsku ugaonu brzinu svakog od četiri točka. Rad je usredsređen na upravljačku kontrolu platforme za koju je razvijen i implementiran fazi kontroler. Eksperimentalni rezultati upravljanja realnom platformom su prikazani u radu. Ključne reči: robotski podržana rehabilitacija hoda, upravljanje mobilnim robotom na bazi inverzne kinematike, fazi kontroler http://www.corbys.eu/