6#include <viam/api/component/arm/v1/arm.grpc.pb.h>
9#include <viam/sdk/rpc/dial.hpp>
31 const ProtoStruct& extra)
override;
34 const ProtoStruct& extra)
override;
36 const std::function<boost::optional<std::vector<Arm::trajectory_point>>()>& batch_source,
38 const ProtoStruct& extra)
override;
41 void stop(
const ProtoStruct& extra)
override;
42 ProtoStruct
do_command(
const ProtoStruct& command)
override;
43 ::viam::sdk::KinematicsData
get_kinematics(
const ProtoStruct& extra)
override;
44 std::map<std::string, mesh>
get_3d_models(
const ProtoStruct& extra)
override;
45 std::vector<GeometryConfig>
get_geometries(
const ProtoStruct& extra)
override;
61 using StubType = viam::component::arm::v1::ArmService::StubInterface;
62 std::unique_ptr<StubType> stub_;
Defines an Arm component.
An Arm represents a physical robot arm that exists in three-dimensional space.
Definition arm.hpp:46
std::vector< double > get_joint_positions()
Lists the joint positions in degrees of every joint on a robot arm.
Definition arm.hpp:91
stream_outcome
How a streamed trajectory execution ended.
Definition arm.hpp:163
void move_to_joint_positions(const std::vector< double > &positions)
Move each joint on the arm to the corresponding angle specified in.
Definition arm.hpp:100
std::vector< GeometryConfig > get_geometries()
Returns GeometryConfigs associated with the calling arm.
Definition arm.hpp:259
inline ::viam::sdk::KinematicsData get_kinematics()
Get the kinematics data associated with the arm.
Definition arm.hpp:243
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.
Definition arm.hpp:113
std::map< std::string, mesh > get_3d_models()
Returns 3DModels associated with the calling arm.
Definition arm.hpp:254
pose get_end_position()
Get the current position of the end of the arm.
Definition arm.hpp:71
void move_to_position(const pose &pose)
Move the end of the arm to.
Definition arm.hpp:81
stream_outcome move_through_joint_positions_streamed(const std::function< boost::optional< std::vector< trajectory_point > >()> &batch_source, const std::function< bool(trajectory_update)> &update_handler)
Execute a stream of trajectory points in order.
Definition arm.hpp:173
virtual std::string name() const
Return the resource's name.
void stop()
Stops a resource from running.
Definition stoppable.hpp:16
gRPC client implementation of an Arm component.
Definition arm_client.hpp:18
pose get_end_position(const ProtoStruct &extra) override
Get the current position of the end of the arm.
std::map< std::string, mesh > get_3d_models(const ProtoStruct &extra) override
Returns 3DModels associated with the calling arm.
ProtoStruct get_status() override
Get the status of the arm.
bool is_moving() override
Reports if the arm is in motion.
::viam::sdk::KinematicsData get_kinematics(const ProtoStruct &extra) override
Get the kinematics data associated with the arm.
std::vector< double > get_joint_positions(const ProtoStruct &extra) override
Lists the joint positions in degrees of every joint on a robot arm.
void move_to_joint_positions(const std::vector< double > &positions, const ProtoStruct &extra) override
Move each joint on the arm to the corresponding angle specified in.
ProtoStruct do_command(const ProtoStruct &command) override
Send/receive arbitrary commands to the resource.
void move_to_position(const pose &pose, const ProtoStruct &extra) override
Move the end of the arm to.
void stop(const ProtoStruct &extra) override
Stops a resource from running.
std::vector< GeometryConfig > get_geometries(const ProtoStruct &extra) override
Returns GeometryConfigs associated with the calling arm.
void move_through_joint_positions(const std::vector< std::vector< double > > &positions, const Arm::MoveOptions &options, const ProtoStruct &extra) override
Move each joint on the arm through the positions specified in.
Movement specifications for move_through_joint_positions.
Definition arm.hpp:63
An update emitted while a streamed trajectory executes.
Definition arm.hpp:160