Hello,
I tried to install this package on ubuntu 2004. I tried package management tools, but apt only contains ros-noetic-xpp-msgs, ros-noetic-xpp-states and ros-noetic-xpp-states-dbgsym. When I try to build from source, error occured as
Errors << xpp_vis:make /home/ycshao/repo/catkin_workspace/logs/xpp_vis/build.make.003.log
/home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/src/urdf_visualizer.cc: In member function ‘void xpp::UrdfVisualizer::StateCallback(const RobotStateJoint&)’:
/home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/src/urdf_visualizer.cc:73:85: error: no matching function for call to ‘robot_state_publisher::RobotStatePublisher::publishTransforms(std::map<std::__cxx11::basic_string<char>, double>&, ros::Time, std::string&)’
73 | robot_publisher->publishTransforms(joint_positions, ::ros::Time::now(), tf_prefix_);
| ^
In file included from /home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/include/xpp_vis/urdf_visualizer.h:45,
from /home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/src/urdf_visualizer.cc:30:
/opt/ros/noetic/include/robot_state_publisher/robot_state_publisher.h:83:16: note: candidate: ‘virtual void robot_state_publisher::RobotStatePublisher::publishTransforms(const std::map<std::__cxx11::basic_string<char>, double>&, const ros::Time&)’
83 | virtual void publishTransforms(const std::map<std::string, double>& joint_positions, const ros::Time& time);
| ^~~~~~~~~~~~~~~~~
/opt/ros/noetic/include/robot_state_publisher/robot_state_publisher.h:83:16: note: candidate expects 2 arguments, 3 provided
/home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/src/urdf_visualizer.cc:74:43: error: cannot convert ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘bool’
74 | robot_publisher->publishFixedTransforms(tf_prefix_);
| ^~~~~~~~~~
| |
| std::string {aka std::__cxx11::basic_string<char>}
In file included from /home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/include/xpp_vis/urdf_visualizer.h:45,
from /home/ycshao/repo/catkin_workspace/src/xpp/xpp_vis/src/urdf_visualizer.cc:30:
/opt/ros/noetic/include/robot_state_publisher/robot_state_publisher.h:84:44: note: initializing argument 1 of ‘virtual void robot_state_publisher::RobotStatePublisher::publishFixedTransforms(bool)’
84 | virtual void publishFixedTransforms(bool use_tf_static = false);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/xpp_vis.dir/build.make:63: CMakeFiles/xpp_vis.dir/src/urdf_visualizer.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:586: CMakeFiles/xpp_vis.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
It seems in ros noetic, robot_publisher->publishFixedTransforms and robot_publisher->publishTransforms have different defination with previous ros distro. I finally fixed this problem by simply changing those two lines mentioned in the error messages. But this change breaks the TF relationship and results in incorrect display in rviz for links.
Hello,
I tried to install this package on ubuntu 2004. I tried package management tools, but apt only contains
ros-noetic-xpp-msgs,ros-noetic-xpp-statesandros-noetic-xpp-states-dbgsym. When I try to build from source, error occured asIt seems in ros noetic,
robot_publisher->publishFixedTransformsandrobot_publisher->publishTransformshave different defination with previous ros distro. I finally fixed this problem by simply changing those two lines mentioned in the error messages. But this change breaks the TF relationship and results in incorrect display in rviz for links.