Open-loop "control" experiment

Desired trajectory

View desired trajectory

path // TraditionalForm

( 0      0      0    )            5      90 °   45 °            7      45 °   90 °

Convert desired trajectory to numeric representation

path = path // N ;

Create desired trajectory as interpolation function

desired = CreateDesiredTrajectory[path, {0, tmax, 1/freq}] ;

Control simulation

Timing[{desiredOut, actual, torques} = ControlManipulatorFromModel2[robot, DH, freq, tmax, {controlLaw, desired, controlModel, vars}] ;]

RowBox[{{, RowBox[{RowBox[{5.27,  , Second}], ,, Null}], }}]

Visualization of results

Join trajectories

gdesired = PlotMultipleTrajectory[desiredOut, {0, tmax}, {{dsh, Red}, {dsh, Blue}}, nS] ; gact ... ltipleTrajectory[actual, {0, tmax}, {{Red}, {Blue}}, nS] ; Show[gdesired, gactual, yS, imgSize] ;

[Graphics:../HTMLFiles/index_56.gif]

Error plot

error = CombineInterpolationFunctions[actual, desiredOut, {0, tmax}, Subtract] ; gerror = PlotMultipleTrajectory[error, {0, tmax}, {{Red}, {Blue}}, imgSize] ;

[Graphics:../HTMLFiles/index_58.gif]

Applied torques

gtorques = PlotMultipleTrajectory[torques, {0, tmax}, {{Red}, {Blue}}, imgSize] ;

[Graphics:../HTMLFiles/index_60.gif]


Created by Mathematica  (November 12, 2003)