Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ArUcoサンプルとピッキング動作の追加 #169

Merged
merged 35 commits into from
Jan 25, 2023

Conversation

Kuwamai
Copy link
Contributor

@Kuwamai Kuwamai commented Dec 28, 2022

What does this implement/fix?

把持対象に取り付けられたArUcoマーカの位置を認識し、把持対象をピックアンドプレースするサンプルです

Does this close any currently open issues?

しません

How has this been tested?

把持対象は下記URLのArUcoマーカを印刷し1辺50mmの立方体に貼り付けて作成します。
aruco_marker.pdf

RealSense搭載モデルのX7をPCと接続し、下記コマンドを実行します。

ros2 launch crane_x7_examples demo.launch.py use_d435:=true
ros2 launch crane_x7_examples camera_example.launch.py example:='aruco_detection'

ArUcoマーカを認識してから3秒以上経つとピッキング動作を開始します。

Any other comments?

まれにlookUpTransformに失敗することがあります。原因がわからないのですがノードを起動し直すことで対処しています。下記のCycloneDDSへの変更によって安定していることが確認されました。こちらもFastDDSの不具合によるものかもしれません。

まれに初期姿勢への移行に失敗することがあります。FastDDSの不具合が確認されているためCycloneDDSを使用することで改善するかもしれません。
moveit/moveit2#1874

Checklists

@Kuwamai Kuwamai added the Type: Feature New Feature label Dec 28, 2022
@Kuwamai Kuwamai requested a review from ShotaAk December 28, 2022 09:37
@Kuwamai Kuwamai self-assigned this Dec 28, 2022
Copy link
Contributor

@ShotaAk ShotaAk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コードを見ました。コメントの確認をお願いします。

X7とカメラを個別に動かしたため、ピッキング動作については未確認です。
コメントの指摘事項修正後に動作確認します。

crane_x7_examples/launch/camera_example.launch.py Outdated Show resolved Hide resolved
crane_x7_examples/launch/camera_example.rviz Show resolved Hide resolved
crane_x7_examples/launch/camera_example.launch.py Outdated Show resolved Hide resolved
crane_x7_examples/src/aruco_detection.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/aruco_detection.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/pick_and_place_tf.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/pick_and_place_tf.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/pick_and_place_tf.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/pick_and_place_tf.cpp Outdated Show resolved Hide resolved
crane_x7_examples/src/pick_and_place_tf.cpp Outdated Show resolved Hide resolved
@Kuwamai Kuwamai requested a review from ShotaAk January 16, 2023 04:36
@Kuwamai Kuwamai changed the base branch from add_camera_samples_foxy to foxy-devel January 24, 2023 10:49
@Kuwamai Kuwamai requested a review from ShotaAk January 24, 2023 10:50
@ShotaAk ShotaAk merged commit 5e2af70 into foxy-devel Jan 25, 2023
@ShotaAk ShotaAk deleted the add_aruco_detection_foxy branch January 25, 2023 02:05
@ShotaAk
Copy link
Contributor

ShotaAk commented Jan 25, 2023

良いと思います。
foxy & 実機 & CycloneDDS環境で動作確認できたのでマージしました。

Kuwamai added a commit that referenced this pull request Jan 27, 2023
* arucoマーカの認識

* マーカ位置をm系に変換

* マーカ位置姿勢をtfに配信

* tfのsubscribe

* マーカ位置が静止していることを検知

* スタイル修正

* picking動作追加

* 不要な記述を削除

* スタイル修正

* 不要な行を削除

* マーカ位置修正

* 把持姿勢の調整

* tf確認用rviz config追加

* URL更新

* マーカ認識位置のオフセットを削除

* Rviz configの切り替えを実装

* デフォルトで起動するスクリプトを修正

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>

* ArUcoの辞書についてコメント追加

* 変数名修正

* デバッグ用処理を削除

* 変数名変更

* コメント追加

* tfの時間計算を修正

* 現在時刻の取得方法変更

* 不要なモジュールの削除

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>

* Update README

* Update README

* PythonExpressionをUnlessConditionに置き換え

* 複数マーカに対応

(cherry picked from commit aa3792b54ae873125a34611f93a0fecec57466c6)

* 把持対象のframe id変更

* スタイル修正

* 待機姿勢を関節負荷の低いものに変更

* Update README

* Update README

* スタイル修正

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>
ShotaAk pushed a commit that referenced this pull request Jan 30, 2023
* ArUcoサンプルとピッキング動作の追加 (#169)

* arucoマーカの認識

* マーカ位置をm系に変換

* マーカ位置姿勢をtfに配信

* tfのsubscribe

* マーカ位置が静止していることを検知

* スタイル修正

* picking動作追加

* 不要な記述を削除

* スタイル修正

* 不要な行を削除

* マーカ位置修正

* 把持姿勢の調整

* tf確認用rviz config追加

* URL更新

* マーカ認識位置のオフセットを削除

* Rviz configの切り替えを実装

* デフォルトで起動するスクリプトを修正

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>

* ArUcoの辞書についてコメント追加

* 変数名修正

* デバッグ用処理を削除

* 変数名変更

* コメント追加

* tfの時間計算を修正

* 現在時刻の取得方法変更

* 不要なモジュールの削除

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>

* Update README

* Update README

* PythonExpressionをUnlessConditionに置き換え

* 複数マーカに対応

(cherry picked from commit aa3792b54ae873125a34611f93a0fecec57466c6)

* 把持対象のframe id変更

* スタイル修正

* 待機姿勢を関節負荷の低いものに変更

* Update README

* Update README

* スタイル修正

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>

* サンプル動画URL更新 (#172)

* READMEに動画追加

* README修正

* tf2_geometry_msgs.hppの更新

* gz_ros2_controlのブランチを変更

* コメント修正

* コメント修正

* Update README

---------

Co-authored-by: Shota Aoki <s.aoki@rt-net.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature New Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants