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

物体を掴ませる #66

Closed
MibuchiYuta opened this issue Mar 14, 2024 · 9 comments
Closed

物体を掴ませる #66

MibuchiYuta opened this issue Mar 14, 2024 · 9 comments

Comments

@MibuchiYuta
Copy link
Contributor

シミュレータで軽い物体を掴ませる。その後実ロボットでからのペットボトルなどを持ち上げさせたい。

@Keita1Mori
Copy link
Contributor

gazebo 上にテーブルを設置することができた。

設置のやり方

  1. 下のコマンドをそれぞれのタブで起動。
roslaunch orne_or_bringup orne_or_manipulator_sim.launch
roslaunch orne_or_moveit_config moveit_planner.launch
  1. gazebo右insertタブ内にあるhttp://models.gazebosim.o...をクリック
  2. クリックすると色々なモデルが選択できるようになるのでそこからtableを選択しgazebo上に設置する。
    Screenshot from 2024-03-17 18-14-12

@MibuchiYuta MibuchiYuta moved this to 未着手 in ORNE OR Mar 17, 2024
@MibuchiYuta MibuchiYuta moved this from 未着手 to 作業中 in ORNE OR Mar 17, 2024
@HarukiOgawa1
Copy link
Contributor

gazebo上の実ロボットを動かす方法として,
catkin_ws/src/icart_mini/icart_mini_gazebo/launch/icart_mini.launchを以下のように変更するとgazeboが起動時に実ロボットが配置される場所が変更された.

問題点として,orne_orの方ではなくicart_mini側の値を変更している点である.

変更前
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen" args="-urdf -model icart_mini -param robot_description -x -8 -y 13 -z 0 -R 0 -P 0 -Y 0"/>

変更後
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen" args="-urdf -model icart_mini -param robot_description"/>

スクリーンショット 2024-03-17 202645

@KiyoshiroKawanabe
Copy link
Contributor

KiyoshiroKawanabe commented Mar 18, 2024

こちらのissueに気付かず、作業場所である会議室のworldを作成しました。50e65fc
worldの作成には、こちらのサイトを参考にしました。

部屋の寸法は図ったのであっていると思います。必要があれば使ってください。
orne_or/orne_or_bringup/worldsの中に入っています。
image

@KiyoshiroKawanabe
Copy link
Contributor

ペットボトルを左腕でつかみに行くスクリプトを作成しました。
https://github.com/open-rdc/orne_or/blob/bottle-catch/orne_or_task_executor/scripts/bottle_catch.py
すべて角度を指定してうごかしています。
シミュレーター上では添付の動画のように動作しています。
実ロボットでの検証はbringupの時点で、右腕のサーボがすべて点滅し力が入らかったため検証できていません。

動作の様子→https://youtu.be/7ir-3WC9U7o

@Keita1Mori
Copy link
Contributor

Keita1Mori commented Apr 30, 2024

4/29 進捗報告

ペットボトルを右腕で掴むスクリプトを作成しました。
https://github.com/open-rdc/orne_or/blob/bottle-catch/orne_or_task_executor/scripts/manipulator_right.py

作成したスクリプトの詳細説明

  • こちらのスクリプトでは指定した座標を以下のようにプログラム上に記入して、アームを指定した座標に移動するように制御させています。
    right_wrist_goal = PoseStamped()
    right_wrist_goal.header.frame_id = "world"
    right_wrist_goal.pose.position.x = 0.4517
    right_wrist_goal.pose.position.y = 0.0318
    right_wrist_goal.pose.position.z = 0.568653

  • また手首(ID:16)の回転は以下のorientationのところを以下のように指定することで90度回転するようになりました。

right_wrist_goal.pose.orientation = Quaternion(*tf.transformations.quaternion_from_euler(0, -(pi / 2), pi))


  • 最後にペットボトルを掴む際のハンドを閉じるためのスクリプトは以下に示します。(10度閉じるよう角度指定をしています)
target_joint_positions = [10 * (pi / 180)]
right_hand.set_joint_value_target(target_joint_positions)
right_hand.go(wait=True)

シミュレーション時の動画

0429_manipulator_right_control

@MibuchiYuta
Copy link
Contributor Author

#85 #86 で物体の検出をおこなっています。

@Keita1Mori
Copy link
Contributor

GW期間中の開発

上記のスクリプト同様におにぎりを掴むためのスクリプトを作成しました。
manipulator_right_onigiri.py

実機での検証動画

  • 動画その1
    • おにぎりを掴んだ後に初期位置に戻るスクリプトの検証
  • 動画その2
    • おにぎりを掴んだ後にアームを下に下ろして黒い箱の上に収納させるスクリプトの検証

@KiyoshiroKawanabe
Copy link
Contributor

空のペットボトルと100円玉を掴ませました。
空のペットボトル

100円玉※危険なのでロボットの可動域に入らない。

@Keita1Mori
Copy link
Contributor

まとめ

ひとまずissueとしての問題が解決したのでcloseする。
また以下に重要なところをまとめておく。

スクリプト

マニピュレータを動かすスクリプトは以下のディレクトリにまとめている
orne_or_task_executor

またスクリプトの詳細については以下のissueを確認
#40

マニピュレータ把持の様子

ペットボトル把持

詳細については以下リンクのコメントを参照

おにぎりの把持

100円玉の把持

不足事項があれば後日追記する。

@github-project-automation github-project-automation bot moved this from 作業中 to 完了 in ORNE OR May 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 完了
Development

No branches or pull requests

4 participants