moveit_sample.cpp
Go to the documentation of this file.
1 #include <ros/ros.h>
5 
6 geometry_msgs::Quaternion rpy_to_geometry_quat(double roll, double pitch, double yaw){
8  geometry_msgs::Quaternion geometry_quat;
9  quaternionTFToMsg(quat, geometry_quat);
10  return geometry_quat;
11 }
12 
13 int main(int argc, char** argv)
14 {
15  ros::init(argc, argv, "moveit_sample_node");
16  ros::NodeHandle node_handle;
18  spinner.start();
19 
21  geometry_msgs::Pose target_pose1,target_pose2,target_pose3;
22 
23  //--- set registerd position ---
24  moveit::planning_interface::MoveGroupInterface move_group_arms("upper_body");
25  move_group_arms.setPoseReferenceFrame("base_link");
26  move_group_arms.setNamedTarget("reset-pose");
27  move_group_arms.move();
28  //------------------------------
29 
30  //--- right arm without waist ---
31  moveit::planning_interface::MoveGroupInterface move_group_right("rarm");
32  move_group_right.setEndEffectorLink("r_eef_grasp_link");
33  move_group_right.setPoseReferenceFrame("base_link");
34 
35  target_pose1.orientation = rpy_to_geometry_quat(-1.57,0.79,0);
36  target_pose1.position.x = 0.3;
37  target_pose1.position.y = -0.2;
38  target_pose1.position.z = 1.0;
39  move_group_right.setPoseTarget(target_pose1);
40 
41  bool success = (move_group_right.plan(my_plan) == moveit::planning_interface::MoveItErrorCode::SUCCESS);
42  if(success)move_group_right.execute(my_plan);
43  //-----------------------
44 
45  //--- left arm without waist ---
46  moveit::planning_interface::MoveGroupInterface move_group_left("larm");
47  move_group_left.setEndEffectorLink("l_eef_grasp_link");
48  move_group_left.setPoseReferenceFrame("base_link");
49 
50  target_pose2.orientation = rpy_to_geometry_quat(1.57,0.79,0);
51  target_pose2.position.x = 0.3;
52  target_pose2.position.y = 0.2;
53  target_pose2.position.z = 1.0;
54  move_group_left.setPoseTarget(target_pose2);
55 
56  success = (move_group_left.plan(my_plan) == moveit::planning_interface::MoveItErrorCode::SUCCESS);
57  if(success)move_group_left.execute(my_plan);
58  //-----------------------
59 
60  //--- with both arms ---
61  target_pose1.position.x += 0.2;
62  target_pose2.position.x += 0.2;
63 
64  move_group_arms.setPoseTarget(target_pose1,"r_eef_grasp_link");
65  move_group_arms.setPoseTarget(target_pose2,"l_eef_grasp_link");
66 
67  success = (move_group_arms.plan(my_plan) == moveit::planning_interface::MoveItErrorCode::SUCCESS);
68  if(success)move_group_arms.execute(my_plan);
69  //-----------------------
70 
71  //--- set registerd position ---
72  move_group_arms.setNamedTarget("reset-pose");
73  move_group_arms.move();
74  //------------------------------
75 
76  ros::shutdown();
77  return 0;
78 }
static tf::Quaternion createQuaternionFromRPY(double roll, double pitch, double yaw)
geometry_msgs::Quaternion rpy_to_geometry_quat(double roll, double pitch, double yaw)
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
void setPoseReferenceFrame(const std::string &pose_reference_frame)
bool setPoseTarget(const Eigen::Affine3d &end_effector_pose, const std::string &end_effector_link="")
void spinner()
bool setEndEffectorLink(const std::string &end_effector_link)
quat
MoveItErrorCode execute(const Plan &plan)
int main(int argc, char **argv)
ROSCPP_DECL void shutdown()
bool setNamedTarget(const std::string &name)


seed_r7_samples
Author(s):
autogenerated on Sun Apr 18 2021 02:41:07