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 ステートメント