Documentation ¶
Overview ¶
Package base defines the base that a robot uses to move around.
Package base contains a gRPC based base client ¶
Package base contains a gRPC based arm service server.
Index ¶
- Constants
- Variables
- func CreateStatus(ctx context.Context, resource interface{}) (*commonpb.ActuatorStatus, error)
- func DependencyTypeError(name string, actual interface{}) error
- func DoMove(ctx context.Context, move Move, base Base) error
- func Named(name string) resource.Name
- func NamesFromRobot(r robot.Robot) []string
- func NewServer(s subtype.Service) pb.BaseServiceServer
- func NewUnimplementedInterfaceError(actual interface{}) error
- func NewUnimplementedLocalInterfaceError(actual interface{}) error
- func WrapWithReconfigurable(r interface{}, name resource.Name) (resource.Reconfigurable, error)
- type Base
- type KinematicBase
- type LocalBase
- type Move
Constants ¶
const SubtypeName = resource.SubtypeName("base")
SubtypeName is a constant that identifies the component resource subtype string "base".
Variables ¶
var Subtype = resource.NewSubtype( resource.ResourceNamespaceRDK, resource.ResourceTypeComponent, SubtypeName, )
Subtype is a constant that identifies the component resource subtype.
Functions ¶
func CreateStatus ¶
func CreateStatus(ctx context.Context, resource interface{}) (*commonpb.ActuatorStatus, error)
CreateStatus creates a status from the base.
func DependencyTypeError ¶
DependencyTypeError is used when a resource doesn't implement the expected interface.
func NamesFromRobot ¶
NamesFromRobot is a helper for getting all base names from the given Robot.
func NewServer ¶
func NewServer(s subtype.Service) pb.BaseServiceServer
NewServer constructs a base gRPC service server.
func NewUnimplementedInterfaceError ¶
func NewUnimplementedInterfaceError(actual interface{}) error
NewUnimplementedInterfaceError is used when there is a failed interface check.
func NewUnimplementedLocalInterfaceError ¶
func NewUnimplementedLocalInterfaceError(actual interface{}) error
NewUnimplementedLocalInterfaceError is used when there is a failed interface check.
func WrapWithReconfigurable ¶
func WrapWithReconfigurable(r interface{}, name resource.Name) (resource.Reconfigurable, error)
WrapWithReconfigurable converts a regular LocalBase implementation to a reconfigurableBase. If base is already a reconfigurableBase, then nothing is done.
Types ¶
type Base ¶
type Base interface { // MoveStraight moves the robot straight a given distance at a given speed. // If a distance or speed of zero is given, the base will stop. // This method blocks until completed or cancelled MoveStraight(ctx context.Context, distanceMm int, mmPerSec float64, extra map[string]interface{}) error // Spin spins the robot by a given angle in degrees at a given speed. // If a speed of 0 the base will stop. // This method blocks until completed or cancelled Spin(ctx context.Context, angleDeg, degsPerSec float64, extra map[string]interface{}) error SetPower(ctx context.Context, linear, angular r3.Vector, extra map[string]interface{}) error // linear is in mmPerSec // angular is in degsPerSec SetVelocity(ctx context.Context, linear, angular r3.Vector, extra map[string]interface{}) error // Stop stops the base. It is assumed the base stops immediately. Stop(ctx context.Context, extra map[string]interface{}) error generic.Generic resource.MovingCheckable }
A Base represents a physical base of a robot.
func FromDependencies ¶
func FromDependencies(deps registry.Dependencies, name string) (Base, error)
FromDependencies is a helper for getting the named base from a collection of dependencies.
func NewClientFromConn ¶
func NewClientFromConn(ctx context.Context, conn rpc.ClientConn, name string, logger golog.Logger) Base
NewClientFromConn constructs a new Client from connection passed in.
type KinematicBase ¶ added in v0.2.28
type KinematicBase interface { Base referenceframe.ModelFramer referenceframe.InputEnabled }
KinematicBase is an interface for Bases that also satisfy the ModelFramer and InputEnabled interfaces.
Directories ¶
Path | Synopsis |
---|---|
Package limo implements the AgileX Limo base
|
Package limo implements the AgileX Limo base |
Package boat implements a base for a boat with support for N motors in any position or angle This is an Experimental package
|
Package boat implements a base for a boat with support for N motors in any position or angle This is an Experimental package |
Package fake implements a fake base.
|
Package fake implements a fake base. |
Package register registers all relevant bases
|
Package register registers all relevant bases |
Package wheeled implements some bases, like a wheeled base.
|
Package wheeled implements some bases, like a wheeled base. |