1 | initial version |
I have the same problem, and haven't been able to fix it yet.
I think the issue is that the latest Gazebo source still includes its own mini-SDF package, whereas the latest gazebo_ros_pkgs source relies on a standalone SDFormat installation.
My environment is Ubuntu 12.04.2, up-to-date ROS Groovy, and I've followed the instructions at http://gazebosim.org/wiki/Tutorials/1.9/Installing_gazebo_ros_Packages, with Gazebo and SDFormat installed from Mercurial, and gazebo_ros_pkgs installed from Git. * Note there's an error in the webpage http://gazebosim.org/wiki/Tutorials/1.9/Installing_gazebo_ros_Packages#ROS_Groovy - the command to check out a git branch should be:
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b groovy-devel
I've tried to fix this by changing the code in Gazebo to use SDF from /usr/include/sdf-1.4/ instead of the version in gazebo/gazebo/sdf, by changing gazebo/gazebo/sdf/sdf.hh to include the system-installed SDF files
#include <sdf/Assert.hh>
#include <sdf/Console.hh>
#include <sdf/Converter.hh>
... etc
and adding the SDF package to some CMakeLists.txt
find_package(SDF REQUIRED)
include_directories(${SDFormat_INCLUDE_DIRS})
link_directories(${SDFormat_LIBRARY_DIRS})
however this finally got me to a compile error that I think is due to Gazebo needing the version its packaged with, rather than the latest SDF source version. Anyway I'm stuck. For reference, the error I got to was:
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:302:73: error: no matching function for call to ‘Set(gazebo::msgs::Pose*, sdf::Pose)’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:302:73: note: candidates are:
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:174:10: note: void gazebo::msgs::Set(gazebo::common::Image&, const gazebo::msgs::Image&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:174:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::common::Image&’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:184:10: note: void gazebo::msgs::Set(gazebo::msgs::Image*, const gazebo::common::Image&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:184:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Image*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:122:10: note: void gazebo::msgs::Set(gazebo::msgs::Vector3d*, const gazebo::math::Vector3&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:122:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Vector3d*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:129:10: note: void gazebo::msgs::Set(gazebo::msgs::Vector2d*, const gazebo::math::Vector2d&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:129:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Vector2d*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:135:10: note: void gazebo::msgs::Set(gazebo::msgs::Quaternion*, const gazebo::math::Quaternion&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:135:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Quaternion*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:143:10: note: void gazebo::msgs::Set(gazebo::msgs::Pose*, const gazebo::math::Pose&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:143:10: note: no known conversion for argument 2 from ‘sdf::Pose’ to ‘const gazebo::math::Pose&’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:149:10: note: void gazebo::msgs::Set(gazebo::msgs::Color*, const gazebo::common::Color&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:149:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Color*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:157:10: note: void gazebo::msgs::Set(gazebo::msgs::Time*, const gazebo::common::Time&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:157:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Time*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:165:10: note: void gazebo::msgs::Set(gazebo::msgs::PlaneGeom*, const gazebo::math::Plane&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:165:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::PlaneGeom*’
2 | No.2 Revision |
I have the same problem, and haven't been able to fix it yet.
I think the issue is that the latest Gazebo source still includes its own mini-SDF package, whereas the latest gazebo_ros_pkgs source relies on a standalone SDFormat installation.
My environment is Ubuntu 12.04.2, up-to-date ROS Groovy, and I've followed the instructions at http://gazebosim.org/wiki/Tutorials/1.9/Installing_gazebo_ros_Packages, with Gazebo and SDFormat installed from Mercurial, and gazebo_ros_pkgs installed from Git. * Note there's an error in the webpage http://gazebosim.org/wiki/Tutorials/1.9/Installing_gazebo_ros_Packages#ROS_Groovy - the command to check out a git branch should be:
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b groovy-devel
I've tried to fix this by changing the code in Gazebo to use SDF from /usr/include/sdf-1.4/ instead of the version in gazebo/gazebo/sdf, by changing gazebo/gazebo/sdf/sdf.hh to include the system-installed SDF files
#include <sdf/Assert.hh>
#include <sdf/Console.hh>
#include <sdf/Converter.hh>
... etc
and adding the SDF package to some CMakeLists.txt
find_package(SDF REQUIRED)
include_directories(${SDFormat_INCLUDE_DIRS})
link_directories(${SDFormat_LIBRARY_DIRS})
however this finally got me to a compile error that I think is due to Gazebo needing the version its packaged with, rather than the latest SDF source version. Anyway I'm stuck. For reference, the error I got to was:
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:302:73: error: no matching function for call to ‘Set(gazebo::msgs::Pose*, sdf::Pose)’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:302:73: note: candidates are:
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:174:10: note: void gazebo::msgs::Set(gazebo::common::Image&, const gazebo::msgs::Image&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:174:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::common::Image&’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:184:10: note: void gazebo::msgs::Set(gazebo::msgs::Image*, const gazebo::common::Image&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:184:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Image*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:122:10: note: void gazebo::msgs::Set(gazebo::msgs::Vector3d*, const gazebo::math::Vector3&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:122:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Vector3d*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:129:10: note: void gazebo::msgs::Set(gazebo::msgs::Vector2d*, const gazebo::math::Vector2d&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:129:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Vector2d*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:135:10: note: void gazebo::msgs::Set(gazebo::msgs::Quaternion*, const gazebo::math::Quaternion&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:135:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Quaternion*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:143:10: note: void gazebo::msgs::Set(gazebo::msgs::Pose*, const gazebo::math::Pose&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:143:10: note: no known conversion for argument 2 from ‘sdf::Pose’ to ‘const gazebo::math::Pose&’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:149:10: note: void gazebo::msgs::Set(gazebo::msgs::Color*, const gazebo::common::Color&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:149:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Color*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:157:10: note: void gazebo::msgs::Set(gazebo::msgs::Time*, const gazebo::common::Time&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:157:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::Time*’
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:165:10: note: void gazebo::msgs::Set(gazebo::msgs::PlaneGeom*, const gazebo::math::Plane&)
/home/zeyn/local/installs/gazebo/gazebo/msgs/msgs.cc:165:10: note: no known conversion for argument 1 from ‘gazebo::msgs::Pose*’ to ‘gazebo::msgs::PlaneGeom*’