76 request.group_name =
"right_arm";
77 request.start_state.joint_state.name = {
78 "r_shoulder_pan_joint",
"r_shoulder_lift_joint",
"r_upper_arm_roll_joint",
"r_forearm_roll_joint",
79 "r_elbow_flex_joint",
"r_wrist_flex_joint",
"r_wrist_roll_joint",
81 request.start_state.joint_state.position = {
82 0.0, 0.0, 0.0, 0.0, -0.5, -0.5, 0.0,
85 const auto result = adapter_->adapt(planning_scene_, request);
86 EXPECT_EQ(result.val, moveit_msgs::msg::MoveItErrorCodes::SUCCESS);
87 EXPECT_EQ(result.message,
"");
93 request.group_name =
"right_arm";
94 request.start_state.joint_state.name = {
95 "r_shoulder_pan_joint",
"r_shoulder_lift_joint",
"r_upper_arm_roll_joint",
"r_forearm_roll_joint",
96 "r_elbow_flex_joint",
"r_wrist_flex_joint",
"r_wrist_roll_joint",
98 request.start_state.joint_state.position = {
100 0.0, 0.0, 0.0, -0.5, -0.5, 0.0,
103 const auto result = adapter_->adapt(planning_scene_, request);
104 EXPECT_EQ(result.val, moveit_msgs::msg::MoveItErrorCodes::START_STATE_INVALID);
105 EXPECT_EQ(result.message,
"Start state out of bounds.");
111 request.group_name =
"right_arm";
112 request.start_state.joint_state.name = {
113 "r_shoulder_pan_joint",
"r_shoulder_lift_joint",
"r_upper_arm_roll_joint",
"r_forearm_roll_joint",
114 "r_elbow_flex_joint",
"r_wrist_flex_joint",
"r_wrist_roll_joint",
116 request.start_state.joint_state.position = {
117 0.0, 0.0, 0.0, 100.0,
121 const auto result = adapter_->adapt(planning_scene_, request);
122 EXPECT_EQ(result.val, moveit_msgs::msg::MoveItErrorCodes::START_STATE_INVALID);
123 EXPECT_EQ(result.message,
"Start state out of bounds.");
129 request.group_name =
"right_arm";
130 request.start_state.joint_state.name = {
131 "r_shoulder_pan_joint",
"r_shoulder_lift_joint",
"r_upper_arm_roll_joint",
"r_forearm_roll_joint",
132 "r_elbow_flex_joint",
"r_wrist_flex_joint",
"r_wrist_roll_joint",
134 request.start_state.joint_state.position = {
135 0.0, 0.0, 0.0, 100.0,
140 node_->set_parameter(rclcpp::Parameter(
"fix_start_state",
true));
142 const auto result = adapter_->adapt(planning_scene_, request);
143 EXPECT_EQ(result.val, moveit_msgs::msg::MoveItErrorCodes::SUCCESS);
144 EXPECT_EQ(result.message,
"Normalized start state.");
147 const auto& joint_names = request.start_state.joint_state.name;
148 const size_t joint_idx =
149 std::find(joint_names.begin(), joint_names.end(),
"r_forearm_roll_joint") - joint_names.begin();
150 EXPECT_NEAR(request.start_state.joint_state.position[joint_idx], -0.530965, 1.0e-4);