Viam C++ SDK current
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
MyBase Class Reference
+ Inheritance diagram for MyBase:

Public Member Functions

 MyBase (const Dependencies &deps, const ResourceConfig &cfg)
 
void reconfigure (const Dependencies &deps, const ResourceConfig &cfg) override
 Reconfigures a resource.
 
bool is_moving () override
 Reports if the base is in motion.
 
void stop (const AttributeMap &extra) override
 Stops a resource from running.
 
void set_power (const Vector3 &linear, const Vector3 &angular, const AttributeMap &extra) override
 Sets the linear and angular power of a base -1 -> 1 in terms of power for each direction.
 
AttributeMap do_command (const AttributeMap &command) override
 Send/receive arbitrary commands to the resource.
 
std::vector< GeometryConfigget_geometries (const AttributeMap &extra) override
 Returns GeometryConfigs associated with the calling base.
 
Base::properties get_properties (const AttributeMap &extra) override
 Returns physical properties of the base (width, turning radius, wheel circumference)
 
void move_straight (int64_t distance_mm, double mm_per_sec, const AttributeMap &extra) override
 Move a robot's base in a straight line by a given distance. This method blocks until completed or cancelled.
 
void spin (double angle_deg, double degs_per_sec, const AttributeMap &extra) override
 Spins a robot's base by an given angle, expressed in degrees. This method blocks until completed or cancelled.
 
void set_velocity (const Vector3 &linear, const Vector3 &angular, const AttributeMap &extra) override
 Set the linear and angular velocity of a base.
 
- Public Member Functions inherited from viam::sdk::Base
void move_straight (int64_t distance_mm, double mm_per_sec)
 Move a robot's base in a straight line by a given distance. This method blocks until completed or cancelled.
 
void spin (double angle_deg, double degs_per_sec)
 Spins a robot's base by an given angle, expressed in degrees. This method blocks until completed or cancelled.
 
void set_power (const Vector3 &linear, const Vector3 &angular)
 Sets the linear and angular power of a base -1 -> 1 in terms of power for each direction.
 
void set_velocity (const Vector3 &linear, const Vector3 &angular)
 Set the linear and angular velocity of a base.
 
properties get_properties ()
 Returns physical properties of the base (width, turning radius, wheel circumference)
 
std::vector< GeometryConfigget_geometries ()
 Returns GeometryConfigs associated with the calling base.
 
API api () const override
 Returns the API associated with a particular resource.
 
- Public Member Functions inherited from viam::sdk::Component
viam::common::v1::ResourceName get_resource_name (std::string name) const override
 Returns a ResourceName for a particular resource name.
 
- 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
void stop ()
 Stops a resource from running.
 

Static Public Member Functions

static std::vector< std::string > validate (ResourceConfig cfg)
 
- Static Public Member Functions inherited from viam::sdk::Stoppable
static void stop_if_stoppable (const std::shared_ptr< Resource > &resource, const AttributeMap &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.
 
- Static Public Member Functions inherited from viam::sdk::Reconfigurable
static void reconfigure_if_reconfigurable (const std::shared_ptr< Resource > &resource, const Dependencies &deps, const ResourceConfig &cfg)
 Reconfigures a resource if it is Reconfigurable.
 

Additional Inherited Members

- Protected Member Functions inherited from viam::sdk::Base
 Base (std::string name)
 
- Protected Member Functions inherited from viam::sdk::Component
 Component (std::string name)
 

Member Function Documentation

◆ do_command()

AttributeMap MyBase::do_command ( const AttributeMap & command)
overridevirtual

Send/receive arbitrary commands to the resource.

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

Implements viam::sdk::Base.

◆ get_geometries()

std::vector< GeometryConfig > MyBase::get_geometries ( const AttributeMap & extra)
overridevirtual

Returns GeometryConfigs associated with the calling base.

Parameters
extraAny additional arguments to the method.
Returns
The requested GeometryConfigs associated with the component.

Implements viam::sdk::Base.

◆ get_properties()

Base::properties MyBase::get_properties ( const AttributeMap & extra)
overridevirtual

Returns physical properties of the base (width, turning radius, wheel circumference)

Parameters
extraAny additional arguments to the method

Implements viam::sdk::Base.

◆ is_moving()

bool MyBase::is_moving ( )
overridevirtual

Reports if the base is in motion.

Implements viam::sdk::Base.

◆ move_straight()

void MyBase::move_straight ( int64_t distance_mm,
double mm_per_sec,
const AttributeMap & extra )
inlineoverridevirtual

Move a robot's base in a straight line by a given distance. This method blocks until completed or cancelled.

Parameters
distance_mmDesired travel distance in millimeters
mm_per_secDesired travel velocity in millimeters/second
extraAny additional arguments to the method

Implements viam::sdk::Base.

◆ reconfigure()

void MyBase::reconfigure ( const Dependencies & deps,
const ResourceConfig & cfg )
overridevirtual

Reconfigures a resource.

Parameters
depsDependencies of the resource.
cfgThe resource's config.

Implements viam::sdk::Reconfigurable.

◆ set_power()

void MyBase::set_power ( const Vector3 & linear,
const Vector3 & angular,
const AttributeMap & extra )
overridevirtual

Sets the linear and angular power of a base -1 -> 1 in terms of power for each direction.

Parameters
linearDesired linear power percentage (-1 <= % <= 1) for each direction
angularDesired angular power percentage (-1 <= % <= 1) for each direction
extraAny additional arguments to the method

Implements viam::sdk::Base.

◆ set_velocity()

void MyBase::set_velocity ( const Vector3 & linear,
const Vector3 & angular,
const AttributeMap & extra )
inlineoverridevirtual

Set the linear and angular velocity of a base.

Parameters
linearDesired linear velocity in mm per second for each direction
angularDesired angular velocity in degrees per second for each direction
extraAny additional arguments to the method

Implements viam::sdk::Base.

◆ spin()

void MyBase::spin ( double angle_deg,
double degs_per_sec,
const AttributeMap & extra )
inlineoverridevirtual

Spins a robot's base by an given angle, expressed in degrees. This method blocks until completed or cancelled.

Parameters
angle_degDesired angle
degs_per_secDesired angular velocity
extraAny additional arguments to the method

Implements viam::sdk::Base.

◆ stop()

void MyBase::stop ( const AttributeMap & extra)
overridevirtual

Stops a resource from running.

Parameters
extraExtra arguments to pass to the resource's stop method.

Implements viam::sdk::Stoppable.


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