sdformat_urdf
sdformat_urdf copied to clipboard
CMake Error at CMakeLists.txt:19 (find_package): can't find "urdf_parser_plugin"
Thanks for this package,
where does the missing urdf_parser_plugin come from?
It doesn't match any file names in this entire repo.
See build error:
colcon build --packages-select sdformat_urdf --symlink-install
Starting >>> sdformat_urdf
--- stderr: sdformat_urdf
CMake Error at CMakeLists.txt:19 (find_package):
By not providing "Findurdf_parser_plugin.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"urdf_parser_plugin", but CMake did not find one.
Could not find a package configuration file provided by
"urdf_parser_plugin" with any of the following names:
urdf_parser_pluginConfig.cmake
urdf_parser_plugin-config.cmake
Add the installation prefix of "urdf_parser_plugin" to CMAKE_PREFIX_PATH or
set "urdf_parser_plugin_DIR" to a directory containing one of the above
files. If "urdf_parser_plugin" provides a separate development package or
SDK, be sure it has been installed.
---
Failed <<< sdformat_urdf [6.92s, exited with code 1]
Summary: 0 packages finished [7.04s]
1 package failed: sdformat_urdf
1 package had stderr output: sdformat_urdf
env
- Ubuntu 20.04
- ROS2 Foxy
- binaries
- server glx vendor string: SGI
- sudo apt update = up to date
also, what would be the bash command to run an SDF to URDF conversion?
where does the missing urdf_parser_plugin come from?
It comes from the ros2/urdf repository. https://github.com/ros2/urdf . It's available in ROS Galactic or ROS Rolling. https://index.ros.org has a search bar for finding packages: https://index.ros.org/p/urdf_parser_plugin/github-ros2-urdf/#galactic
also, what would be the bash command to run an SDF to URDF conversion?
There isn't one, but it may be possible to write one making use of this API: https://github.com/ros/urdfdom/issues/12#issuecomment-284719375 . This repo provides a library and a urdf_parser_plugin to convert SDFormat XML to URDF C++ DOM structures. That means when you have this package installed, you can give an SDFormat robot description to tools like robot_state_publisher, and other tools like RViz2 will be able to display that robot description (with some limitations on the materials that can be displayed).
Thanks very much for all of this information,
it prompted me to revisit the sdformat_urdf package as a potential method to close the current gap between simulation <> control, given that mesh based URDF models cannot be visualized in Gazebo, also related to the background discussion https://github.com/ros/robot_state_publisher/issues/144
Is the way to implement this package:
- include the <sdformat_urdf_plugin> in the SDF XML description
- depend the
robot_descriptionpackage.xml onsdformat_urdf?
my use case is propagating control from a web-cli to Gazebo using the robot_state_publisher, joint_state_publisher plugins and some move_group yamls. lots of heterogenous systems to interface, and they don't even share a robot description convention.