open_manipulator_teleop - 8BitsCoding/RobotMentor GitHub Wiki
결국 키보드 제어 메시지 나가는 부분만 보면된다.
// cpp
bool OpenManipulatorTeleop::setTaskSpacePathFromPresentPositionOnly(std::vector<double> kinematics_pose, double path_time)
{
open_manipulator_msgs::SetKinematicsPose srv;
srv.request.planning_group = priv_node_handle_.param<std::string>("end_effector_name", "gripper");
srv.request.kinematics_pose.pose.position.x = kinematics_pose.at(0);
srv.request.kinematics_pose.pose.position.y = kinematics_pose.at(1);
srv.request.kinematics_pose.pose.position.z = kinematics_pose.at(2);
srv.request.path_time = path_time;
if(goal_task_space_path_from_present_position_only_client_.call(srv))
{
return srv.response.is_planned;
}
return false;
}
open_manipulator_msgs::SetKinematicsPose srv;
// 를 처리하는 부분을 보면된다.
원하는 포즈를 서비스 클라이언트로 보내게 된다.