builtin

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2022 License: AGPL-3.0 Imports: 39 Imported by: 0

Documentation

Overview

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

This is an Experimental package

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewBuiltIn

func NewBuiltIn(ctx context.Context, r robot.Robot, config config.Service, logger golog.Logger, bufferSLAMProcessLogs bool) (slam.Service, error)

NewBuiltIn returns a new slam service for the given robot.

func RuntimeConfigValidation

func RuntimeConfigValidation(svcConfig *AttrConfig, logger golog.Logger) (slam.Mode, error)

RuntimeConfigValidation ensures that required config parameters are valid at runtime. If any of the required config parameters are not valid, this function will throw a warning, but not close out/shut down the server. The required parameters that are checked here are: 'algorithm', 'data_dir', and 'config_param' (required due to the 'mode' parameter internal to it). Returns the slam mode.

func SetCameraValidationMaxTimeoutSecForTesting

func SetCameraValidationMaxTimeoutSecForTesting(val int)

SetCameraValidationMaxTimeoutSecForTesting sets cameraValidationMaxTimeoutSec for testing.

func SetDialMaxTimeoutSecForTesting

func SetDialMaxTimeoutSecForTesting(val int)

SetDialMaxTimeoutSecForTesting sets dialMaxTimeoutSec for testing.

Types

type AttrConfig

type AttrConfig struct {
	Sensors          []string          `json:"sensors"`
	Algorithm        string            `json:"algorithm"`
	ConfigParams     map[string]string `json:"config_params"`
	DataRateMs       int               `json:"data_rate_msec"`
	MapRateSec       int               `json:"map_rate_sec"`
	DataDirectory    string            `json:"data_dir"`
	InputFilePattern string            `json:"input_file_pattern"`
	Port             string            `json:"port"`
}

AttrConfig describes how to configure the service.

type ORBsettings

type ORBsettings struct {
	FileVersion    string  `yaml:"File.version"`
	NFeatures      int     `yaml:"ORBextractor.nFeatures"`
	ScaleFactor    float64 `yaml:"ORBextractor.scaleFactor"`
	NLevels        int     `yaml:"ORBextractor.nLevels"`
	IniThFAST      int     `yaml:"ORBextractor.iniThFAST"`
	MinThFAST      int     `yaml:"ORBextractor.minThFAST"`
	CamType        string  `yaml:"Camera.type"`
	Width          int     `yaml:"Camera.width"`
	Height         int     `yaml:"Camera.height"`
	Fx             float64 `yaml:"Camera1.fx"`
	Fy             float64 `yaml:"Camera1.fy"`
	Ppx            float64 `yaml:"Camera1.cx"`
	Ppy            float64 `yaml:"Camera1.cy"`
	RadialK1       float64 `yaml:"Camera1.k1"`
	RadialK2       float64 `yaml:"Camera1.k2"`
	RadialK3       float64 `yaml:"Camera1.k3"`
	TangentialP1   float64 `yaml:"Camera1.p1"`
	TangentialP2   float64 `yaml:"Camera1.p2"`
	RGBflag        int8    `yaml:"Camera.RGB"`
	Stereob        float64 `yaml:"Stereo.b"`
	StereoThDepth  float64 `yaml:"Stereo.ThDepth"`
	DepthMapFactor float64 `yaml:"RGBD.DepthMapFactor"`
	FPSCamera      int16   `yaml:"Camera.fps"`
	LoadMapLoc     string  `yaml:"System.LoadAtlasFromFile"`
}

ORBsettings is used to construct the yaml file.

Jump to

Keyboard shortcuts

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