sdformat_urdf icon indicating copy to clipboard operation
sdformat_urdf copied to clipboard

CMake Error at CMakeLists.txt:19 (find_package): can't find "urdf_parser_plugin"

Open newcanopies opened this issue 4 years ago • 3 comments

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

newcanopies avatar May 02 '21 16:05 newcanopies

also, what would be the bash command to run an SDF to URDF conversion?

newcanopies avatar May 02 '21 16:05 newcanopies

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).

sloretz avatar May 03 '21 15:05 sloretz

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_description package.xml on sdformat_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.

newcanopies avatar May 04 '21 00:05 newcanopies