sim

package
v0.0.0-...-718ecc9 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Gazebo

type Gazebo struct {
	sync.Mutex
	ExecutablePath           string
	Config                   *GazeboConfig
	Logger                   *log.Logger
	Cmd                      *exec.Cmd
	TimePath                 string
	StepPath                 string
	PositionPath             string
	TotalIterations          uint64
	PTY                      *os.File
	TemporaryPostStepActions []StepActions
	// contains filtered or unexported fields
}

func (*Gazebo) AddPostStepAction

func (g *Gazebo) AddPostStepAction(action StepActions)

implements sim.Sim

func (*Gazebo) Iterations

func (g *Gazebo) Iterations() uint64

implements sim.Sim safe to call from a post-step action.

func (*Gazebo) Position

func (g *Gazebo) Position(ctx context.Context) (entities.Position, error)

implements sim.Sim

func (*Gazebo) Shutdown

func (gazebo *Gazebo) Shutdown(ctx context.Context) error

implements sim.Sim

func (*Gazebo) SimTime

func (gazebo *Gazebo) SimTime(ctx context.Context) (time.Time, error)

implements sim.Sim safe to call in multi-threaded environments.

func (*Gazebo) Start

func (gazebo *Gazebo) Start() error

implements sim.Sim

func (*Gazebo) Step

func (g *Gazebo) Step(ctx context.Context) error

/ implements sim.Sim

type GazeboConfig

type GazeboConfig struct {
	// contains the world configuration
	WorldPath string

	// where to execute Gazebo
	WorkDir string

	// Any additional environment variables
	Env []string

	// Actions to invoke pre-step
	PreStepActions []StepActions

	// Actions to invoke post-step
	PostStepActions []StepActions

	// Length of each unit of simulation
	StepSize uint64
}

type Sim

type Sim interface {
	Start() error
	Shutdown(ctx context.Context) error
	Step(ctx context.Context) error
	SimTime(ctx context.Context) (time.Time, error)
	Position(ctx context.Context) (entities.Position, error)
	AddPostStepAction(action StepActions)
	Iterations() uint64
}

func NewGazeboFromEnv

func NewGazeboFromEnv(config *GazeboConfig) (Sim, error)

type StepActions

type StepActions func()

Jump to

Keyboard shortcuts

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