これは,HSR(SIGVerse)を動かすために必要なパッケージです. ロボットのmeshやdiscriptionはここでinstallします.また物体把持やポーズの関数もこのパッケージで指定しています.
ここで,本レポジトリのセットアップ方法について説明します.
(上に戻る)
まず,以下の環境を整えてから,次のインストール段階に進んでください.
System | Version |
---|---|
Ubuntu | 22.04 (Jammy Jellyfish) |
ROS | Humble Hawksbill |
Python | 3.0~ |
(上に戻る)
- 以下のコマンドでhsr_sim_commonパッケージをcloneします.
cd ~/colcon_ws/src/
git clone -b humble-devel https://github.com/TeamSOBITS/hsr_sim_common.git
- install.shで依存関係をインストールします.主に以下が含まれています.
- Mongo C driver
- SIGVerse環境でHSRを制御するにはMongoを用いる必要があります.
- Mongoとは,代表的なNoSQLデータベース・ドキュメント指向型データベースのことです.
- Mongo C++ driver
- 同様にしてC++用のドライバもインストールします.
- sigverse_ros_bridgeの設定
- Windows側のSIGVerseとUbuntu側のROS2をbridgeするためにインストールします.
cd hsr_sim_common
bash install.sh
- Mongo C driver
- colcon buildします
cd ~/colcon_ws/
colcon build
(上に戻る)
- SIGVerseと接続後,minimal.launch.pyを実行します.
ros2 launch hsr_sim_common minimal.launch.py
- teleop_key.launch.pyを起動することで,ロボットを操作できます.
ros2 launch hsr_sim_common teleop_key.launch.py
キーボード操作方法
-
移動操作 (通常モード)
u i o j k l m , . -
ホロノミックモード (横移動)
- シフトキーを押しながら操作すると、横移動 (strafing) ができます。
U I O J K L M < > -
矢印キーでのシンプルなテレポート操作
↑ ← → ↓ -
速度調整と関節操作
- q / z: 最大速度を10%ずつ増減
- w / x: リニア速度(直線移動速度)のみを10%ずつ増減
- e / c: 角速度(回転速度)のみを10%ずつ増減
- a + 矢印キー: arm_lift_joint を操作
- s + 矢印キー: arm_flex_joint と arm_roll_joint を操作
- d + 矢印キー: wrist_flex_joint と wrist_roll_joint を操作
- f + 矢印キー: head_pan_joint と head_tilt_joint を操作
- y + 矢印キー: linear_x と linear_y と angular_z を操作
- g: ハンドの開閉を切り替え
- h: 初期姿勢へ移動
(上に戻る)
- generate_pointcloud.launch.pyを起動することで点群をパブリッシュできます.
- このファイルはminimal.launch.pyの実行で自動的に実行されます.
- library_server.launch.pyを起動することで,ポーズの変更,水平移動,回転,各関節角の変更,指定したTFまでハンドを移動させるための情報などをやりとりするためのAction Serverが起動します.
- このファイルはminimal.launch.pyの実行で自動的に実行されます.
- pose_list.yamlを書き換えることで,利用可能なポーズを変更することができます.
左から
用途:自律移動をする際に用いるpose(姿勢)
説明:アームが移動中に衝突しないようにする姿勢
用途:物体認識の際に用いるpose(姿勢)
説明:物体を認識する際に,カメラのフレーム内にアームが映らないようにする姿勢
用途:物体の高さを計測する際に用いるpose(姿勢)
説明:この姿勢を用いることで,物体の高さを求めることができ,安全な物体の配置が可能
(上に戻る)
現時点のバッグや新規機能の依頼を確認するためにIssueページ をご覧ください.
(上に戻る)