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>
36typedef std::unordered_set<std::string>
TaskSet;
363 int frameAdd(
const std::string &name,
const std::vector<double> &pose,
364 const std::string &ref_name);
403 int frameAttach(
const std::string &child,
const std::string &parent);
497 int frameMove(
const std::string &name,
const std::vector<double> &pose,
498 const std::string &ref_name);
538 const std::string &rel_frame,
539 const std::string &ref_frame);
575 const std::string &from_frame,
576 const std::string &to_frame);
688 int axisGroupAdd(
const std::string &name,
const std::vector<double> &pose,
689 const std::string &ref_frame);
756 const std::string &parent,
757 const std::vector<double> &pose);
789 const std::vector<double> &pose);
860 const std::string &group_name);
889 const std::string &group_name);
923 const std::vector<double> &offset);
970 const std::vector<double> &q,
double a,
double v);
1005 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