Documentation ¶
Overview ¶
Package movementsensor defines the interfaces of a MovementSensor
Index ¶
- Constants
- Variables
- func AddressReadError(err error, address byte, bus, board string) error
- func GetHeading(gps1, gps2 *geo.Point, yawOffset float64) (float64, float64, float64)
- func Named(name string) resource.Name
- func NamesFromRobot(r robot.Robot) []string
- func NewRPCServiceServer(coll resource.APIResourceCollection[MovementSensor]) interface{}
- func Readings(ctx context.Context, g MovementSensor, extra map[string]interface{}) (map[string]interface{}, error)
- func UnexpectedDeviceError(address, response byte, deviceName string) error
- type LastError
- type MovementSensor
- type Properties
Constants ¶
const SubtypeName = "movement_sensor"
SubtypeName is a constant that identifies the component resource API string "movement_sensor".
Variables ¶
var ( // ErrMethodUnimplementedAccuracy returns error if the Accuracy method is unimplemented. ErrMethodUnimplementedAccuracy = errors.New("Accuracy Unimplemented") // ErrMethodUnimplementedPosition returns error if the Position method is unimplemented. ErrMethodUnimplementedPosition = errors.New("Position Unimplemented") // ErrMethodUnimplementedOrientation returns error if the Orientation method is unimplemented. ErrMethodUnimplementedOrientation = errors.New("Orientation Unimplemented") // ErrMethodUnimplementedLinearVelocity returns error if the LinearVelocity method is unimplemented. ErrMethodUnimplementedLinearVelocity = errors.New("LinearVelocity Unimplemented") // ErrMethodUnimplementedAngularVelocity returns error if the AngularVelocity method is unimplemented. ErrMethodUnimplementedAngularVelocity = errors.New("AngularVelocity Unimplemented") // ErrMethodUnimplementedCompassHeading returns error if the CompassHeading method is unimplemented. ErrMethodUnimplementedCompassHeading = errors.New("CompassHeading Unimplemented") // ErrMethodUnimplementedReadings returns error if the Readings method is unimplemented. ErrMethodUnimplementedReadings = errors.New("Readings Unimplemented") // ErrMethodUnimplementedProperties returns error if the Properties method is unimplemented. ErrMethodUnimplementedProperties = errors.New("Properties Unimplemented") // ErrMethodUnimplementedLinearAcceleration returns error if Linear Acceleration is unimplemented. ErrMethodUnimplementedLinearAcceleration = errors.New("linear acceleration unimplemented") )
var API = resource.APINamespaceRDK.WithComponentType(SubtypeName)
API is a variable that identifies the component resource API.
Functions ¶
func AddressReadError ¶ added in v0.2.49
AddressReadError returns a standard error for when we cannot read from an I2C bus.
func GetHeading ¶
GetHeading calculates bearing and absolute heading angles given 2 MovementSensor coordinates 0 degrees indicate North, 90 degrees indicate East and so on.
func NamesFromRobot ¶
NamesFromRobot is a helper for getting all MovementSensor names from the given Robot.
func NewRPCServiceServer ¶ added in v0.2.36
func NewRPCServiceServer(coll resource.APIResourceCollection[MovementSensor]) interface{}
NewRPCServiceServer constructs an MovementSensor gRPC service serviceServer.
func Readings ¶
func Readings(ctx context.Context, g MovementSensor, extra map[string]interface{}) (map[string]interface{}, error)
Readings is a helper for getting all readings from a MovementSensor.
func UnexpectedDeviceError ¶ added in v0.2.49
UnexpectedDeviceError returns a standard error for we cannot find the expected device at the given address.
Types ¶
type LastError ¶ added in v0.2.19
type LastError struct {
// contains filtered or unexported fields
}
LastError is an object that stores recent errors. If there have been sufficiently many recent errors, you can retrieve the most recent one.
func NewLastError ¶ added in v0.2.32
NewLastError creates a LastError object which will let you retrieve the most recent error if at least `threshold` of the most recent `size` items put into it are non-nil.
type MovementSensor ¶
type MovementSensor interface { sensor.Sensor Position(ctx context.Context, extra map[string]interface{}) (*geo.Point, float64, error) // (lat, long), altitude (m) LinearVelocity(ctx context.Context, extra map[string]interface{}) (r3.Vector, error) // m / sec AngularVelocity(ctx context.Context, extra map[string]interface{}) (spatialmath.AngularVelocity, error) // deg / sec LinearAcceleration(ctx context.Context, extra map[string]interface{}) (r3.Vector, error) CompassHeading(ctx context.Context, extra map[string]interface{}) (float64, error) // [0->360) Orientation(ctx context.Context, extra map[string]interface{}) (spatialmath.Orientation, error) Properties(ctx context.Context, extra map[string]interface{}) (*Properties, error) Accuracy(ctx context.Context, extra map[string]interface{}) (map[string]float32, error) }
A MovementSensor reports information about the robot's direction, position and speed.
func FromDependencies ¶
func FromDependencies(deps resource.Dependencies, name string) (MovementSensor, error)
FromDependencies is a helper for getting the named movementsensor from a collection of dependencies.
func FromRobot ¶
func FromRobot(r robot.Robot, name string) (MovementSensor, error)
FromRobot is a helper for getting the named MovementSensor from the given Robot.
func NewClientFromConn ¶
func NewClientFromConn( ctx context.Context, conn rpc.ClientConn, remoteName string, name resource.Name, logger golog.Logger, ) (MovementSensor, error)
NewClientFromConn constructs a new Client from connection passed in.
type Properties ¶
type Properties pb.GetPropertiesResponse
Properties tells you what a MovementSensor supports.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package adxl345 implements the MovementSensor interface for the ADXL345 accelerometer.
|
Package adxl345 implements the MovementSensor interface for the ADXL345 accelerometer. |
Package cameramono implements a visual odemetry movement sensor based ona single camera stream This is an Experimental package
|
Package cameramono implements a visual odemetry movement sensor based ona single camera stream This is an Experimental package |
Package fake is a fake MovementSensor for testing
|
Package fake is a fake MovementSensor for testing |
Package gpsnmea implements an NMEA serial gps.
|
Package gpsnmea implements an NMEA serial gps. |
Package gpsrtk defines a gps and an rtk correction source which sends rtcm data to a child gps This is an Experimental package
|
Package gpsrtk defines a gps and an rtk correction source which sends rtcm data to a child gps This is an Experimental package |
Package imuvectornav implement vectornav imu
|
Package imuvectornav implement vectornav imu |
Package imuwit implements wit imus.
|
Package imuwit implements wit imus. |
Package mpu6050 implements the movementsensor interface for an MPU-6050 6-axis accelerometer.
|
Package mpu6050 implements the movementsensor interface for an MPU-6050 6-axis accelerometer. |
Package register registers all relevant MovementSensors
|
Package register registers all relevant MovementSensors |