Skip to content

- Improved error message in motion_planner.cpp for planning_groups #6

Open
@yassine-cherni

Description

@yassine-cherni

‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’;

OS : Ubuntu 24.04.2 LTS
Version or commit hash: jazzy

if (!approach_plan.trajectory_.joint_trajectory.points.empty()) {

if (approach_plan.trajectory_.joint_trajectory.points.empty()) {

return perform_motion(info, approach_plan.trajectory_.joint_trajectory);

Potential Fixes
` MoveGroupInterface::Plan approach_plan;
for (const auto & group : move_groups) {
approach_plan = plan_approach(group, info);
if (!approach_plan.trajectory.joint_trajectory.points.empty()) {
break;
}
}

if (approach_plan.trajectory.joint_trajectory.points.empty()) {
return Result(Result::State::ERROR, "Failed to plan approach trajectory");
}

return perform_motion(info, approach_plan.trajectory.joint_trajectory);
}`

`yassine@ros2:~/JTC$ colcon build --symlink-install
Starting >>> play_motion2_msgs
[Processing: play_motion2_msgs]
Finished <<< play_motion2_msgs [52.8s]
Starting >>> play_motion2
[Processing: play_motion2]
[Processing: play_motion2]
--- stderr: play_motion2
In file included from /home/yassine/JTC/src/play_motion2/play_motion2/include/play_motion2/motion_planner.hpp:25,
from /home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp:18:
/opt/ros/jazzy/include/moveit_ros_planning_interface/moveit/move_group_interface/move_group_interface.h:51:77: note: ‘#pragma message: .h header is obsolete. Please use the .hpp header instead.’
51 | #pragma message(".h header is obsolete. Please use the .hpp header instead.")
| ^
In file included from /home/yassine/JTC/src/play_motion2/play_motion2/include/play_motion2/motion_planner.hpp:25,
from /home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/play_motion2.cpp:18:
/opt/ros/jazzy/include/moveit_ros_planning_interface/moveit/move_group_interface/move_group_interface.h:51:77: note: ‘#pragma message: .h header is obsolete. Please use the .hpp header instead.’
51 | #pragma message(".h header is obsolete. Please use the .hpp header instead.")
| ^
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp: In constructor ‘play_motion2::MotionPlanner::MotionPlanner(rclcpp_lifecycle::LifecycleNode::SharedPtr)’:
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp:78:67: warning: ‘typename rclcpp::Client::SharedPtr rclcpp_lifecycle::LifecycleNode::create_client(const std::string&, const rmw_qos_profile_t&, rclcpp::CallbackGroup::SharedPtr) [with ServiceT = controller_manager_msgs::srv::ListControllers; typename rclcpp::Client::SharedPtr = std::shared_ptr<rclcpp::Client<controller_manager_msgs::srv::ListControllers> >; std::string = std::cxx11::basic_string; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::CallbackGroup::SharedPtr = std::shared_ptrrclcpp::CallbackGroup]’ is deprecated: use rclcpp::QoS instead of rmw_qos_profile_t [-Wdeprecated-declarations]
78 | list_controllers_client
= node
->create_client(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
79 | "/controller_manager/list_controllers", rmw_qos_profile_default, motion_planner_cb_group_);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/jazzy/include/rclcpp_lifecycle/rclcpp_lifecycle/lifecycle_node.hpp:1126,
from /home/yassine/JTC/src/play_motion2/play_motion2/include/play_motion2/motion_planner.hpp:29:
/opt/ros/jazzy/include/rclcpp_lifecycle/rclcpp_lifecycle/lifecycle_node_impl.hpp:125:1: note: declared here
125 | LifecycleNode::create_client(
| ^~~~~~~~~~~~~
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp: In member function ‘play_motion2::Result play_motion2::MotionPlanner::execute_motion(const play_motion2::MotionInfo&, bool)’:
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp:313:24: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
313 | if (!approach_plan.trajectory_.joint_trajectory.points.empty()) {
| ^~~~~~~~~~~
| trajectory
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp:318:21: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
318 | if (approach_plan.trajectory_.joint_trajectory.points.empty()) {
| ^~~~~~~~~~~
| trajectory
/home/yassine/JTC/src/play_motion2/play_motion2/src/play_motion2/motion_planner.cpp:322:45: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
322 | return perform_motion(info, approach_plan.trajectory_.joint_trajectory);
| ^~~~~~~~~~~
| trajectory
gmake[2]: *** [CMakeFiles/play_motion2.dir/build.make:90: CMakeFiles/play_motion2.dir/src/play_motion2/motion_planner.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:173: CMakeFiles/play_motion2.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2

Failed <<< play_motion2 [1min 21s, exited with code 2]

Summary: 1 package finished [2min 15s]
1 package failed: play_motion2
1 package had stderr output: play_motion2
yassine@ros2:~/JTC$

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions