@小鱼 ros2需要更新到哪个版本,最新版本不就是humble吗?
重要提示
鱼香小铺正式开业,最低499可入手一台能建图会导航的移动机器人,淘宝搜店:鱼香ROS 或点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
1522346936 发布的最新帖子
-
RE: 《动手学Moveit2》3.安装Moveit2测试
@吨吨炖丸子 在 《动手学Moveit2》3.安装Moveit2 中说:
鱼哥,这种问题你遇到过没
--- stderr: moveit_ros_planning In file included from /home/wadd/moveit2_ws/src/moveit2/moveit_ros/planning/kinematics_plugin_loader/include/moveit/kinematics_plugin_loader/kinematics_plugin_loader.h:42, from /home/wadd/moveit2_ws/src/moveit2/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp:37: /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp: In member function ‘rcl_interfaces::msg::SetParametersResult kinematics::ParamListener::update(const std::vector<rclcpp::Parameter>&)’: /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:100:59: error: ‘gt_eq’ is not a member of ‘parameter_traits’ 100 | if(auto validation_result = parameter_traits::gt_eq<double>(param, 0.0); | ^~~~~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:100:65: error: expected primary-expression before ‘double’ 100 | if(auto validation_result = parameter_traits::gt_eq<double>(param, 0.0); | ^~~~~~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:107:59: error: ‘gt’ is not a member of ‘parameter_traits’ 107 | if(auto validation_result = parameter_traits::gt<double>(param, 0.0); | ^~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:107:62: error: expected primary-expression before ‘double’ 107 | if(auto validation_result = parameter_traits::gt<double>(param, 0.0); | ^~~~~~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp: In member function ‘void kinematics::ParamListener::declare_params()’: /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:153:53: error: ‘gt_eq’ is not a member of ‘parameter_traits’ 153 | if(auto validation_result = parameter_traits::gt_eq<double>(param, 0.0); | ^~~~~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:153:59: error: expected primary-expression before ‘double’ 153 | if(auto validation_result = parameter_traits::gt_eq<double>(param, 0.0); | ^~~~~~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:159:53: error: ‘gt’ is not a member of ‘parameter_traits’ 159 | if(auto validation_result = parameter_traits::gt<double>(param, 0.0); | ^~ /home/wadd/moveit2_ws/build/moveit_ros_planning/kinematics_plugin_loader/kinematics_parameters/include/kinematics_parameters.hpp:159:56: error: expected primary-expression before ‘double’ 159 | if(auto validation_result = parameter_traits::gt<double>(param, 0.0); | ^~~~~~ gmake[2]: *** [kinematics_plugin_loader/CMakeFiles/moveit_kinematics_plugin_loader.dir/build.make:76:kinematics_plugin_loader/CMakeFiles/moveit_kinematics_plugin_loader.dir/src/kinematics_plugin_loader.cpp.o] 错误 1 gmake[1]: *** [CMakeFiles/Makefile2:460:kinematics_plugin_loader/CMakeFiles/moveit_kinematics_plugin_loader.dir/all] 错误 2 gmake[1]: *** 正在等待未完成的任务.... gmake: *** [Makefile:146:all] 错误 2 --- Failed <<< moveit_ros_planning [2min 3s, exited with code 2] Summary: 13 packages finished [11min 29s] 1 package failed: moveit_ros_planning 2 packages had stderr output: moveit_configs_utils moveit_ros_planning 24 packages not processed
我也遇到了同样的错误,我是在
ros:humble-ros-base-jammy
的官方docker容器里跑的 -
RE: ros2 python call_async(异步回调)方法求助
ros2同步调用其实是好用的,虽然文档里写的不建议用。
其次可以试试将异步调用封装成同步的future = call_async(request) while True: if future.done(): break