Viam C++ SDK current
|
An Arm
represents a physical robot arm that exists in three-dimensional space.
More...
#include "components/arm.hpp"
Classes | |
struct | KinematicsDataSVA |
struct | KinematicsDataUnspecified |
struct | KinematicsDataURDF |
struct | MoveOptions |
Movement specifications for move_through_join_positions. More... | |
Public Types | |
using | KinematicsData |
The kinematics of the component. | |
Public Member Functions | |
pose | get_end_position () |
Get the current position of the end of the arm. | |
virtual pose | get_end_position (const ProtoStruct &extra)=0 |
Get the current position of the end of the arm. | |
void | move_to_position (const pose &pose) |
Move the end of the arm to. | |
virtual void | move_to_position (const pose &pose, const ProtoStruct &extra)=0 |
Move the end of the arm to. | |
std::vector< double > | get_joint_positions () |
Lists the joint positions in degrees of every joint on a robot arm. | |
virtual std::vector< double > | get_joint_positions (const ProtoStruct &extra)=0 |
Lists the joint positions in degrees of every joint on a robot arm. | |
void | move_to_joint_positions (const std::vector< double > &positions) |
Move each joint on the arm to the corresponding angle specified in. | |
virtual void | move_to_joint_positions (const std::vector< double > &positions, const ProtoStruct &extra)=0 |
Move each joint on the arm to the corresponding angle specified in. | |
void | move_through_joint_positions (const std::vector< std::vector< double > > &positions, const MoveOptions &options) |
Move each joint on the arm through the positions specified in. | |
virtual void | move_through_joint_positions (const std::vector< std::vector< double > > &positions, const MoveOptions &options, const ProtoStruct &extra)=0 |
Move each joint on the arm through the positions specified in. | |
virtual bool | is_moving ()=0 |
Reports if the arm is in motion. | |
virtual ProtoStruct | do_command (const ProtoStruct &command)=0 |
Send/receive arbitrary commands to the resource. | |
virtual KinematicsData | get_kinematics (const ProtoStruct &extra)=0 |
Get the kinematics data associated with the arm. | |
KinematicsData | get_kinematics () |
Get the kinematics data associated with the arm. | |
std::vector< GeometryConfig > | get_geometries () |
Returns GeometryConfig s associated with the calling arm. | |
virtual std::vector< GeometryConfig > | get_geometries (const ProtoStruct &extra)=0 |
Returns GeometryConfig s associated with the calling arm. | |
API | api () const override |
Returns the API associated with a particular resource. | |
Public Member Functions inherited from viam::sdk::Component | |
Name | get_resource_name () const override |
Returns the Name for a particular resource. | |
Public Member Functions inherited from viam::sdk::Resource | |
Resource (std::string name) | |
virtual std::string | name () const |
Return the resource's name. | |
Public Member Functions inherited from viam::sdk::Stoppable | |
virtual void | stop (const ProtoStruct &extra)=0 |
Stops a resource from running. | |
void | stop () |
Stops a resource from running. | |
Protected Member Functions | |
Arm (std::string name) | |
Protected Member Functions inherited from viam::sdk::Component | |
Component (std::string name) | |
Protected Member Functions inherited from viam::sdk::Resource | |
Name | get_resource_name (const std::string &type) const |
Additional Inherited Members | |
Static Public Member Functions inherited from viam::sdk::Stoppable | |
static void | stop_if_stoppable (const std::shared_ptr< Resource > &resource, const ProtoStruct &extra) |
Stops a Resource if it is Stoppable. | |
static void | stop_if_stoppable (const std::shared_ptr< Resource > &resource) |
Stops a Resource if it is Stoppable. | |
An Arm
represents a physical robot arm that exists in three-dimensional space.
This acts as an abstract parent class to be inherited from by any drivers representing specific arm implementations. This class cannot be used on its own.
The kinematics of the component.
|
overridevirtual |
Returns the API
associated with a particular resource.
Implements viam::sdk::Resource.
|
pure virtual |
Send/receive arbitrary commands to the resource.
Command | the command to execute. |
Implemented in viam::sdk::impl::ArmClient.
|
inline |
Get the current position of the end of the arm.
pose
representing the end position of the arm.
|
pure virtual |
Get the current position of the end of the arm.
extra | Any additional arguments to the method. |
pose
representing the end position of the arm. Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
pure virtual |
Returns GeometryConfig
s associated with the calling arm.
extra | Any additional arguments to the method |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
pure virtual |
Lists the joint positions in degrees of every joint on a robot arm.
extra | Any additional arguments to the method. |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
inline |
Get the kinematics data associated with the arm.
|
pure virtual |
Get the kinematics data associated with the arm.
extra | Any additional arguments to the method. |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
pure virtual |
Reports if the arm is in motion.
Implemented in viam::sdk::impl::ArmClient.
|
inline |
Move each joint on the arm through the positions specified in.
positions | |
options | optional specifications to be obeyed during the motion. TODO consider replacing vector vector with xtensor array, and also if it may be possible to specify or constrain dimensionality of the array in advance. |
|
pure virtual |
Move each joint on the arm through the positions specified in.
positions | |
options | optional specifications to be obeyed during the motion. |
extra | Any additional arguments to the method. |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
inline |
Move each joint on the arm to the corresponding angle specified in.
positions |
|
pure virtual |
Move each joint on the arm to the corresponding angle specified in.
positions | |
extra | Any additional arguments to the method. |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.
|
inline |
Move the end of the arm to.
pose. |
|
pure virtual |
Move the end of the arm to.
pose. | |
pose | The destination pose for the arm. |
extra | Any additional arguments to the method. |
Implemented in viam::sdk::impl::ArmClient, and viam::sdk::impl::ArmClient.