Viam C++ SDK current
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | List of all members
viam::sdk::Gantry Class Referenceabstract

A Gantry represents a physical gantry and can be used for controlling gantries of N axes. More...

#include "components/gantry.hpp"

+ Inheritance diagram for viam::sdk::Gantry:

Classes

struct  movement_coordinate
 A coordinate for moving a single axis of a gantry to a desired position at a requested speed. More...
 

Public Member Functions

std::vector< double > get_position ()
 Get the positions of the axes of the gantry in millimeters.
 
virtual std::vector< double > get_position (const ProtoStruct &extra)=0
 Get the positions of the axes of the gantry in millimeters.
 
void move_to_position (const std::vector< movement_coordinate > &coordinates)
 Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).
 
virtual void move_to_position (const std::vector< movement_coordinate > &coordinates, const ProtoStruct &extra)=0
 Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).
 
bool home ()
 Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.
 
virtual bool home (const ProtoStruct &extra)=0
 Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.
 
std::vector< double > get_lengths ()
 Get the lengths of the axes of the gantry in millimeters.
 
virtual std::vector< double > get_lengths (const ProtoStruct &extra)=0
 Get the lengths of the axes of the gantry in millimeters.
 
virtual bool is_moving ()=0
 Reports if the gantry is in motion.
 
virtual ProtoStruct do_command (const ProtoStruct &command)=0
 Send/receive arbitrary commands to the resource.
 
std::vector< GeometryConfigget_geometries ()
 Returns GeometryConfigs associated with the calling gantry.
 
virtual std::vector< GeometryConfigget_geometries (const ProtoStruct &extra)=0
 Returns GeometryConfigs associated with the calling gantry.
 
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

 Component ()
 
 Component (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.
 

Detailed Description

A Gantry represents a physical gantry and can be used for controlling gantries of N axes.

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.

Member Function Documentation

◆ api()

API viam::sdk::Gantry::api ( ) const
overridevirtual

Returns the API associated with a particular resource.

Implements viam::sdk::Resource.

◆ do_command()

virtual ProtoStruct viam::sdk::Gantry::do_command ( const ProtoStruct & command)
pure virtual

Send/receive arbitrary commands to the resource.

Parameters
Commandthe command to execute.
Returns
The result of the executed command.

Implemented in viam::sdk::impl::GantryClient.

◆ get_geometries()

virtual std::vector< GeometryConfig > viam::sdk::Gantry::get_geometries ( const ProtoStruct & extra)
pure virtual

Returns GeometryConfigs associated with the calling gantry.

Parameters
extraAny additional arguments to the method

Implemented in viam::sdk::impl::GantryClient, and viam::sdk::impl::GantryClient.

◆ get_lengths()

virtual std::vector< double > viam::sdk::Gantry::get_lengths ( const ProtoStruct & extra)
pure virtual

Get the lengths of the axes of the gantry in millimeters.

Parameters
extraAny additional arguments to the method

Implemented in viam::sdk::impl::GantryClient, and viam::sdk::impl::GantryClient.

◆ get_position()

virtual std::vector< double > viam::sdk::Gantry::get_position ( const ProtoStruct & extra)
pure virtual

Get the positions of the axes of the gantry in millimeters.

Parameters
extraAny additional arguments to the method

Implemented in viam::sdk::impl::GantryClient, and viam::sdk::impl::GantryClient.

◆ home() [1/2]

bool viam::sdk::Gantry::home ( )
inline

Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.

Returns
Whether the gantry has run the homing sequence successfully.

◆ home() [2/2]

virtual bool viam::sdk::Gantry::home ( const ProtoStruct & extra)
pure virtual

Run the homing sequence of the gantry to re-calibrate the axes with respect to the limit switches.

Parameters
extraAny additional arguments to the method
Returns
Whether the gantry has run the homing sequence successfully.

Implemented in viam::sdk::impl::GantryClient, and viam::sdk::impl::GantryClient.

◆ is_moving()

virtual bool viam::sdk::Gantry::is_moving ( )
pure virtual

Reports if the gantry is in motion.

Implemented in viam::sdk::impl::GantryClient.

◆ move_to_position() [1/2]

void viam::sdk::Gantry::move_to_position ( const std::vector< movement_coordinate > & coordinates)
inline

Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).

Parameters
coordinatesA vector whose entries represent the position and speed pairs for each axis.

◆ move_to_position() [2/2]

virtual void viam::sdk::Gantry::move_to_position ( const std::vector< movement_coordinate > & coordinates,
const ProtoStruct & extra )
pure virtual

Move the axes of the gantry to the desired positions (mm) at the requested speeds (mm/sec).

Parameters
coordinatesA vector whose entries represent the position and speed pairs for each axis.
extraAny additional arguments to the method

Implemented in viam::sdk::impl::GantryClient, and viam::sdk::impl::GantryClient.


The documentation for this class was generated from the following file: