24#ifndef AUBO_SDK_SYNC_MOVE_INTERFACE_H
25#define AUBO_SDK_SYNC_MOVE_INTERFACE_H
28#include <unordered_set>
31#include <aubo/global_config.h>
34namespace common_interface {
36typedef std::unordered_set<std::string>
TaskSet;
349 int frameAdd(
const std::string &name,
const std::vector<double> &pose,
350 const std::string &ref_name);
388 int frameAttach(
const std::string &child,
const std::string &parent);
479 int frameMove(
const std::string &name,
const std::vector<double> &pose,
480 const std::string &ref_name);
519 const std::string &rel_frame,
520 const std::string &ref_frame);
555 const std::string &from_frame,
556 const std::string &to_frame);
664 int axisGroupAdd(
const std::string &name,
const std::vector<double> &pose,
665 const std::string &ref_frame);
730 const std::string &parent,
731 const std::vector<double> &pose);
762 const std::vector<double> &pose);
830 const std::string &group_name);
858 const std::string &group_name);
891 const std::vector<double> &offset);
937 const std::vector<double> &q,
double a,
double v);
971 const std::vector<double> &qd,
double a,
double t);
int axisGroupSpeedJoint(const std::string &group_name, const std::vector< double > &qd, double a, double t)
Accelerates the axes of axis group named group_name up to the target velocities qd.
int frameAttach(const std::string &child, const std::string &parent)
Attaches the child frame to the parent world model object.
std::vector< double > frameConvertPose(const std::vector< double > &pose, const std::string &from_frame, const std::string &to_frame)
Convert pose from from_frame to to_frame.
std::string axisGroupGetAxisName(int index)
Returns the name of the axis with the given axis_index.
std::string frameGetParent(const std::string &name)
Get the parent of the frame named name in the world model.
bool frameExist(const std::string &name)
Queries for the existence of a frame by the given name.
int frameDelete(const std::string &name)
Delete the frame with name from the world model.
int syncMoveResume()
Resume synchronized movement mode.
int frameMove(const std::string &name, const std::vector< double > &pose, const std::string &ref_name)
Changes the placement of the coordinate frame named name to the new placement given by pose that is d...
int axisGroupMoveJoint(const std::string &group_name, const std::vector< double > &q, double a, double v)
Moves the axes of axis group named group_name to new positions q, using a trapezoidal velocity profil...
int axisGroupDelete(const std::string &name)
Deletes the axis group with the given name from the world model.
std::vector< double > frameGetPose(const std::string &name, const std::string &rel_frame, const std::string &ref_frame)
Get the pose of the name frame relative to the rel_frame frame but expressed in the coordinates of th...
int syncMoveOn(const std::string &syncident, const TaskSet &taskset)
syncMoveOn is used to start synchronized movement mode.
int axisGroupAdd(const std::string &name, const std::vector< double > &pose, const std::string &ref_frame)
Adds a new axis group with the given name to the world model.
std::vector< double > axisGroupGetTargetPositions(const std::string &group_name)
Returns the current target positions of the axis group with group_name.
int waitSyncTasks(const std::string &syncident, const TaskSet &taskset)
waitSyncTasks is used to synchronize several task programs at a specific point in the program.
int syncMoveSuspend()
Suspend synchronized movement mode.
bool isSyncMoveOn()
isSyncMoveOn is used to tell if the mechanical unit group is in synchronized movement mode.
int axisGroupOffsetPositions(const std::string &group_name, const std::vector< double > &offset)
Shifts the target and actual positions of the axis group group_name by the given offset.
int syncMoveOff(const std::string &syncident)
syncMoveOff is used to end synchronized movement mode.
int axisGroupUpdateAxis(const std::string &name, const std::vector< double > &pose)
Updates the corresponding properties of axis with name.
int frameDeleteAll()
Delete all frames that have been added to the world model.
std::vector< double > axisGroupGetActualPositions(const std::string &group_name)
Returns the current actual positions of the axis group with group_name.
int axisGroupGetAxisIndex(const std::string &name)
Returns the index of the axis with given axis_name in the RTDE target positions and actual positions ...
bool syncMoveSegment(int id)
Set the ID for the synchronized path segment.
int frameAdd(const std::string &name, const std::vector< double > &pose, const std::string &ref_name)
Add a frame with the name "name" initialized at the specified pose expressed in the ref_frame coordin...
int axisGroupAddAxis(const std::string &group_name, const std::string &name, const std::string &parent, const std::vector< double > &pose)
Adds an external axis with the given name to the axis group named group_name.
std::vector< std::string > frameGetChildren(const std::string &name)
Returns a list of immediate child object frame names.
int syncMoveUndo()
syncMoveUndo is used to turn off synchronized movements, even if not all the other task programs exec...
std::shared_ptr< SyncMove > SyncMovePtr
std::unordered_set< std::string > TaskSet