11
2. Motion Analysis - Sim-Mechanics Figure 1 - The RR manipulator frames The following table tabulates the summary of different types of analysis that is performed for the RR manipulator introduced in the theory section. DOF Forward Kinematics Inverse Kinematics Inverse Dynamics Forward Dynamics Input , , known unknown unknown Unknown Accelerations, Others known as initial conditions Input , , Output , , unknown known known Output , , - - unknown known Internal forces - - unknown unknown This tutorial will cover how to model a mechanism in Sim-mechanics and how to configure the model for the different types of analysis given above.

Motion Analysis Sim Mechanics

Embed Size (px)

DESCRIPTION

SimMechanics 2.0 Tutorial

Citation preview

  • 2. Motion Analysis - Sim-Mechanics

    Figure 1 - The RR manipulator frames

    The following table tabulates the summary of different types of analysis that is performed for

    the RR manipulator introduced in the theory section.

    DOF Forward

    Kinematics

    Inverse

    Kinematics

    Inverse

    Dynamics

    Forward

    Dynamics

    Input , , known unknown unknown Unknown

    Accelerations,

    Others known as

    initial conditions

    Input , ,

    Output , , unknown known known

    Output , ,

    - - unknown known

    Internal forces - - unknown unknown

    This tutorial will cover how to model a mechanism in Sim-mechanics and how to configure the

    model for the different types of analysis given above.

  • .

    For this exercise the COG are placed at the middle of each link, and each link is assumed to be a

    cylinder with radius 10mm. The parameters of the mechanism are given below:

    Link 1: = 300, = 0.5

    Link 2: = 500, = 1

    The moment of inertia of a cylinder with height h, radius R, and mass M, with axis aligned at the

    middle of the cylinder is given by the following equation.

    2.1 Modelling the mechanism

    Open a new sim mechanics model by selecting new> simulink model in the Matlab

    home tab. Save the model with the name manipulator_example.

    Select the simulink library browser button .

    Navigate to Simscape>SimMechanics> Second generation to find the blocks used to

    model the mechanism. First let`s model the first link of the manipulator.

    Figure 2

  • .

    The configuration block is used to specify gravity. The transform block is used to apply a

    fixed transformation between a base and a follower frame. Therefore, the lines in a sim

    mechanics model relates to a frame in the mechanism.

    Revolute joints in sim mechanics always apply rotation about the z axis of the base

    frame. Therefore, you have to introduce an initial rotation to align the z axis of the base

    frame, such that its coming out of the screen.

    The solid block is used to attach a mass to a rigid body.

    Implement the set of blocks shown in the figure 2. Use the following parameters for the

    blocks

    Block Base frame Follower frame Rotation Translation (mm)

    Transform 1 WA WB Y,90 [0,0,0]

    Transform 2 1A 1B 0 [150,0,0]

    Transform 3 1B 1C 0 [150,0,0]

    Solid Center of

    Gravity (mm) Mass (kg)

    Moment of Inertia

    (kg mm^2)

    Product of Inertia

    (kg mm^2)

    Solid [0,0,0] 0.5 [25, 3762.5, 3762.5] [0, 0, 0]

    You should be able to figure out the parameters from the sketch of the mechanism given in

    figure 1. The moment of inertia values were found by assuming that the link is a cylinder. To

    give visual properties for the link, open the geometry block and select brick under geometry

    and specify the parameters [300 20 20]mm.

    Set gravity to [0 0 -9.81] in the configuration block and press run. A mechanics

    explorer will open up. Select view> show frames and show COMs. Click the front view

    button to see the mechanism. You can select view>background color to change the

    background. The link should perform a free vibration (non-decaying swinging).

  • .

    Lets add some damping to the link. Open Revolute joint 1 and under internal

    mechanics> damping coefficient enter 0.01 m*s*N/rad. The link should now perform a

    damped free vibration (decaying swinging).

    Complete the model as shown in figure. Use the parameters given in the table. The

    planar joint is used to close the loop. But it does not constraint frame {2C} in this planar

    mechanism.

  • .

    Block Base frame Follower frame Rotation Translation (mm)

    Transform 1 WA WB Y,90 [0,0,0]

    Transform 2 1A 1B Z,0 [150,0,0]

    Transform 3 1B 1C Z,0 [150,0,0]

    Transform 4 2A 2B Z,0 [300,0,0]

    Transform 5 2B 2C Z,0 [300,0,0]

    Solid Center of

    Gravity(mm) Mass (kg)

    Moment of Inertia

    (kg mm^2)

    Product of Inertia

    (kg mm^2)

    Solid 1 [0,0,0] 0.5 [25, 3762.5, 3762.5] [0,0,0]

    Solid 2 [0,0,0] 1 [50, 20858, 20858] [0,0,0]

    Add link geometry and joint damping to link 2 and run the model.

    2.2 Initializing the mechanism

    The state target tab in the joint block allows to specify the initial condition of each joint. The

    state target should be specified as a high priority (exact) or low priority(approximate) value.

    Let's try to initialize the mechanism as shown.

    Configuration 1: = 30, = 30

    Open each joint block and specify the following state targets.

  • .

    DOF Position State target

    value

    Priority

    setting

    Initialized value

    Revolute 1 30 High

    Revolute 2 30 High

    Planar 1 x disabled 0.509 m

    Planar 1 y disabled 0.583 m

    The initialized value is found by clicking tools>model report in the mechanics explorer

    Configuration 1: = 0.5, = 0.5, > 45

    There are two solutions for x,y= 0.5m. Let`s say you want to initialize as given in figure 3.

    For this, the value can be set approximately. Open each joint block and specify the

    following state targets.

    DOF

    Position State

    target

    value

    Priority

    setting

    Initialized value

    Revolute 1 50 Low 81.73

    Revolute 2 Disabled -57.76

    Planar 1 x 0.5 High

    Planar 1 y 0.5 High

    Figure 3

    Notice that sim mechanics will give an error if you try to specify revolute 2 as well. In sim

    mechanics you cannot specify state targets to all the joints around a loop.

  • .

    2.3. Performing different types of analysis

    To do a forward dynamics study first go to file>save as and save the model with the

    filename manipulator_example_FD.

    Open the revolute joints. under actuation torque select provided by input. Attach a sine

    wave as the torque signal with 0.01 amplitude. You must use a simulink to physical

    signal converter block.

    Give a torque of 0 to joint 2. run the model to see results. select file>save.

    For a forward kinematic study, first go to file>save as and save the model with the

    filename manipulator_example_FK.

    Disable all initialization of joints. Since we are specifying all input kinematic variables

    which fully define the configuration, there is no need of specifying initialization.

    Open the two revolute joints and under actuation select provided by input for motion

    and automatically computed for torque for both revolute joints.

    Add sine signals as input motion with an amplitude of 1rad for both. You need to tell

    sim mechanics to automatically compute the velocity and acceleration of the input

    position signals. Open the simulink to physical signal converter blocks and under the

    input handling tab select filter inputs in the first drop down, and select second order

    filtering in the second drop down.

    Run the model to see results. select file>save.

  • "

    The forward kinematic setup is good to verify trajectory plans where we can validate

    that a given motion profile to the joints would generate desired results. ex: tool path

    simulation.

    The forward dynamic setup is good to verify controllers where we can validate different

    controllers to see the response.

    The following table summarizes the settings used for the two analysis.

    DOF Forward

    Kinematics

    Forward

    Dynamics

    Revolute 1 Motion Input computed

    Torque computed Input

    Revolute 2 Motion Input computed

    Torque computed Input

    Planar 1 x Motion computed computed

    Torque none none

    Planar 1 y Motion computed computed

    Torque none none

    Inverse studies

    Similarly for the inverse studies the settings for each joint can be summarized as follows:

    DOF Inverse

    Kinematics

    Inverse

    Dynamics

    Revolute 1 Motion computed computed

    Torque computed computed

  • .Revolute 2 Motion computed computed

    Torque computed computed

    Planar 1 x Motion Input Input

    Torque none none

    Planar 1 y Motion Input Input

    Torque none none

    Both looks identical, The only difference is that in inverse kinematics we are looking for the

    motion of the revolute joints for the given output motion. And in the inverse dynamics study

    we are looking for the torques of the revolute joints. So it`s a difference in where we connect

    the scopes.

    Sim mechanics has the following rule: Each kinematic loop must contain at least one joint that has no motion from input and no

    automatically computed forces or torques among its primitives.

    So setting up the the joints as in table would give an error. We create a dummy joint to satisfy

    the condition.

    first go to file>save as and save the model with the filename manipulator_example_IK.

    Add a weld joint between the prismatic joint and frame {WB}.

    Apply sine motion inputs to both the axis of the planar joints with 0.05 amplitude and

    0.5 bias. In S-PS blocks make sure you have enabled input filtering.

    For the inverse kinematic study open the revolute joints and under the sensing tab

    enable position.

    Connect a scope using a PS-S converter block.

    Since the inverse position has two solutions we can use a low priority state target to

    specify the desired configuration. Open Revolute join 1 and specify a low priority state

    target position of 50 degrees.

  • .

    Run the model to see the results. You can use the configuration button of the scope to

    adjust display style of the scope. And use zoom buttons to adjust axis limits. select

    file>save.

    The inverse kinematic setup is good to generate a reference trajectory for a given

    desired output motion. So this is crucial for motion planning of automated machines.

    Go to file>save as and save the model with the filename manipulator_example_ID.

  • . Settings for an inverse dynamic study is same as the inverse kinematic study. The only

    difference is that you will enable actuator torque sensing under the sensing tab of each

    revolute joint.

    Enable velocity sensing of each revolute joint as well.

    Use a product block to calculate the power requirement of each actuator.

    The inverse dynamic setup is good for sizing of actuators for a design. It allows to calculate

    the power requirement. The torque speed operating regions for an actuator can also be

    found so you can design suitable power transmission for the actuators to operate in the

    region identified by the study. select file>save.