//Action client initialization Gripper(){ //Initialize the client for the Action interface to the gripper controller //and tell the action client that we want to spin a thread by default gripper_client_l_ = new GripperClient("l_gripper_sensor_controller/gripper_action",true); place_client_l_ = new PlaceClient("l_gripper_sensor_controller/event_detector",true); gripper_client_r_ = new GripperClient("r_gripper_sensor_controller/gripper_action",true); place_client_r_ = new PlaceClient("r_gripper_sensor_controller/event_detector",true); //wait for the gripper action server to come up while(!gripper_client_r_->waitForServer(ros::Duration(5.0))){ ROS_INFO("Waiting for the r_gripper_sensor_controller/gripper_action action server to come up"); } while(!place_client_r_->waitForServer(ros::Duration(5.0))){ ROS_INFO("Waiting for the r_gripper_sensor_controller/event_detector action server to come up"); } //wait for the gripper action server to come up while(!gripper_client_l_->waitForServer(ros::Duration(5.0))){ ROS_INFO("Waiting for the l_gripper_sensor_controller/gripper_action action server to come up"); } while(!place_client_l_->waitForServer(ros::Duration(5.0))){ ROS_INFO("Waiting for the l_gripper_sensor_controller/event_detector action server to come up"); } }