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

jazzy対応(MoveitConfigsBuilder) #78

Open
wants to merge 56 commits into
base: master
Choose a base branch
from
Open

Conversation

mizonon
Copy link

@mizonon mizonon commented Aug 8, 2024

What does this implement/fix?

MoveitConfigsBuilderについてのJazzy対応です。

Does this close any currently open issues?

How has this been tested?

crane_prus_exampleのdemo.launchとサンプルプログラムを使って、humble環境と同じように動作するか確認しました。

Any other comments?

誤ってhumble_develブランチから本作業ブランチを切っていたため、改めてmasterブランチから作業ブランチを作成し、複数あったコミットを一つに集約した上でこちらのブランチにコピーし、PR作成しております。

Checklists

* MoveitCofigsBuilderを使ってmoveit_configの枠を作る

* planning_plugins, requesr_adaptorsの設定をompl_planning.yamlの先頭で行う

* ompl_planning.yamlにstart_state_max_bounds_errorの設定を追加

* 7/19ここまで

* MoveitConfigsBuilderを使うに伴った、yamlファイルの指定の項目追加

* 一通りMoveItConfigsBuilderに対応

* MoveIt Setup Assistantを使って設定ファイルを生成

* urdfの指定を追加

* crane_plus_configのrun_move_group.launchを呼ぶ

* Unable to parse SRDFのエラーが解決できない

* demo.launchが起動できるようになった

* 余計なコメントアウト部分削除

* 余計なコメントアウト削除

* rviz上でMottionPlanningができるようになった

* 余計なコメントアウト削除
@mizonon mizonon requested a review from Kuwamai August 8, 2024 06:04
Copy link
Contributor

@Kuwamai Kuwamai left a comment

Choose a reason for hiding this comment

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

動作確認は行っていないのですが、コードの構成等についてコメントしました。ご確認お願いします。

.gitignore Outdated Show resolved Hide resolved
.docker/README.md Outdated Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_moveit_config/config/joint_limits.yaml Outdated Show resolved Hide resolved
crane_plus_moveit_config/package.xml Outdated Show resolved Hide resolved
crane_plus_moveit_config/package.xml Outdated Show resolved Hide resolved
crane_plus_moveit_config/package.xml Outdated Show resolved Hide resolved
crane_plus_moveit_config/launch/run_move_group.rviz Outdated Show resolved Hide resolved
@Kuwamai
Copy link
Contributor

Kuwamai commented Aug 14, 2024

CIに関してはSciurus17と同様に、こちらのenv内のhumbleをjazzyに変更お願いします
https://github.com/rt-net/sciurus17_ros/blob/e96d86a6d0f9097b55ea9a1461aa38f510cde478/.github/workflows/industrial_ci.yml#L20

Copy link
Contributor

@Kuwamai Kuwamai left a comment

Choose a reason for hiding this comment

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

主にSciurus17との共通化についてコメントしました。
まだ動作確認は行っていません。

.gitignore Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_moveit_config/config/ompl_planning.yaml Outdated Show resolved Hide resolved
crane_plus_moveit_config/package.xml Outdated Show resolved Hide resolved
crane_plus_moveit_config/package.xml Outdated Show resolved Hide resolved
crane_plus_moveit_config/launch/run_move_group.launch.py Outdated Show resolved Hide resolved
crane_plus_moveit_config/launch/run_move_group.launch.py Outdated Show resolved Hide resolved
@Kuwamai Kuwamai added the Type: Feature New Feature label Sep 17, 2024
@Kuwamai
Copy link
Contributor

Kuwamai commented Nov 12, 2024

Planning時にタイムアウトエラーが多いように思いました。
自分の環境では5回に1回くらい発生しています。
こちらも原因がわかれば改善したいです。

[move_group-1] [INFO] [1731406028.536946246] [move_group]: Calling Planner 'OMPL'
[move_group-1] [INFO] [1731406028.537147255] [move_group.moveit.moveit.planners.ompl.model_based_planning_context]: arm: Allocating specialized state sampler for state space
[move_group-1] [ERROR] [1731406033.543253139] [move_group.moveit.moveit.planners.ompl.planner_manager]: ./src/ompl/geometric/planners/rrt/src/RRTConnect.cpp:252 - arm/arm: Unable to sample any valid states for goal tree
[move_group-1] [WARN] [1731406033.543364259] [move_group.moveit.moveit.planners.ompl.model_based_planning_context]: Timed out: 5.0s ≥ 5.0s
[move_group-1] [ERROR] [1731406033.587224122] [move_group.moveit.moveit.planners.ompl.model_based_planning_context]: Unable to solve the planning problem
[move_group-1] [ERROR] [1731406033.587336950] [move_group]: Planner 'OMPL' failed with error code TIMED_OUT
[move_group-1] [INFO] [1731406033.587374166] [move_group.moveit.moveit.ros.move_group.move_action]: TIMED_OUT
[move_group-1] [INFO] [1731406033.588601237] [move_group.moveit.moveit.ros.move_group.move_action]: MoveGroupMoveA

@Kuwamai
Copy link
Contributor

Kuwamai commented Nov 14, 2024

@mizonon ご対応ありがとうございます。Sciurus17のほうで生じていたGazeboの不具合なのですが、CRANE+ V2では関係なさそうでしたので引き続き対応お願いします。
既知の不具合として、GazeboがXorgでないと動作しないようですので下記サイト等を参考に切り替えたうえで開発お願いします。
https://kledgeb.blogspot.com/2022/05/ubuntu-2204-95-xorgwayland.html#google_vignette

@mizonon
Copy link
Author

mizonon commented Nov 27, 2024

Gazebo Harmonicへの対応を行いましたので、追加レビューをお願いいたします。

mizonon and others added 6 commits November 29, 2024 19:10
* カメラ追加

* use_sim_timeオプション追加

* カメラの画角調整

* 色検出サンプルの色しきい値調整

* 把持位置調整

* 現バージョンのデフォルト設定を反映

* ArUcoマーカ付きの立方体を追加

* ワールド、launchファイル追加

* use_cameraの有効化

* use_cameraを引数で切り替えられるように変更

* カメラスタンドのURDF修正
@mizonon
Copy link
Author

mizonon commented Dec 5, 2024

以下の2点について対応しました

  • MoveitConfigsBuilderで設定を行った上でrvizの設定ファイル名を追加のパラメータとして設定する
    -> MoveitConfigsBuilderを使用してMoveItの設定を行いつつ、rvizの設定ファイルをlaunchファイルに渡すような処理を実装しました。

  • Cameraモデル追加に伴うGazeboのign->gz対応
    -> masterブランチから取り込んだGazeboのCameraモデル追加対応について、Jazzyで使用できるように、ign->gzの対応を行いました。

Copy link
Contributor

@Kuwamai Kuwamai left a comment

Choose a reason for hiding this comment

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

コメントしました。ご確認お願いします。
コンフリクトが発生しておりマージできないため、まずはコンフリクトの解消から進めていただきたいです。

crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
crane_plus_examples/launch/demo.launch.py Outdated Show resolved Hide resolved
Comment on lines 84 to 103
move_group = IncludeLaunchDescription(
PythonLaunchDescriptionSource([
get_package_share_directory('crane_plus_moveit_config'),
'/launch/run_move_group.launch.py']),
condition=UnlessCondition(LaunchConfiguration('use_camera')),
launch_arguments={'loaded_description': description}.items()
)

rviz_config_file = get_package_share_directory(
'crane_plus_examples') + '/launch/camera_example.rviz'
move_group_camera = IncludeLaunchDescription(
PythonLaunchDescriptionSource([
get_package_share_directory('crane_plus_moveit_config'),
'/launch/run_move_group.launch.py']),
condition=IfCondition(LaunchConfiguration('use_camera')),
launch_arguments={
'loaded_description': description,
'rviz_config_file': rviz_config_file
}.items()
)
Copy link
Contributor

Choose a reason for hiding this comment

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

こちらもdemo.launch.pyと同じ方式で切り替えられるといいかと思います。

crane_plus_gazebo/launch/crane_plus_with_table.launch.py Outdated Show resolved Hide resolved
crane_plus_moveit_config/launch/run_move_group.launch.py Outdated Show resolved Hide resolved
Copy link
Contributor

@Kuwamai Kuwamai left a comment

Choose a reason for hiding this comment

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

@mizonon
こちらの変更でrviz_configが切り替えられそうです。

Comment on lines 51 to 67
rviz_config_moveit = get_package_share_directory(
'crane_plus_moveit_config'
) + '/config/moveit.rviz'
rviz_config_camera = get_package_share_directory(
'crane_plus_examples'
) + '/launch/camera_example.rviz'

move_group = IncludeLaunchDescription(
PythonLaunchDescriptionSource([
get_package_share_directory('crane_plus_moveit_config'),
'/launch/run_move_group.launch.py']),
condition=UnlessCondition(LaunchConfiguration('use_camera')),
launch_arguments={
'loaded_description': description
'loaded_description': description,
'rviz_config': rviz_config_moveit
}.items()
)
Copy link
Contributor

Choose a reason for hiding this comment

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

demo.launch.pyの上部にこちらを追加

    declare_rviz_config = DeclareLaunchArgument(
        'rviz_config',
        default_value=get_package_share_directory(
        'crane_plus_moveit_config'
        ) + '/config/moveit.rviz',
        description='Set the path to rviz configuration file.',
        condition=UnlessCondition(LaunchConfiguration('use_camera')),
    )

    declare_rviz_config_camera = DeclareLaunchArgument(
        'rviz_config',
        default_value=get_package_share_directory(
        'crane_plus_examples'
        ) + '/launch/camera_example.rviz',
        description='Set the path to rviz configuration file.',
        condition=IfCondition(LaunchConfiguration('use_camera')),
    )

move_groupは下記のように変更

    move_group = IncludeLaunchDescription(
            PythonLaunchDescriptionSource([
                get_package_share_directory('crane_plus_moveit_config'),
                '/launch/run_move_group.launch.py']),
            launch_arguments={
                'loaded_description': description,
                'rviz_config': LaunchConfiguration('rviz_config')
            }.items()
        )

Copy link
Author

Choose a reason for hiding this comment

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

ありがとうございます!
ご提案いただいた通りに修正したところ、rviz_configが切替えができました

Comment on lines 80 to 85
rviz_entities = generate_moveit_rviz_launch(moveit_config).entities
for entity in rviz_entities:
if isinstance(entity, Node):
entity.cmd.extend(['--ros-args', '--params-file', rviz_config])
ld.add_entity(entity)

Copy link
Contributor

Choose a reason for hiding this comment

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

rviz_entitiesを削除してld.add_entity(generate_moveit_rviz_launch(moveit_config))のみ使用

    rviz_entities = generate_moveit_rviz_launch(moveit_config).entities
    for entity in rviz_entities:
        if isinstance(entity, Node):
            entity.cmd.extend(['--ros-args', '--params-file', rviz_config])
            ld.add_entity(entity)

Copy link
Author

Choose a reason for hiding this comment

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

ありがとうございます!
ご提案いただいた通りに修正したところ、rviz_configが切替えられました

@mizonon
Copy link
Author

mizonon commented Dec 13, 2024

コンフリクト解消の対応を行いました。
申し訳ないのですが、CIエラーの対応はお願いいたします

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