|
kinematics-dynamics
|
The CartesianControlClientROS2 class implements ICartesianControl client side.
#include <CartesianControlClientROS2.hpp>
Public Member Functions | |
| yarp::dev::ReturnValue | getState (roboticslab::ICartesianControl::ControllerState &state) override |
| Current state and position. | |
| yarp::dev::ReturnValue | solvePose (const std::vector< double > &xd, std::vector< double > &q) override |
| Inverse kinematics. | |
| yarp::dev::ReturnValue | moveJoint (const std::vector< double > &xd) override |
| Move in joint space. | |
| yarp::dev::ReturnValue | moveLinear (const std::vector< double > &xd) override |
| Linear move to target position. | |
| yarp::dev::ReturnValue | moveVelocity (const std::vector< double > &xdotd) override |
| Linear move with given velocity. | |
| yarp::dev::ReturnValue | gravityCompensation () override |
| Gravity compensation. | |
| yarp::dev::ReturnValue | forceControl (const std::vector< double > &fd) override |
| Force control. | |
| yarp::dev::ReturnValue | stopControl () override |
| Stop control. | |
| yarp::dev::ReturnValue | changeTool (const std::vector< double > &x) override |
| Change tool. | |
| yarp::dev::ReturnValue | actuateTool (roboticslab::ICartesianControl::Actuator command) override |
| Actuate tool. | |
| void | pose (const std::vector< double > &x) override |
| Achieve pose. | |
| void | twist (const std::vector< double > &xdot) override |
| Instantaneous velocity steps. | |
| void | wrench (const std::vector< double > &w) override |
| Exert force. | |
| yarp::dev::ReturnValue | setParameter (roboticslab::ICartesianControl::Config vocab, double value) override |
| Set a configuration parameter. | |
| yarp::dev::ReturnValue | getParameter (roboticslab::ICartesianControl::Config vocab, double *value) override |
| Retrieve a configuration parameter. | |
| yarp::dev::ReturnValue | setParameters (const std::map< roboticslab::ICartesianControl::Config, double > ¶ms) override |
| yarp::dev::ReturnValue | getParameters (std::map< roboticslab::ICartesianControl::Config, double > ¶ms) override |
| bool | open (yarp::os::Searchable &config) override |
| bool | close () override |
Public Member Functions inherited from roboticslab::ICartesianControl | |
| virtual | ~ICartesianControl ()=default |
| Destructor. | |
| virtual bool | stat (std::vector< double > &x, int *state=nullptr, double *timestamp=nullptr) |
| virtual bool | inv (const std::vector< double > &xd, std::vector< double > &q) |
| virtual bool | movj (const std::vector< double > &xd) |
| virtual bool | relj (const std::vector< double > &xd) |
| virtual bool | movl (const std::vector< double > &xd) |
| virtual bool | movv (const std::vector< double > &xdotd) |
| virtual bool | gcmp () |
| virtual bool | forc (const std::vector< double > &fd) |
| virtual bool | wait (double timeout=0.0) |
| virtual bool | tool (const std::vector< double > &x) |
| virtual bool | act (int command) |
| virtual bool | setParameter (int vocab, double value) |
| virtual bool | getParameter (int vocab, double *value) |
| virtual bool | setParameters (const std::map< int, double > ¶ms) |
| virtual bool | getParameters (std::map< int, double > ¶ms) |
| virtual yarp::dev::ReturnValue | setParameters (const std::map< Config, double > ¶ms)=0 |
| Set multiple configuration parameters. | |
| virtual yarp::dev::ReturnValue | getParameters (std::map< Config, double > ¶ms)=0 |
| Retrieve multiple configuration parameters. | |
Public Member Functions inherited from CartesianControlClientROS2_ParamsParser | |
| bool | parseParams (const yarp::os::Searchable &config) override |
| std::string | getDeviceClassName () const override |
| std::string | getDeviceName () const override |
| std::string | getDocumentationOfDeviceParams () const override |
| std::vector< std::string > | getListOfParams () const override |
| bool | getParamValue (const std::string ¶mName, std::string ¶mValue) const override |
| std::string | getConfiguration () const override |
Private Member Functions | |
| bool | configureRosHandlers () |
| bool | populateRosParameters () |
| yarp::dev::ReturnValue | sendTrajectoryGoal (roboticslab::ICartesianControl::Mode mode, const std::vector< double > &xd) |
Additional Inherited Members | |
Public Types inherited from roboticslab::ICartesianControl | |
| enum class | Vocabs { OK = yarp::os::createVocab32('o','k') , FAILED = yarp::os::createVocab32('f','a','i','l') , SET = yarp::os::createVocab32('s','e','t') , GET = yarp::os::createVocab32('g','e','t') , NOT_SET = yarp::os::createVocab32('n','s','e','t') } |
| General-purpose vocabs. More... | |
| enum class | RPC { STATE = yarp::os::createVocab32('s','t','a','t') , INV = yarp::os::createVocab32('i','n','v') , MOVEJ = yarp::os::createVocab32('m','o','v','j') , MOVEL = yarp::os::createVocab32('m','o','v','l') , MOVEV = yarp::os::createVocab32('m','o','v','v') , GCMP = yarp::os::createVocab32('g','c','m','p') , FORCE = yarp::os::createVocab32('f','o','r','c') , STOP = yarp::os::createVocab32('s','t','o','p') , TOOL = yarp::os::createVocab32('t','o','o','l') , ACT = yarp::os::createVocab32('a','c','t') } |
| RPC vocabs. More... | |
| enum class | Streaming { POSE = yarp::os::createVocab32('p','o','s','e') , TWIST = yarp::os::createVocab32('t','w','s','t') , WRENCH = yarp::os::createVocab32('w','r','n','c') } |
| Streaming vocabs. More... | |
| enum class | Mode { NONE = yarp::os::createVocab32('n','c','t','l') , MOVEJ = yarp::os::createVocab32('m','o','v','j') , MOVEL = yarp::os::createVocab32('m','o','v','l') , MOVEV = yarp::os::createVocab32('m','o','v','v') , GCMP = yarp::os::createVocab32('g','c','m','p') , FORCE = yarp::os::createVocab32('f','o','r','c') } |
| Controller mode vocabs. More... | |
| enum class | Actuator { NONE = yarp::os::createVocab32('a','c','n') , CLOSE = yarp::os::createVocab32('a','c','c','g') , OPEN = yarp::os::createVocab32('a','c','o','g') , STOP = yarp::os::createVocab32('a','c','s','g') , GENERIC = yarp::os::createVocab32('a','c','g') } |
| Actuator control vocabs. More... | |
| enum class | Config { GAIN = yarp::os::createVocab32('c','p','c','g') , TRAJ_DURATION = yarp::os::createVocab32('c','p','t','d') , TRAJ_REF_SPD = yarp::os::createVocab32('c','p','t','s') , TRAJ_REF_ACC = yarp::os::createVocab32('c','p','t','a') , CMC_PERIOD = yarp::os::createVocab32('c','p','c','p') , FRAME = yarp::os::createVocab32('c','p','f') , STREAMING_CMD = yarp::os::createVocab32('c','p','s','c') } |
| Controller configuration vocabs. More... | |
Public Attributes inherited from CartesianControlClientROS2_ParamsParser | |
| const std::string | m_device_classname = {"CartesianControlClientROS2"} |
| const std::string | m_device_name = {"CartesianControlClientROS2"} |
| bool | m_parser_is_strict = false |
| const parser_version_type | m_parser_version = {} |
| std::string | m_provided_configuration |
| const std::string | m_local_defaultValue = {"cartesian_control_client_ros2"} |
| const std::string | m_remote_defaultValue = {"cartesian_control_server_ros2"} |
| std::string | m_local = {"cartesian_control_client_ros2"} |
| std::string | m_remote = {"cartesian_control_server_ros2"} |
|
overridevirtual |
Send control command to actuate the robot's tool, if available.
| command | One of the available ICartesianControl::Actuator vocabs. |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Unload current tool if any and append new tool frame to the kinematic chain.
| x | 6-element vector describing new tool tip with regard to current end-effector frame in cartesian space; first three elements denote translation (meters), last three denote rotation in scaled axis-angle representation (radians). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Apply desired forces in task space.
| fd | 6-element vector describing desired force exerted by the TCP in cartesian space; first three elements denote linear force (Newton), last three denote torque (Newton*meters). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Ask the controller to retrieve a parameter of 'double' type.
| vocab | YARP-encoded vocab (parameter key). |
| value | Parameter value encoded as a double. |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Inform on control state, get robot position and perform forward kinematics.
| state | Controller state data. |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Enable gravity compensation.
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Perform inverse kinematics and move to desired position in joint space using absolute coordinates.
| xd | 6-element vector describing desired position in cartesian space; first three elements denote translation (meters), last three denote rotation in scaled axis-angle representation (radians). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Move to end position along a line trajectory.
| xd | 6-element vector describing desired position in cartesian space; first three elements denote translation (meters), last three denote rotation in scaled axis-angle representation (radians). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Move along a line with constant velocity.
| xdotd | 6-element vector describing desired velocity in cartesian space; first three elements denote translational velocity (meters/second), last three denote angular velocity (radians/second). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Move to desired position instantaneously, no further intermediate calculations are expected other than computing the inverse kinematics.
| x | 6-element vector describing desired instantaneous pose in cartesian space; first three elements denote translation (meters), last three denote rotation in scaled axis-angle representation (radians). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Ask the controller to store or update a parameter of 'double' type.
| vocab | YARP-encoded vocab (parameter key). |
| value | Parameter value encoded as a double. |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Perform inverse kinematics (using robot position as initial guess), but do not move.
| xd | 6-element vector describing desired position in cartesian space; first three elements denote translation (meters), last three denote rotation in scaled axis-angle representation (radians). |
| q | Vector describing current position in joint space (meters or degrees). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Halt current control loop if any and cease movement.
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Move in instantaneous velocity increments.
| xdot | 6-element vector describing velocity increments in cartesian space; first three elements denote translational velocity (meters/second), last three denote angular velocity (radians/second). |
Implements roboticslab::ICartesianControl.
|
overridevirtual |
Make the TCP exert the desired force instantaneously.
| w | 6-element vector describing desired force exerted by the TCP in cartesian space; first three elements denote linear force (Newton), last three denote torque (Newton*meters). |
Implements roboticslab::ICartesianControl.