主要内容

Generatecode.

生成C代码以在KineMaticsOlver对象上运行运动分析

描述

generatecode(ks.创建一个独立的matlab®相当于的功能解决函数,但支持代码生成。金宝app它还创建一个名为的目录型号名称_codegen_kinematics包含当前目录中代码生成的所有源文件,其中型号名称是输出字符串ks.modelname.

已调用创建的MATLAB函数型号名称_solvewinematics并具有与之相同的签名解决功能:

[输出,statusflag,targetflags,targets] = modelname_solvewinematics(目标,initialGuesses)

生成后,函数完全独立于原始对象,不会反映对象的任何更改。您可以从包含该的MATLAB代码生成MEX函数,静态库(lib)和动态库(DLL)型号名称_solvewinematics功能使用Codegen.功能,需要MATLAB Coder™许可证。

笔记

型号名称_SolveWineMatics不打算从MATLAB调用,并直接从MATLAB命令行或MATLAB文件调用时发生错误。但是,您可以直接从Simulink模型中的MATLAB功能块调用此函数。金宝app

例子

全部收缩

  1. 设置双摆模型的逆运动学问题。

    mdl ='sm_double_pendulum';Open_System(MDL);ks = simscape.kinematicssolver(MDL);addframevariables(ks,'LowerLinkpeg''翻译'......'sm_double_pendulum / world frame / w'......'sm_double_pendulum / lower link / light peg / r');targetids = [“LowerLinkPeg.Translation.x”;......“LowerLinkPeg.Translation.z”];addtargetvariables(ks,targetids);initialGuessids =“j2.rz.q”;AddInitialGuessvariables(ks,initialguessids);OutputIds = [“j2.rz.q”;“j1.rz.q”];addoutputvariables(ks,outputids);
  2. 创建一个独立的解决函数和带源文件的目录。

    generatecode(ks);
  3. 为MATLAB函数创建MEX函数。

    Codegen.-config:mex.sm_double_pendulum_solvewinematics.
  4. 使用MEX函数解决逆运动学问题。

    [outputvals,status,targetsuccess,catttargetvals] =......sm_double_pendulum_solvekinematics_mex([0.3,0],120)
  5. 输出

    OutputVals = 124.0477 -57.1217状态= 1 TargetSuccess = 2×1逻辑大批1 1 ActtargetVals = 0.3000 0

输入参数

全部收缩

一种KinematicsSolver对象是用于运动学分析的Simscape多体模型的表示。

例子:ks = simscape.kinematicssolver('sm_double_pendulum')

数据类型:Kinematicsolver对象

也可以看看

|

在R2019A介绍