slam

package
v0.2.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2023 License: AGPL-3.0 Imports: 24 Imported by: 11

Documentation

Overview

Package slam implements simultaneous localization and mapping This is an Experimental package

Package slam implements simultaneous localization and mapping This is an Experimental package

Package slam implements simultaneous localization and mapping This is an Experimental package

Package slam implements simultaneous localization and mapping This is an Experimental package

Index

Constants

View Source
const (
	// Dense is a Library type.
	Dense = Library(iota)
	// Sparse is a Library type.
	Sparse
	// Mono is a mode a slam model can use.
	Mono = Mode("mono")
	// Rgbd is a mode a slam model can use.
	Rgbd = Mode("rgbd")
	// Dim2d is a mode a slam model can use.
	Dim2d = Mode("2d")
	// Dim3d is a mode a slam model can use.
	Dim3d = Mode("3d")
)
View Source
const SubtypeName = resource.SubtypeName("slam")

SubtypeName is the name of the type of service.

Variables

View Source
var SLAMLibraries = map[string]LibraryMetadata{
	"cartographer": cartographerMetadata,
	"orbslamv3":    orbslamv3Metadata,
}

SLAMLibraries contains a map of available slam libraries.

Subtype is a constant that identifies the slam resource subtype.

Functions

func GetInternalStateFull added in v0.2.21

func GetInternalStateFull(ctx context.Context, slamSvc Service, name string) ([]byte, error)

GetInternalStateFull concatenates the streaming responses from GetInternalStateStream into the internal serialized state of the slam algorithm.

func GetPointCloudMapFull added in v0.2.21

func GetPointCloudMapFull(ctx context.Context, slamSvc Service, name string) ([]byte, error)

GetPointCloudMapFull concatenates the streaming responses from GetPointCloudMapStream into a full point cloud.

func Named added in v0.0.8

func Named(name string) resource.Name

Named is a helper for getting the named service's typed resource name.

func NewServer

func NewServer(s subtype.Service) pb.SLAMServiceServer

NewServer constructs a the slam gRPC service server.

func NewUnimplementedInterfaceError added in v0.1.0

func NewUnimplementedInterfaceError(actual interface{}) error

NewUnimplementedInterfaceError is used when there is a failed interface check.

func WrapWithReconfigurable

func WrapWithReconfigurable(s interface{}, name resource.Name) (resource.Reconfigurable, error)

WrapWithReconfigurable wraps a slam service as a Reconfigurable.

Types

type Library added in v0.1.0

type Library uint8

Library type used for slam.

type LibraryMetadata

type LibraryMetadata struct {
	AlgoName       string
	AlgoType       Library
	SlamMode       map[string]Mode
	BinaryLocation string
}

LibraryMetadata contains all pertinent information for defining a SLAM library/algorithm including the Sparse/Dense definition.

type Mode added in v0.1.0

type Mode string

Mode holds the modes a slam model can use.

type Service

type Service interface {
	Position(context.Context, string, map[string]interface{}) (*referenceframe.PoseInFrame, error)
	GetPosition(context.Context, string) (spatialmath.Pose, string, error)
	GetMap(
		context.Context,
		string,
		string,
		*referenceframe.PoseInFrame,
		bool,
		map[string]interface{},
	) (string, image.Image, *vision.Object, error)
	GetInternalState(ctx context.Context, name string) ([]byte, error)
	GetPointCloudMapStream(ctx context.Context, name string) (func() ([]byte, error), error)
	GetInternalStateStream(ctx context.Context, name string) (func() ([]byte, error), error)
	resource.Generic
}

Service describes the functions that are available to the service.

func NewClientFromConn

func NewClientFromConn(ctx context.Context, conn rpc.ClientConn, name string, logger golog.Logger) Service

NewClientFromConn constructs a new Client from the connection passed in.

Directories

Path Synopsis
Package builtin implements simultaneous localization and mapping This is an Experimental package
Package builtin implements simultaneous localization and mapping This is an Experimental package
Package fake implements a fake slam service.
Package fake implements a fake slam service.
internal
grpchelper
Package grpchelper implements helper functions to be used with slam service grpc clients
Package grpchelper implements helper functions to be used with slam service grpc clients
testhelper
Package testhelper implements a slam service definition with additional exported functions for the purpose of testing
Package testhelper implements a slam service definition with additional exported functions for the purpose of testing
Package register registers all relevant slam models and also subtype specific functions
Package register registers all relevant slam models and also subtype specific functions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL