VCal ステートメント
適用
ビジョンキャリブレーション
解説
VCalによって、SPEL+ プログラムからキャリブレーションを行うことができます。
用法
VCal Calibration [, var]
- Calibration
- キャリブレーションするキャリブレーション名
- var
- 返される状態を示す整数変数。省略可能です。
値
状態をvarで返します。
[OK]ボタンをクリックするとvarの値は「1」を示します。
[キャンセル]ボタンをクリックするとvarの値は「0」を示します。
詳細説明
キャリブレーション定義は、キャリブレーションを開始する前に、Vision Guideウィンドウから設定するか、VCreateCalibtaionで作成しておいてください。また、各ポイントは事前に教示しておかなければなりません。キャリブレーションに必要なポイントデータを持つキャリブレーションと同名の、コントローラー内のポイントファイルを使うこともできます。Epson RC+ がこのポイントファイルを見つけると、その中のポイントを使います。使用例を参照してください。
VCalでキャリブレーションを行った後は、必ずVSaveを呼び出し、新しいキャリブレーションデータを保存してください。
キーポイント
キャリブレーションを実施するカメラがコンパクトビジョンに接続されている場合、ロボットコントローラーにEpson RC+が接続されている必要があります。Epson RC+が接続されていない場合、コマンドは実行エラーになります。
使用例1
この例では、モバイルJ6カメラのキャリブレーションを、AutoReferenceプロパティーを無効に、AutoCamPointsプロパティーを有効にして実行します。
Function CalMobileJ6
String cal$
cal$ = "mycal"
VCreateCalibration 1, cal$
VSet cal$.CameraOrientation, VISION_CAMORIENT_MOBILEJ6
VSet cal$.TargetSequence, "calSeq"
VSet cal$.AutoReference, False
VSet cal$.AutoCamPoints, True
VCalPoints cal$
VCal cal$
VSave
Fend
使用例2
この例では、下向き固定カメラをキャリブレーションするのに、タッチアップの代わりにキャリブレーション済みのモバイルカメラで9つの点を認識した結果を使用しています。
Function CalFixedCamera
Integer i, status
Boolean found
Real x, y, u
String obj$
' "mobileCal" is a sequence with 9 blobs
' that uses a mobile calibration.
' First we search with the mobile camera
Jump mobileCamView
VRun mobileCal
VGet mobileCal.AllFound, found
If Not found Then
MsgBox "Could not find all targets"
Exit Function
EndIf
For i = 1 TO 9
obj$ = "blob0" + Str$(i)
VGet mobileCal.obj$.RobotXYU, found, x, y, u
' Save each target point in robot coordinates
P(i) = XY(x, y, 0, 0)
Next i
' Save the points for VCal to use
' Note that "fixed" is the name of the calibration
SavePoints "fixed.pts"
Jump clearFixed
' Calibrate the fixed camera calibration scheme
VCal fixed, status
If status = 1 Then
VSave
EndIf
Fend
参照
ShowConfirmation プロパティー, VCalPoints ステートメント, VCreateCalibration ステートメント, ビジョンシーケンス, VSave ステートメント
← V VCalPoints ステートメント →