1 Contents 2
2 Abstract 3
3 Introduction 4
4 Haptic Systems 5
4.1 INTRODUCTION 5
4.2 ADVANTAGES 5
5 Ball-Beam system 6
5.1 INTRODUCTION 6
5.2 BACKGROUND 6
5.3 MODELING 8
5.3.1 Motion of the ball 8
In this masterthesis regards the modeling of the ball-beam problem is made with haptic feedback (see figure 1). The operator can define the angle of the beam with a small steering wheel, which causes the ball to move on the beam. The angle is measured with a sensor and controlled with a control loop, the beam follow the steering wheel.
Figure 1: The ball-beam problem.
Because we work with a haptic servo system, the torque in the beam caused by the ball (??_b) and inertia will be fed back to the steering wheel. The feedback torque, created by the model, will be transmitted to the steering wheel with dSpace. The operator can sense that torque in the steering wheel, in this way he can estimate the position of the ball.
Firstly, a model for the DC-motor (the driving unit of the beam) is derived and simulated (via Simulink). Secondly, the equations of the position of the ball are derived and simulated, and the ball-beam problem is animated (via V-Realm). Thirdly, the hardware is connected to the model (via dSpace). Fourthly, the haptic feedback is tested and optimized.
Figure 2: Overview.’
A haptic servo system is a servo system where the forces from a controlled system are fed back to the operator. Haptic devices allows people to go beyond seeing virtual objects on a screen. This technology gives people the ability to feel a computer-generated environment by touch.
Haptic devices were developed for industrial and science applications. The first manipulators and telerobots were used in the nuclear and subsea industries. The haptic technology has become more and more integrated in the industry and our lives. From surgeries to computer games to vibrating cellphones.
The first step is the modelling of a electromechanical servo system. The middle of the beam is fixed to the axis of the DC-motor. The input of the system is current (directly proportional to torque) and the output is the angular velocity.
The second step to simulate the ball-beam system is the deriving of the equations of the system. In this thesis the Newtonian mechanics is used. In this step, the position of the ball can calculated in function of the angle and angle velocity, which can be obtained by the torque.
In the final step the visualization of the ball and the beam is programmed.
Electromechanical systems can be modeled by using the current i [A] as input, directly proportional to torque ?? [Nm] with as gain the torque constant k [Nm/A] and by using the friction parameter b [Nms]. The total inertia J_Tot [kgm^2] is the sum of the beam inertia J_Beam and the ball inertia J_Ball. Because of the changing distance r [m], J_Ball is a changing parameter. To model a current controlled servo motor, the resistance R [??] and the inductance L [H] are not used. A DC-motor converts electrical energy into mechanical energy. It consists basically of a stator and a rotor. The stator contains the housing, the magnets and the brushes. The conducting coil, axis shaft and commutator form the rotor. By solving the constitutive and mechanical balance equations, a model of the DC-motor can be derived regarding the input variables and parameters mentioned above. The electrical circuit of the DC-motor is pictured in figure 3. The torque created by the motor can be defined by the formula:
Figure 3: Electrical circuit current controlled DC-motor.
Motion of the Ball
The equations of motion for the ball-beam system can be derived using Newtonian mechanics. The equation consists of 4 terms: the gravity (2), the centrifugal force (3), the transversal inertia (4) and the rotational inertia (5).
m_Ball*r_Real*(‘?) ?? (3)
m_Ball*(r_Real ) ?? (4)
I/(R_Ball ??)*(r_Real ) ?? (5)
The parameters in the equations defines the mass of the ball m_Ball [kg], the acceleration of gravity g=9.81 m/s?? , the counterclockwise angle between the beam and the x-axis ?? [rad], the moment of inertia of the ball around its center I [kgm^2 ] and the radius of the ball R_Ball [m]. r_Real [m] is the total distance between the center of the ball and the pivot of the beam and can be calculated by using the Pythagorean equation:
Where r [m] is the distance between the ball and the rotation axis in the direction of the beam and H_beam [m] is the height of the beam. With these equations, the position of the ball can be solved by using the angle and the angular velocity, which can be found by the mechanical balance equation.
Figure 4: The ball-beam problem, simulation.
Torque of the system
The torque of the system, ??_System, is generated by the following 5 forces, the inertia of the ball (7) and the beam (8), the Coriolis force (9), the gravity (10) and the friction of the axis (11).
2*m_Ball*(r_Real ) ??*’?*r_Real (9)
The parameter in the equation define the moment of inertia of the beam J_Beam [kgm^2]
To visualize the ball-beam problem, the matlab toolbox V-Realm is used. The Virtual Reality Toolbox is a solution for interacting with virtual reality models of dynamic systems over time. (MathWorks, 2004 (October): page 1-2)
Equation of the motion of the ball
To derive the formula for the motion of the ball, equations 2 to 5 are used. With figure 5 the force balance of the system can be set up. Equation 2 is the component of the gravity in the direction of the beam. The centrifugal force, equation 3, is resulting out of the angular velocity of the beam. This force is an out warding force, which means the opposite direction of equation 2. Both the inertia forces are in the same direction of equation 2 because the ball is moving in negative r direction. The transversal inertia is defined by the mass times acceleration, which leads to equation 4. Equation 5 can be derived of the summing torques about the axis of rotation of the ball:
Where F_Fr is the friction between the ball and the beam and ?? is the rotational angle of the ball about its center, which is given by:
Substituting (13) into (12) and solve to F_Fr gives us equation 5.
Figure 5: The motion of the Ball.
Together, these 4 equations form the motion of the ball which is:
m*g*sin'(??)-m*r*’?^2+r ??(m+I/(R_Ball^2 ))=0 (13)
Equation of the torque
To derive the function of the torque, equations 7 to 11 are used. The inertia of the ball is simplified to a point mass rotating around a center. This inertia is defined by mass times radius times angular acceleration leading to (7). The torque produced by the inertia of the beam is equal to the inertia times the angular acceleration (equation 9). The Coriolis acceleration is defined by
a_Coriolis=2*r ??*’? (14)
Whereas the torque equals to radius times force, and force equals to mass times acceleration, the torque created by the Coriolis acceleration is defined by equation 9. The torque created by the gravity is defined by equation (10) as can easily be seen in figure 5. The extra torque needed due to the friction in the motor and in the bearings can be determined by multiplying the friction parameter b to the angular velocity. By adding all this equations up, the torque equation can be found.
??=(m_Ball*r_Real^2+J_Beam )*’?+2*m_Ball*(r_Real ) ??*’?*r_Real+m_Ball*g*r*cos'(??)+b*’? (15)
Implementing equation 1:
k*i=(m_Ball*r_Real^2+J_Beam )*’?+2*m_Ball*(r_Real ) ??*’?*r_Real+m_Ball*g*r*cos'(??)+b*’? (16)
Non-linear states of the model
We rewrite the state variables of the ball-beam system in a state vector as follows:
x(t)=[‘(x_1 (t)@x_2 (t)@x_3 (t)@x_4 (t))]=[‘(r(t)@r ??(t)@??(t)@’?(t))] (17)
This way, the input x ?? and the output y can be found in the following forms:
x ??=f(x,??)=[‘((x_1 ) ??(t)@(x_2 ) ??(t)@(x_3 ) ??(t)@(x_4 ) ??(t))]=[‘(r ??(t)@r ??(t)@’?(t)@’?(t))] (18)
By implementing equations (13) and (15) into equation 18 and 19 we get respectively equation 20 and 21.
x ??=[‘(x_2@(m_Ball*x_1*x_4^2-m_Ball*g*sin'(x_3 ))/(m+I/(R_Ball^2 ))@x_4@(??-2*m_Ball*x_1*x_2*x_4-m_Ball*g*x_1*cos'(x_3 ))/(m*x_1^2+J+b))] (20)
y=[‘(x_1@x_3 )] (21)
our text in here…
...(download the rest of the essay above)