19 #ifndef ROBOTIS_MANIPULATOR_H_ 20 #define ROBOTIS_MANIPULATOR_H_ 33 #define DYNAMICS_ALL_SOVING 0 34 #define DYNAMICS_GRAVITY_ONLY 1 35 #define DYNAMICS_NOT_SOVING 2 71 Eigen::Vector3d world_position = Eigen::Vector3d::Zero(),
72 Eigen::Matrix3d world_orientation = Eigen::Matrix3d::Identity());
77 Eigen::Vector3d relative_position,
78 Eigen::Matrix3d relative_orientation,
79 Eigen::Vector3d axis_of_rotation = Eigen::Vector3d::Zero(),
80 int8_t joint_actuator_id = -1,
81 double max_position_limit = M_PI,
82 double min_position_limit = -M_PI,
83 double coefficient = 1.0,
85 Eigen::Matrix3d inertia_tensor = Eigen::Matrix3d::Identity(),
86 Eigen::Vector3d center_of_mass = Eigen::Vector3d::Zero(),
87 double torque_coefficient = 1.0);
91 Eigen::Vector3d relative_position,
92 Eigen::Matrix3d relative_orientation,
94 double max_position_limit =M_PI,
95 double min_position_limit = -M_PI,
96 double coefficient = 1.0,
97 double object_mass = 0.0,
98 Eigen::Matrix3d object_inertia_tensor = Eigen::Matrix3d::Identity(),
99 Eigen::Vector3d object_center_of_mass = Eigen::Vector3d::Zero());
192 bool checkJointLimit(std::vector<Name> component_name, std::vector<double> position_vector);
193 bool checkJointLimit(std::vector<Name> component_name, std::vector<JointValue> value_vector);
212 bool makeJointTrajectory(std::vector<double> goal_joint_position,
double move_time, std::vector<JointValue> present_joint_value = {});
219 bool makeJointTrajectory(std::vector<JointValue> goal_joint_value,
double move_time, std::vector<JointValue> present_joint_value = {});
227 bool makeJointTrajectory(
Name tool_name, Eigen::Vector3d goal_position,
double move_time, std::vector<JointValue> present_joint_value = {});
235 bool makeJointTrajectory(
Name tool_name, Eigen::Matrix3d goal_orientation,
double move_time, std::vector<JointValue> present_joint_value = {});
275 bool makeTaskTrajectory(
Name tool_name, Eigen::Vector3d goal_position,
double move_time, std::vector<JointValue> present_joint_value = {});
283 bool makeTaskTrajectory(
Name tool_name, Eigen::Matrix3d goal_orientation,
double move_time, std::vector<JointValue> present_joint_value = {});
307 bool makeCustomTrajectory(
Name trajectory_name,
Name tool_name,
const void *arg,
double move_time, std::vector<JointValue> present_joint_value = {});
315 bool makeCustomTrajectory(
Name trajectory_name,
const void *arg,
double move_time, std::vector<JointValue> present_joint_value = {});
321 bool sleepTrajectory(
double wait_time, std::vector<JointValue> present_joint_value = {});
bool checkJointLimit(Name component_name, double position)
void disableActuator(Name actuator_name)
JointActuator * getJointActuator(Name actuator_name)
void addTool(Name my_name, Name parent_name, Eigen::Vector3d relative_position, Eigen::Matrix3d relative_orientation, int8_t tool_id=-1, double max_position_limit=M_PI, double min_position_limit=-M_PI, double coefficient=1.0, double object_mass=0.0, Eigen::Matrix3d object_inertia_tensor=Eigen::Matrix3d::Identity(), Eigen::Vector3d object_center_of_mass=Eigen::Vector3d::Zero())
std::vector< JointValue > getToolGoalValue()
getToolGoalValue
bool sleepTrajectory(double wait_time, std::vector< JointValue > present_joint_value={})
sleepTrajectory
void disableAllJointActuator()
std::vector< JointValue > receiveAllToolActuatorValue()
std::vector< JointValue > getJointGoalValueFromTrajectoryTickTime(double tick_time)
bool kinematics_added_state_
std::vector< JointValue > getJointGoalValueFromTrajectory(double present_time, int option=DYNAMICS_ALL_SOVING)
getJointGoalValueFromTrajectory
Kinematics * getKinematics()
bool makeTaskTrajectoryFromPresentPose(Name tool_name, Eigen::Vector3d position_meter, double move_time, std::vector< JointValue > present_joint_value={})
makeTaskTrajectoryFromPresentPose
void setTorqueCoefficient(Name component_name, double torque_coefficient)
std::vector< JointValue > getAllActiveJointValue()
bool makeTaskTrajectory(Name tool_name, Eigen::Vector3d goal_position, double move_time, std::vector< JointValue > present_joint_value={})
makeTaskTrajectory
JointWaypoint getTrajectoryJointValue(double tick_time, int option=0)
bool makeCustomTrajectory(Name trajectory_name, Name tool_name, const void *arg, double move_time, std::vector< JointValue > present_joint_value={})
makeCustomTrajectory
bool getActuatorEnabledState(Name actuator_name)
DynamicPose getDynamicPose(Name component_name)
void enableAllJointActuator()
bool tool_actuator_added_stete_
bool makeJointTrajectory(std::vector< double > goal_joint_position, double move_time, std::vector< JointValue > present_joint_value={})
makeJointTrajectory
bool solveGravityTerm(std::map< Name, double > *joint_torque)
KinematicPose getKinematicPose(Name component_name)
void enableActuator(Name actuator_name)
bool sendJointActuatorValue(Name joint_component_name, JointValue value)
bool getMovingFailState()
void addJoint(Name my_name, Name parent_name, Name child_name, Eigen::Vector3d relative_position, Eigen::Matrix3d relative_orientation, Eigen::Vector3d axis_of_rotation=Eigen::Vector3d::Zero(), int8_t joint_actuator_id=-1, double max_position_limit=M_PI, double min_position_limit=-M_PI, double coefficient=1.0, double mass=0.0, Eigen::Matrix3d inertia_tensor=Eigen::Matrix3d::Identity(), Eigen::Vector3d center_of_mass=Eigen::Vector3d::Zero(), double torque_coefficient=1.0)
void setKinematicsOption(const void *arg)
virtual ~RobotisManipulator()
std::vector< JointValue > JointWaypoint
std::vector< JointValue > getAllJointValue()
std::vector< JointValue > receiveMultipleJointActuatorValue(std::vector< Name > joint_component_name)
uint8_t getToolActuatorId(Name actuator_name)
void addComponentChild(Name my_name, Name child_name)
bool makeJointTrajectoryFromPresentPosition(std::vector< double > delta_goal_joint_position, double move_time, std::vector< JointValue > present_joint_value={})
makeJointTrajectoryFromPresentPosition
std::vector< JointValue > receiveAllJointActuatorValue()
void setToolActuatorMode(Name actuator_name, const void *arg)
bool dynamics_added_state_
JointValue getJointValue(Name joint_name)
double getTrajectoryMoveTime()
void setDynamicsEnvironments(STRING param_name, const void *arg)
bool makeToolTrajectory(Name tool_name, double tool_goal_position)
makeToolTrajectory
ToolActuator * getToolActuator(Name actuator_name)
void addDynamics(Dynamics *dynamics)
void solveForwardKinematics()
Pose getPose(Name component_name)
void printManipulatorSetting()
bool trajectory_initialized_state_
Manipulator * getManipulator()
#define DYNAMICS_ALL_SOVING
bool solveInverseDynamics(std::map< Name, double > *joint_torque)
Trajectory * getTrajectory()
void resetMovingFailState()
void disableAllActuator()
std::vector< uint8_t > getJointActuatorId(Name actuator_name)
JointValue receiveJointActuatorValue(Name joint_component_name)
bool sendAllToolActuatorValue(std::vector< JointValue > value_vector)
bool sendMultipleJointActuatorValue(std::vector< Name > joint_component_name, std::vector< JointValue > value_vector)
bool sendAllJointActuatorValue(std::vector< JointValue > value_vector)
std::vector< JointValue > receiveMultipleToolActuatorValue(std::vector< Name > tool_component_name)
Eigen::MatrixXd jacobian(Name tool_name)
std::vector< JointValue > getAllToolValue()
void setCustomTrajectoryOption(Name trajectory_name, const void *arg)
setCustomTrajectoryOption
std::map< Name, ToolActuator * > tool_actuator_
bool solveInverseKinematics(Name tool_name, Pose goal_pose, std::vector< JointValue > *goal_joint_value)
JointValue getToolValue(Name tool_name)
bool sendMultipleToolActuatorValue(std::vector< Name > tool_component_name, std::vector< JointValue > value_vector)
void enableAllToolActuator()
void solveForwardDynamics(std::map< Name, double > joint_torque)
void addCustomTrajectory(Name trajectory_name, CustomJointTrajectory *custom_trajectory)
bool sendToolActuatorValue(Name tool_component_name, JointValue value)
bool joint_actuator_added_stete_
void addKinematics(Kinematics *kinematics)
JointValue receiveToolActuatorValue(Name tool_component_name)
void setDynamicsOption(STRING param_name, const void *arg)
std::map< Name, JointActuator * > joint_actuator_
void addJointActuator(Name actuator_name, JointActuator *joint_actuator, std::vector< uint8_t > id_array, const void *arg)
void setJointActuatorMode(Name actuator_name, std::vector< uint8_t > id_array, const void *arg)
void disableAllToolActuator()
std::vector< double > getAllToolPosition()
void addWorld(Name world_name, Name child_name, Eigen::Vector3d world_position=Eigen::Vector3d::Zero(), Eigen::Matrix3d world_orientation=Eigen::Matrix3d::Identity())
void addToolActuator(Name tool_name, ToolActuator *tool_actuator, uint8_t id, const void *arg)