MC-Basic:IdentificationStart

From SoftMC-Wiki
Jump to: navigation, search

Starts dynamic parameters identification for an axis or a robot.

The typical identification procedure basically contains following steps:

  1. With IdentificationStart the identification is configured and the internal recording of the feedback signals is started.
  2. A kinematics-specific excitation motion is issued by the user (typically SineWave is used).
  3. With IdentificationFinish the parameters are computed and written to the result file IdentFileName.prg.

Parameters

IdentDynamicModel
The dynamic model of which the parameters are identified.
If not given, the current dynamic model of the motion element is used.
The values 0 or -1 not allowed:
If Payload is ON, DynamicModel value is ignored.
IdentPayload
If ON, the payload (payloadmass, payloadinertia) is identified instead of the model parameters.
IdentFilterFreq
Cutoff frequency of the raw signal filter.
0 = the frequency is automatically detected
-1 = no filter is used at all
IdentFileName
File name without extension of the output files (.PRG, .REC)
If not given, files are called "IDNT<ElementId>"
IdentRelTeMax
Percentage of the maximal torque error compared to the maximal torque feedback of an axis. If the maximal TE is higher, the identification is considered to be failed.
IdentRecTimeMax
Maximal recording time after the start of identification.
IdentDebug
If enabled, a record file is produced on the softMC containing the signals used for identification:
  • Raw torque and position feedbacks (TbfRaw and PfbRaw)
  • Filtered and derived (velocity, acceleration) feedbacks (Tfb, Pfb, Vfb, Afb)
  • Torque command, which is computed using the identified parameters (Tcmd)
IdentSampleGap
The recording gap between data points in cycle time units.

Syntax

IdentificationStart <axis>|<robot> {IdentDynamicModel = <value>} {IdentPayload = ON|OFF} {IdentFilterFreq = <value>} {IdentFileName = <value>} {IdentRelTeMax = <value>} {IdentRecTimeMax = <value>} {IdentDebug = ON|OFF} {IdentSampleGap = <value>}

Availability

Since Version 4.9.7

Type

  • IdentDynamicModel : Long
  • IdentFilterFreq : Double
  • IdentFileName : String
  • IdentRelTeMax : Double
  • IdentRecTimeMax  : Double
  • IdentSampleGap : Long

Range

Units

  • IdentFilterFreq : Herz [Hz]
  • IdentRelTeMax : Percent [%]
  • IdentRecTimeMax : Seconds [s]
  • IdentSampleGap : Cycle Time

Default

  • IdentDynamicModel : element.DynamicModel
  • IdentPayload : OFF
  • IdentFilterFreq : 0 (auto-detect)
  • IdentFileName : "" (auto-assign)
  • IdentRelTeMax : 50%
  • IdentRecTimeMax : 30s
  • IdentDebug : ON
  • IdentSampleGap : 1

Scope

Task or Terminal

Limitations

  • Only one motion element can be identified at the same time.

Examples

Move axis axis.Pmax
SineWave axis axis.Pmin

IdentificationStart axis

Sleep 10000

IdentificationFinish
Print IdentificationStatus

Stop axis

See Also