Skip to content

Latest commit

 

History

History
141 lines (118 loc) · 7.68 KB

README.md

File metadata and controls

141 lines (118 loc) · 7.68 KB

robocup_simopl_handyman

Handymanは,RoboCup Japan@Home League Simulation Open Platform Leagueでの競技の1つです.Handyman競技とは,ロボットによる家庭内での運搬タスクの能力を評価する競技です.この競技では,ロボットが自律的に家庭内でのタスクを実行する様子を,仮想現実空間でシミュレーションして評価します.具体的には,ロボットが部屋の中を自律的に移動し,物を探して取りに行ったり,目的地に運搬したりする様子が評価されます.また,人間の命令文の間違いを指摘する能力も評価されます.Handyman競技は,家庭内でのロボットの活用に向けた技術開発を促進することを目的としています.

※目次はこちらをクリック

Environments

Handymanを実行するためには,ROSの環境とSIGVerseの環境の2つの環境を整える必要があります.

  • SIGVerseのバージョンやセットアップは以下のサイトを参考にしてください.
  • ROSの環境では
    • OS : Ubuntu20.04
    • ROS version : Noetic Ninjemys
    • CUDAバージョン:11.7(現在はyolov5_rosを使用しているため)
    • Pytorch : 1.13.1

Installation

  • 関連パッケージも含めます.
# catkin_ws/srcに移動します
$ cd ~/catkin_ws/src
# 本パッケージをgit cloneします
$ git clone https://github.com/TeamSOBITS/robocup_simopl_handyman.git
# robocup_simopl_handymanに移動します
$ cd robocup_simopl_handyman
# 環境を簡単に構築するため(非公開のパッケージが含まれているため,setup.shファイルの中身にパッケージ名は自分のチームで使用している名前に変更する必要があります.)
$ bash setup.sh
# パッケージのbuildをします
$ cd ~/catkin_ws && catkin_make

Required packages

SIGVerse ROS Package

HSR Minimal Function

  • SOBITS_hsr_commmon_sim(公開) (branch: noetic-devel)
    • 用途:SIGVerse上でHSRを利用するための共通パッケージ
  • sobit_common(非公開) (branch: noetic-devel)
    • 実際に必要なパッケージはcv_bridgegeometrygeometry2image_geometry
      • cv_bridgeの用途:OpenCVとROSの間で画像データを変換するため
      • geometryの用途:ロボットの動きやセンサー情報を表現するための幾何学的なデータ構造を提供するため(ポイントクラウド,ポーズ,トランスフォーム等)
      • geometry2の用途:「geometry」の改良版
      • image_geometryの用途:カメラ画像に対するジオメトリ学的な操作を提供するため

Navigation

Robot Position Estimator

Object Detector

How to use

  • 2つの方法があります.
    • 方法①-Aと①-B 各launchをまとめずにそれぞれ別端末で起動する方法
    • 方法② まとめて起動する方法

Method①

複数の端末で起動する方法

Method①-A

Launch order(以下のコマンドを別々の端末で起動)

  • yolov5_ros
$ roslaunch yolov5_ros yolov5_with_tf.launch
  • placeable_position_estimator
$ roslaunch placeable_position_estimator placeable_position_estimator_hsr.launch
  • box_entry_gate_detection
$ roslaunch box_entry_gate_detection box_detection.launch
  • ssd_node
$ roslaunch ssd_node object_detect_with_tf_wrs.launch
  • hsr_ros
$ rosrun hsr_ros sub_obj_depth

Method①-B

Method①-Aを起動後,以下のlaunchを順に起動

  • hsr_rosのminimal
$ roslaunch hsr_ros minimal.launch
  • robocup_simopl_handymanのhandyman
$ roslaunch robocup_simopl_handyman handyman.launch

Method②

まとめて起動する方法

$ roslaunch robocup_simopl_handyman handyman_all.launch

Caution

  • 本パッケージは、公開用のパッケージとなっております。各チームが各自Git Cloneし、パッケージ名を「robocup_simopl_handyman」に変更して使用してください.
  • handyman.launchの起動後,準備完了時に端末に"Wait_command"と出るので,その後SIGVerseを起動してください.
  • handyman.launchを終了する場合はSIGVerseを停止してからにしてください(逆にするとSIGVerseが再通信できるようになるまで時間がかかります).
  • 全launch起動後,handyman.launch以外のlaunchは起動しなおさなくても動作しています(練習のときとかには便利かも,本番には非推奨).

License

このウェブサイトのソースコードは,MITライセンスに基づいてライセンスされており,LICENSEファイルに記載されています.