Skip to content
/ rovi Public
forked from YOODS/rovi

RoVI is a ROS package for handling a 3D sensor and data

License

Notifications You must be signed in to change notification settings

makolon/rovi

 
 

Repository files navigation

RoVIについて

## ブランチ名変更について(2021/6/18)
- default branchのdevelをkineticに改称しました。
- melodicはPython2.7に対応したROS最終リリース対応版です。
- noetic-develはnoeticに改称しました。noeticはPython3に対応したROS1最終リリース対応版です。

RoVIは3Dビジョンセンサーを組み込んだロボットのアプリケーションを開発するための、ソフトウェア群を提供します。

構成

下図にRoVIのソフトウェア構成を示します。コア部(I/O,Base)とUtilityをプラットフォーム層として、これを利用し用途に合わせてApplicationを開発します。基本的な機能はプラットフォーム層を利用できるので、アプリケーションの開発L/Tが短縮出来ます。
またApplication実装例として、MTM(Master Teaching Method)パッケージも公開予定です(https://github.com/YOODS/MTM)。

このRepositoryについて

このRepositoryはYOODS社が提供するYCAM3Dを制御するソフトウェアです。

ツール・ライブラリの追加

以下のソフトウェアが未だインストールされていなければ追加します。

ビルド環境

  • g++
  • git
  • automake
  • intltool
  • libgsreamer*-dev
sudo apt install g++ git automake intltool libgstreamer*-dev

Nodejs

Node8以上。以下はNode9のインストール方法です。

cd ~
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs

Pythonパッケージャ

pipがなければまずpipをインストール

sudo apt install python-pip python-dev

pipのversionは9.0.1以上が必要になる。低い場合はアップデートする。

pip install pip==9.0.3 --user

ROSアカウントの初期設定

.bashrcの最後に以下を入れる(Linux環境。Winは違うかも・・・)

source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
export NODE_PATH=/usr/lib/node_modules
export PYTHONPATH=/usr/local/lib/python2.7/dist-packages:$PYTHONPATH

反映させるため、一旦ターミナルを閉じ、新しいターミナルを開く。

RoVIのインストール

ROSのソースディレクトリ(~/catkin_ws/srcなど)に、israfelブランチをcheckoutします。

git clone -b israfel --depth 1 https://github.com/YOODS/rovi.git

GetingStarted.mdに記載のとおりです。この記載内容をInstall.shにて一括処理することも可能です(歓迎スクリプトの間違い指摘)。

cd rovi
./Install.sh

起動

  1. SXGAモード
roslaunch rovi ycam3sxga.launch
  1. VGAモード
roslaunch rovi ycam3vga.launch

長さの単位をmmとする場合は以下のlaunchを使います。

  1. SXGAモード(mm単位)
roslaunch rovi ycam3sxga_mm.launch
  1. VGAモード(mm単位)
roslaunch rovi ycam3vga_mm.launch

Topics

To publish

NameTypeDescription
/rovi/ps_floatsNumpy3DデータNumpy形式
/rovi/ps_pcPointCloud3DデータPointCloud形式
/rovi/left/image_rawImage左カメラraw画像
/rovi/left/image_rectImage左カメラrectify画像
/rovi/left/image_rect0Image左カメラrectify画像(ストロボOFF)
/rovi/right/image_rawImage右カメラraw画像
/rovi/right/image_rectImage右カメラrectify画像
/rovi/right/image_rect0Image右カメラrectify画像(ストロボOFF)
/errorStringErrorログ
/rovi/statBool接続状態
/rovi/Y1Bool撮像結果(X1に対するレスポンス)

To subscribe

NameTypeDescription
/rovi/X1Bool撮像トリガ

Parameters

Yaml file

NameDescription
ycam3vga.yamlVGAモードパラメータファイル
ycam3sxga.yamlSXGAモードパラメータファイル
param.yamlオーバライドパラメータファイル

List

NameDescriptionTypeRange
/rovi/camera/Acquire
/rovi/camera/AcquisitionFrameRate
/rovi/camera/AcquisitionMode
/rovi/camera/ExposureAuto
/rovi/camera/ExposureTimeAbsカメラ露光時間
/rovi/camera/FocusPos
/rovi/camera/Gainカメラゲイン
/rovi/camera/GainAuto
/rovi/camera/Heightカメラ解像度(高さ)
/rovi/camera/ID
/rovi/camera/MTU
/rovi/camera/TriggerMode
/rovi/camera/TriggerSource
/rovi/camera/Widthカメラ解像度(高さ)
/rovi/camera/addressYCAMのIPアドレスstring
/rovi/camera/frame_id
/rovi/camera/guid
/rovi/camera/image_raw/compressed/format
/rovi/camera/image_raw/compressed/jpeg_quality
/rovi/camera/image_raw/compressed/png_level
/rovi/camera/image_raw/compressedDepth/depth_max
/rovi/camera/image_raw/compressedDepth/depth_quantization
/rovi/camera/image_raw/compressedDepth/png_level
/rovi/camera/image_raw/theora/keyframe_frequency
/rovi/camera/image_raw/theora/optimize_for
/rovi/camera/image_raw/theora/quality
/rovi/camera/image_raw/theora/target_bitrate
/rovi/camera/major_versionYCAMのメジャーバージョン番号int
/rovi/camera/minor_versionYCAMのマイナーバージョン番号int
/rovi/camera/mtu
/rovi/camera/serial_noYCAMのシリアル番号string
/rovi/camera/shmem
/rovi/camera/softwaretriggerrate
/rovi/genpc/QQマトリクスfloat[16]
/rovi/genpc/dump点群データ出力先string
/rovi/left/genpc/D左カメラキャリブレーション結果。Dマトリクスfloat[5]
/rovi/left/genpc/D_Cols左カメラキャリブレーション結果。Dマトリクス列数int
/rovi/left/genpc/D_Rows左カメラキャリブレーション結果。Dマトリクス行数int
/rovi/left/genpc/Height左カメラ解像度(高さ)int
/rovi/left/genpc/K左カメラキャリブレーション結果。Kマトリクスfloat[9]
/rovi/left/genpc/K_Cols左カメラキャリブレーション結果。Kマトリクス列数int
/rovi/left/genpc/K_Rows左カメラキャリブレーション結果。Kマトリクス行数int
/rovi/left/genpc/R左カメラキャリブレーション結果。Rマトリクスfloat[9]
/rovi/left/genpc/R_Cols左カメラキャリブレーション結果。R行列マトリクス列数int
/rovi/left/genpc/R_Rows左カメラキャリブレーション結果。R行列マトリクス行数int
/rovi/left/genpc/T左カメラキャリブレーション結果。Tマトリクスfloat[9]
/rovi/left/genpc/T_Cols左カメラキャリブレーション結果。Tマトリクス列数int
/rovi/left/genpc/T_Rows左カメラキャリブレーション結果。Tマトリクス行数int
/rovi/left/genpc/Width左カメラ解像度(幅)int
/rovi/left/remap/D左カメラDマトリクスfloat[5]
/rovi/left/remap/K左カメラKマトリクスfloat[9]
/rovi/left/remap/KnPマトリクスからdecomposeしたKマトリクス。remap_nodeが算出float[9]
/rovi/left/remap/P左カメラPマトリクスfloat[12]
/rovi/left/remap/Rマトリクスfloat[9]
/rovi/left/remap/heightイメージの高さint
/rovi/left/remap/widthイメージの幅int
/rovi/live/camera/AcquisitionFrameRateフレームレートint
/rovi/live/camera/ExposureTime露光時間(µs)int
/rovi/live/camera/Gainカメラゲインint
/rovi/live/camera/GainAnalogアナログゲインint
/rovi/live/camera/SoftwareTriggerRateストリーミング時フレームレートint
/rovi/pshift_genpc/calc/brightnessハレーション閾値int
/rovi/pshift_genpc/calc/bw_diff白/黒画像の最小差int
/rovi/pshift_genpc/calc/camera_typeカメラタイプ(0: stereo, 1: hmat, 2: cam_param)(但し、0は廃止)int0-2
/rovi/pshift_genpc/calc/darkness点群を出力しない黒の閾値int
/rovi/pshift_genpc/calc/gcode_variation一周期分の区間に含まれるグレイコードの種類数int
/rovi/pshift_genpc/calc/image_heightイメージの高さint
/rovi/pshift_genpc/calc/image_widthイメージの幅int
/rovi/pshift_genpc/calc/interpolation補完機能有効=1,無効=0int0,1
/rovi/pshift_genpc/calc/ls_points視差計算時の最小二乗法サンプル数.3 or 5int3,5
/rovi/pshift_genpc/calc/max_parallax近い側最大視差[pixel](30万画素の場合半分にすること)double
/rovi/pshift_genpc/calc/max_ph_diff滑らかさ(小さく厳しくすると穴が増える)double
/rovi/pshift_genpc/calc/method3d三次元座標計算手法の選択(0: Qマトリクス方式, 1:視線ベクトル方式, 2:P行列方式)int0-2
/rovi/pshift_genpc/calc/min_parallax遠い側最大視差[pixel](30万画素の場合半分にすること)double
/rovi/pshift_genpc/calc/phase_wd_min画像内での一周期分の幅の最小値[pixel]int
/rovi/pshift_genpc/calc/phase_wd_thr一周期分の幅がこの値以下であれば、その区間での位相は復号されない(三次元計算されない)。この値はphase_wd_minよりも大きくしないでくださいint
/rovi/pshift_genpc/camera/ExposureTime位相シフト時露光時間(µs)int
/rovi/pshift_genpc/camera/Gain位相シフト時カメラゲインint
/rovi/pshift_genpc/projector/ExposureTime発光時間(ms)int
/rovi/pshift_genpc/projector/Intensity発光強度byte
/rovi/pshift_genpc/projector/Interval発光間隔(ms)int
/rovi/right/genpc/D右カメラキャリブレーション結果。Dマトリクスfloat[5]
/rovi/right/genpc/D_Cols右カメラキャリブレーション結果。Dマトリクス列数int
/rovi/right/genpc/D_Rows右カメラキャリブレーション結果。Dマトリクス行数int
/rovi/right/genpc/Height右カメラ解像度(高さ)int
/rovi/right/genpc/K右カメラキャリブレーション結果。Kマトリクスfloat[9]
/rovi/right/genpc/K_Cols右カメラキャリブレーション結果。Kマトリクス列数int
/rovi/right/genpc/K_Rows右カメラキャリブレーション結果。Kマトリクス行数int
/rovi/right/genpc/R右カメラキャリブレーション結果。Rマトリクスfloat[9]
/rovi/right/genpc/R_Cols右カメラキャリブレーション結果。R行列マトリクス列数int
/rovi/right/genpc/R_Rows右カメラキャリブレーション結果。R行列マトリクス行数int
/rovi/right/genpc/T右カメラキャリブレーション結果。Tマトリクスfloat[9]
/rovi/right/genpc/T_Cols右カメラキャリブレーション結果。Tマトリクス列数int
/rovi/right/genpc/T_Rows右カメラキャリブレーション結果。Tマトリクス行数int
/rovi/right/genpc/Width右カメラ解像度(幅)int
/rovi/right/remap/D右カメラDマトリクスfloat[5]
/rovi/right/remap/K右カメラKマトリクスfloat[9]
/rovi/right/remap/KnPマトリクスからdecomposeしたKマトリクス。remap_nodeが算出float[5]
/rovi/right/remap/P右カメラPマトリクスfloat[12]
/rovi/right/remap/R右カメラRマトリクスfloat[9]
/rovi/right/remap/heightイメージの高さint
/rovi/right/remap/widthイメージの幅int

ドキュメントリスト

ドキュメント名 コンテンツ
GettingStarted.md インストール手順についての記載
GettingStarted-TX2.md Jetson-TX2用インストール手順
AppDesign.md roviを利用したアプリケーションの設計について
CameraDriver.md カメラドライバーインタフェースについて
TopicsDetail.md トピック詳細

動作確認済み環境

OS Desktop ROS STATUS
Ubuntu 16.04(xenial) Unity kinetic OK
LinuxMint 18.04(sonya) Xfce kinetic OK

About

RoVI is a ROS package for handling a 3D sensor and data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 81.3%
  • JavaScript 10.4%
  • Python 3.5%
  • CMake 3.4%
  • C 0.7%
  • Shell 0.7%