Skip to content

Person-following system using LiDAR and RGB-D sensor in robots with pan-tilt mechanism.

License

Notifications You must be signed in to change notification settings

TeamSOBITS/sobit_follower

Repository files navigation

JA | EN

Contributors Forks Stargazers Issues License

SOBIT Follower

目次
  1. 概要
  2. セットアップ
  3.  パッケージ構成
  4.  実行方法
  5. マイルストーン

概要

  • 複数のセンサを用いたロボットの人追従走行システム(SOBIT EDU, SOBIT PROで使用可能)

セットアップ

$ cd ~/catkin_ws/src/
$ git clone https://github.com/TeamSOBITS/sobit_follower
$ cd sobit_follower
# follow meに必要なパッケージのインストールを行う
$ bash install.sh
# インストールしたパッケージのセットアップを行った後、catkin_make
$ cd ~/catkin_ws
$ catkin_make

パッケージ構成

01. 2D Lidar Person Detection

02. Multiple Observation Kalman Filter

  • 2つの観測値を入力とするカルマンフィルタライブラリ
  • 1つの観測値でも動作可能 - 状態方程式は等速モデル
  • Multiple Sensor Person Trackingで使用
  • 詳細はこちら

03. Multiple Sensor Person Tracking

  • 2D-LiDARセンサとパンチルト回転機構上のRGB-Dセンサを組み合わせた人物追跡
  • DR-SPAAMによる2次元点群脚検出とSSDによる画像人検出を用いた人物追跡
  • 詳細はこちら

04. Person Following Control

  • 仮想ばねモデルを用いた人間追従制御にDynamic Window Approachによる障害物回避を組み込んだ走行制御
  • 詳細はこちら

05. SOBIT Follower

  • Multiple Sensor Person TrackingとPerson Following Controlを用いた人追従走行
  • ユーザはこのパッケージのLaunchを起動することで人追従走行を動作させることが可能
  • 実験用のrosbag取得や取得したデータのplotも可能なシェルスクリプトも完備
  • 詳細はこちら

実行方法

  • SOBIT EDUを用いたMultiple Sensor Person TrackingとPerson Following Controlによる人追従走行
  • path:sobit_follower/launch/sobit_edu/sobit_edu_follower_me.launch
  • 詳細はこちら
$ roslaunch sobit_follower sobit_edu_follower_me.launch rviz:=false rqt_reconfigure:=false use_rotate:=true use_smoother:=true
# 引数
# rviz : Rvizを起動するか(bool)
# rqt_reconfigure : rqt_reconfigureを起動するか(bool)
# use_rotate : SensorRotatorを起動するか(bool)
# use_smoother : 速度の平滑化を行うか(bool)

SOBIT_EDUで対象者同定手法person_identification_nodeletを組み合わせて追従対象者を識別することを可能とした人追従走行

  • path:sobit_follower/launch/sobit_edu/sobit_edu_follower_me_id.launch
  • 詳細はこちら
$ roslaunch sobit_follower sobit_edu_follower_me_id.launch rviz:=false rqt_reconfigure:=false use_rotate:=true use_smoother:=true
# 引数
# rviz : Rvizを起動するか(bool)
# rqt_reconfigure : rqt_reconfigureを起動するか(bool)
# use_rotate : SensorRotatorを起動するか(bool)
# use_smoother : 速度の平滑化を行うか(bool)
  • SOBIT PROを用いたMultiple Sensor Person TrackingとPerson Following Controlによる人追従走行
  • path:sobit_follower/launch/sobit_pro/sobit_pro_follower_me.launch
  • 詳細はこちら
$ roslaunch sobit_follower sobit_pro_follower_me.launch rviz:=false rqt_reconfigure:=false use_rotate:=true use_smoother:=true
# 引数
# rviz : Rvizを起動するか(bool)
# rqt_reconfigure : rqt_reconfigureを起動するか(bool)
# use_rotate : SensorRotatorを起動するか(bool)
# use_smoother : 速度の平滑化を行うか(bool)

SOBIT_PROで対象者同定手法person_identification_nodeletを組み合わせて追従対象者を識別することを可能とした人追従走行

  • path:sobit_follower/launch/sobit_pro/sobit_pro_follower_me_id.launch
  • 詳細はこちら
$ roslaunch sobit_follower sobit_pro_follower_me_id.launch rviz:=false rqt_reconfigure:=false use_rotate:=true use_smoother:=true
# 引数
# rviz : Rvizを起動するか(bool)
# rqt_reconfigure : rqt_reconfigureを起動するか(bool)
# use_rotate : SensorRotatorを起動するか(bool)
# use_smoother : 速度の平滑化を行うか(bool)

Launch構成

  • ssd_pose_ros.launch.xml
    • RGB画像ベースの人物検出器
    • path:sobit_follower/launch/include/ssd_pose_ros.launch.xml
    • 詳細はこちら
  • dr_spaam_ros.launch.xml
    • 2D LiDARベースの人物検出器
    • path:sobit_follower/launch/include/dr_spaam_ros.launch.xml
    • 詳細はこちら
  • person_id.launch.xml
    • RGB-Dセンサを用いた対象者同定手法
    • path:sobit_follower/launch/include/person_id.launch.xml
    • 詳細はこちら
  • sobit_edu_tracker.launch.xml
    • SOBIT EDUによる2D-LiDARセンサとパンチルト回転機構上のRGB-Dセンサを組み合わせた人物追跡
    • path:sobit_follower/launch/include/sobit_edu/sobit_edu_tracker.launch.xml
    • 詳細はこちら
  • sobit_pro_tracker.launch.xml
    • SOBIT PROによる2D-LiDARセンサとパンチルト回転機構上のRGB-Dセンサを組み合わせた人物追跡
    • path:sobit_follower/launch/include/sobit_pro/sobit_pro_tracker.launch.xml
    • 詳細はこちら
  • sobit_edu_person_following_control.launch.xml
    • SOBIT EDUによる仮想ばねモデルを用いた追従制御にDynamic Window Approachによる障害物回避を組み込んだ走行制御
    • path:sobit_follower/launch/include/sobit_edu/sobit_edu_person_following_control.launch.xml
    • 詳細はこちら
  • sobit_pro_person_following_control.launch.xml
    • SOBIT PROによる仮想ばねモデルを用いた追従制御にDynamic Window Approachによる障害物回避を組み込んだ走行制御
    • path:sobit_follower/launch/include/sobit_pro/sobit_pro_person_following_control.launch.xml
    • 詳細はこちら

Parameterファイル

  • tracker_param.yaml
    • 人物追跡に関するパラメータ
    • path:sobit_follower/param/tracker_param.launch.xml
    • パラメータの詳細はこちら
  • ssd_param.yaml
    • RGB画像ベースの人物検出器に関するパラメータ
    • path:sobit_follower/param/ssd_param.launch.xml
    • パラメータの詳細はこちら
  • dr_spaam_param.yaml
    • 2D LiDARベースの人物検出器に関するパラメータ
    • path:sobit_follower/param/dr_spaam_param.launch.xml
    • パラメータの詳細はこちら
  • sensor_rotator_param.yaml
    • RGB-Dセンサのパンチルト回転制御に関するパラメータ
    • path:sobit_follower/param/sensor_rotator_param.launch.xml
  • following_control_param.yaml
    • 走行制御に関するパラメータ
    • path:sobit_follower/param/following_control_param.launch.xml
    • パラメータの詳細はこちら
  • velocity_smoother_param.yaml
    • 速度平滑化に関するパラメータ
    • path:sobit_follower/param/velocity_smoother_param.launch.xml
    • パラメータの詳細はこちら

マイルストーン

  • OSS
    • tf2化
    • ドキュメンテーションの充実
    • コーディングスタイルの統一

現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.

(上に戻る)