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

ROS 2 Jazzyに対応します #158

Merged
merged 20 commits into from
Nov 21, 2024
Merged

ROS 2 Jazzyに対応します #158

merged 20 commits into from
Nov 21, 2024

Conversation

chama1176
Copy link

@chama1176 chama1176 commented Jul 18, 2024

What does this implement/fix?

ROS 2 Jazzyに対応します

  • ドキュメントをJazzy向けに書き換えました
  • CIをJazzyに変更しました
  • ignの記載が残っていた部分をgzに移行しています
  • usb_camの現在の使用方法について記載しました

Does this close any currently open issues?

No.

How has this been tested?

実機とシミュレーションでExamplesが動作することを確認しています

Any other comments?

先にsciurus17_descriptionJazzy対応PRがマージされないとCIが通りません

Checklists

@chama1176 chama1176 marked this pull request as draft July 18, 2024 01:06
@chama1176 chama1176 mentioned this pull request Jul 29, 2024
2 tasks
@chama1176 chama1176 marked this pull request as ready for review November 7, 2024 01:31
@chama1176 chama1176 requested a review from Kuwamai November 7, 2024 01:32
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.

@chama1176
PRありがとうございます。
実機ですべてのサンプルの動作確認ができました。

Gazeboが起動しなかったため、シミュレータの動作は未確認です。
コメントをご確認お願いします。

README.md Outdated Show resolved Hide resolved
sciurus17_moveit_config/launch/run_move_group.launch.py Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

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

Gazeboシミュレータが起動中に落ちました。
@chama1176 さんの環境では正常に起動しましたでしょうか?

Copy link
Contributor

Choose a reason for hiding this comment

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

こちらの環境だとGUIまわりでエラーが起きていているようです。

[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1301] �[0m�[1;31m Unable to create the rendering window: �[0m�[1;31mOGRE EXCEPTION(3:RenderingAPIException): currentGLContext was specified with no current GL context in GLXWindow::create at ./.obj-x86_64-linux-gnu/gz_ogre_next_vendor-prefix/src/gz_ogre_next_vendor/RenderSystems/GL3Plus/src/windowing/GLX/OgreGLXWindow.cpp (line 165)�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1309] �[0m�[1;31mUnable to create the rendering window after [�[0m�[1;31m11�[0m�[1;31m] attempts.�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1191] �[0m�[1;31mFailed to create dummy render window.�[0m�[1;31m�[0m
[gz sim -r-1] �[1;31m[GUI] [Err] [Ogre2RenderEngine.cc:1192] �[0m�[1;31mPlease see the troubleshooting page for possible fixes: �[0m�[1;31mhttps://gazebosim.org/docs/fortress/troubleshooting�[0m�[1;31m�[0m

WaylandでなくXorgに切り替えると上記エラーは表示されなくなりましたが、limitsとmimic jointまわりでエラーが出ています。

[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-2.8797932657906435"' and max: '2.8797932657906435"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-1.5707963267948966"' and max: '0.9599310885968813"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-1.5707963267948966"' and max: '1.5707963267948966"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-1.6057029118347832"' and max: '0.0"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-1.5707963267948966"' and max: '1.5707963267948966"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-0.00017453292519943296"' and max: '2.7401669256310974"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-1.5707963267948966"' and max: '1.5707963267948966"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-2.1467549799530254"' and max: '1.0471975511965976"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-2.9670597283903604"' and max: '2.9670597283903604"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] Error parsing the limits for the interface: position from the tags [min: '-0.0008726646259971648"' and max: '1.5009831567151235"'] within ros2_control tag inside the URDF. Skipping it
[gz sim -r-1] terminate called after throwing an instance of 'std::runtime_error'
[gz sim -r-1]   what():  Joint 'r_gripper_mimic_joint' has mimic attribute not set to false: Activated mimic joints cannot have command interfaces.
[gz sim -r-1] Stack trace (most recent call last) in thread 13484:
[gz sim -r-1] #18   Object "[0xffffffffffffffff]", at 0xffffffffffffffff, in 
[gz sim -r-1] #17   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7184bd129c3b, in 
[gz sim -r-1] #16   Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7184bd09ca93, in 
[gz sim -r-1] #15   Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7184b7eecdb3, in 
[gz sim -r-1] #14   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x718480918df6, in rclcpp::executors::MultiThreadedExecutor::run(unsigned long)
[gz sim -r-1] #13   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x718480907bf9, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
[gz sim -r-1] #12   Object "/opt/ros/jazzy/lib/librclcpp.so", at 0x7184809074ca, in rclcpp::Executor::execute_subscription(std::shared_ptr<rclcpp::SubscriptionBase>)
[gz sim -r-1] #11   Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x7184a4dafda4, in 
[gz sim -r-1] #10   Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x7184a4d3f17a, in controller_manager::ControllerManager::robot_description_callback(std_msgs::msg::String_<std::allocator<void> > const&)
[gz sim -r-1] #9    Object "/opt/ros/jazzy/lib/libcontroller_manager.so", at 0x7184a4d4497d, in controller_manager::ControllerManager::init_resource_manager(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[gz sim -r-1] #8    Object "/opt/ros/jazzy/lib/libgz_ros2_control-system.so", at 0x7184a56d31e9, in 
[gz sim -r-1] #7    Object "/opt/ros/jazzy/lib/libhardware_interface.so", at 0x7184a4c2e195, in 
[gz sim -r-1] #6    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7184b7ebb390, in __cxa_throw
[gz sim -r-1] #5    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7184b7ea5a54, in std::terminate()
[gz sim -r-1] #4    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7184b7ebb0d9, in 
[gz sim -r-1] #3    Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7184b7ea5ff4, in 
[gz sim -r-1] #2    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7184bd0288fe, in abort
[gz sim -r-1] #1    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7184bd04526d, in gsignal
[gz sim -r-1] #0    Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x7184bd09eb1c, in pthread_kill
[gz sim -r-1] Aborted (Signal sent by tkill() 13182 1000)

Copy link
Author

Choose a reason for hiding this comment

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

PR作成時は私の方では動作確認できていました。
変更入っている可能性もあるので再度確認してみます

Copy link
Author

Choose a reason for hiding this comment

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

私の環境でも落ちる現象が再現しました
確認します

Copy link
Author

Choose a reason for hiding this comment

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

PR作成時(おそらくv8.5.0)からv8.6.0になって差分が大きそうなので、今のバージョンで動くように修正します

Copy link
Author

Choose a reason for hiding this comment

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

物理エンジンにmimic contraintsがないエラー
は公式でも認識されているようです。
ros-controls/gz_ros2_control#340
DART使う場合は無視してとのことのようです。bulletに変更することで回避できるようです

Copy link
Author

@chama1176 chama1176 Nov 19, 2024

Choose a reason for hiding this comment

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

gz_frame_idが廃止されているかもしれない

に関してですが、下記の通り、SDF側に定義されていないだけのようなので、問題はなさそうです。
gazebosim/gz-sensors#306

探している中で見つけましたが、今後はgz_frame_id等は廃止になってframe_idに統一されるようです。
gazebosim/sdformat#1454
ただしsdformat15からの変更のようなので、sdformat14を使っている現在のgz-sim8.x.xではframe_idで設定してもワーニングが出ます。

こちらのコミットでframe_idに変更しました
rt-net/sciurus17_description@0bb3899

Copy link
Author

Choose a reason for hiding this comment

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

GripperActionControllerの廃止に関してはmsg型なども変わり変更量がさすがに多いので、
調査して別PRで対応検討とさせていただきたいです
ros-controls/ros2_controllers#1002

ちょうどこのPRを作成したあたりのタイミングでmainにmergeされた新機能のようです

こちらにIssue起案しました
#163

Copy link
Author

Choose a reason for hiding this comment

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

@Kuwamai
記載いただいた事項に関して状況確認と修正行いましたので、改めて確認いただけると幸いです

Copy link
Contributor

@Kuwamai Kuwamai Nov 20, 2024

Choose a reason for hiding this comment

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

@chama1176
ご確認ありがとうございます!
エラーが出ていないことを確認しました。
先にdescriptionパッケージのほうApproveします

@Kuwamai Kuwamai added the Type: Feature New Feature label Nov 20, 2024
@chama1176
Copy link
Author

@Kuwamai
CI通るように修正したので再度確認お願いします

依存関係追加以外にフォーマット修正も行いました

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.

@chama1176
確認しました。LGTMです。

@Kuwamai Kuwamai merged commit e95d841 into ros2 Nov 21, 2024
2 checks passed
@Kuwamai Kuwamai deleted the feature/support-jazzy branch November 21, 2024 10:27
@Kuwamai Kuwamai mentioned this pull request Jan 8, 2025
2 tasks
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