Python上で作成した画像(動画)を,v-repのシリンダオブジェクトの曲面上にテクスチャマッピングするためのサンプルです.
- v-rep 3.4.0
- python, numpy, matplotlib, six
launch_vrep.bat
を実行すると,v-repが起動しsimple.ttt
が読み込まれます.python main.py
を実行する,あるいはspyder上でmain.py
を実行すると,v-rep内のシリンダーにpythonから送られた画像が表示されます.
次の2つを組合せることで,Python側で用意した画像をv-repのシェイプに表示することができます.
- primitive-shapeのテクスチャとして,Vision sensor から取得された映像を指定することができる.
- Pythonなどの外部スクリプトから,Vision sensorに画像をセットすることができる.
- まず,シーンにシリンダとビジョンセンサを追加します.
- Add -> Primitive shape -> Cylinder
- Add -> Vision sensor -> Perspective type
- シリンダのScene Object Propertiesダイアログを開きます.
- Scene hierarchyのCylinderのアイコンをダブルクリック
Adjust texture
ボタンを押しますSelect texture from existing textures
ボタンを押し,Vision_sensor
を選択します.Mapping mode
をcylinder
にします.- これでシリンダの曲面にビジョンセンサからの映像がテクスチャマッピングされました.
- simxSetVisionSensorImage関数を使うことで,任意の画像をビジョンセンサが見たことにできます.
- 注意点として,v-rep内のビジョンセンサの解像度の設定値と,Pythonから送信する画像データの画素数が一致している必要があります.
- ビジョンセンサの解像度は,ビジョンセンサのScene Object Propertiesから設定できます.