tracked

package
v1.7.3 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Team_name = map[int32]string{
		0: "UNKNOWN",
		1: "YELLOW",
		2: "BLUE",
	}
	Team_value = map[string]int32{
		"UNKNOWN": 0,
		"YELLOW":  1,
		"BLUE":    2,
	}
)

Enum value maps for Team.

View Source
var (
	Division_name = map[int32]string{
		0: "DIV_UNKNOWN",
		1: "DIV_A",
		2: "DIV_B",
	}
	Division_value = map[string]int32{
		"DIV_UNKNOWN": 0,
		"DIV_A":       1,
		"DIV_B":       2,
	}
)

Enum value maps for Division.

View Source
var (
	Capability_name = map[int32]string{
		0: "CAPABILITY_UNKNOWN",
		1: "CAPABILITY_DETECT_FLYING_BALLS",
		2: "CAPABILITY_DETECT_MULTIPLE_BALLS",
		3: "CAPABILITY_DETECT_KICKED_BALLS",
	}
	Capability_value = map[string]int32{
		"CAPABILITY_UNKNOWN":               0,
		"CAPABILITY_DETECT_FLYING_BALLS":   1,
		"CAPABILITY_DETECT_MULTIPLE_BALLS": 2,
		"CAPABILITY_DETECT_KICKED_BALLS":   3,
	}
)

Enum value maps for Capability.

View Source
var File_ssl_gc_common_proto protoreflect.FileDescriptor
View Source
var File_ssl_gc_geometry_proto protoreflect.FileDescriptor
View Source
var File_ssl_vision_detection_tracked_proto protoreflect.FileDescriptor
View Source
var File_ssl_vision_wrapper_tracked_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Capability

type Capability int32

Capabilities that a source implementation can have

const (
	Capability_CAPABILITY_UNKNOWN               Capability = 0
	Capability_CAPABILITY_DETECT_FLYING_BALLS   Capability = 1
	Capability_CAPABILITY_DETECT_MULTIPLE_BALLS Capability = 2
	Capability_CAPABILITY_DETECT_KICKED_BALLS   Capability = 3
)

func (Capability) Descriptor

func (Capability) Descriptor() protoreflect.EnumDescriptor

func (Capability) Enum

func (x Capability) Enum() *Capability

func (Capability) EnumDescriptor deprecated

func (Capability) EnumDescriptor() ([]byte, []int)

Deprecated: Use Capability.Descriptor instead.

func (Capability) Number

func (x Capability) Number() protoreflect.EnumNumber

func (Capability) String

func (x Capability) String() string

func (Capability) Type

func (*Capability) UnmarshalJSON deprecated

func (x *Capability) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type Division

type Division int32

Division denotes the current division, which influences some rules

const (
	Division_DIV_UNKNOWN Division = 0
	Division_DIV_A       Division = 1
	Division_DIV_B       Division = 2
)

func (Division) Descriptor

func (Division) Descriptor() protoreflect.EnumDescriptor

func (Division) Enum

func (x Division) Enum() *Division

func (Division) EnumDescriptor deprecated

func (Division) EnumDescriptor() ([]byte, []int)

Deprecated: Use Division.Descriptor instead.

func (Division) Number

func (x Division) Number() protoreflect.EnumNumber

func (Division) String

func (x Division) String() string

func (Division) Type

func (*Division) UnmarshalJSON deprecated

func (x *Division) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type KickedBall

type KickedBall struct {

	// The initial position [m] from which the ball was kicked
	Pos *Vector2 `protobuf:"bytes,1,req,name=pos" json:"pos,omitempty"`
	// The initial velocity [m/s] with which the ball was kicked
	Vel *Vector3 `protobuf:"bytes,2,req,name=vel" json:"vel,omitempty"`
	// The unix timestamp [s] when the kick was performed
	StartTimestamp *float64 `protobuf:"fixed64,3,req,name=start_timestamp,json=startTimestamp" json:"start_timestamp,omitempty"`
	// The predicted unix timestamp [s] when the ball comes to a stop
	StopTimestamp *float64 `protobuf:"fixed64,4,opt,name=stop_timestamp,json=stopTimestamp" json:"stop_timestamp,omitempty"`
	// The predicted position [m] at which the ball will come to a stop
	StopPos *Vector2 `protobuf:"bytes,5,opt,name=stop_pos,json=stopPos" json:"stop_pos,omitempty"`
	// The robot that kicked the ball
	RobotId *RobotId `protobuf:"bytes,6,opt,name=robot_id,json=robotId" json:"robot_id,omitempty"`
	// contains filtered or unexported fields
}

A ball kicked by a robot, including predictions when the ball will come to a stop

func (*KickedBall) Descriptor deprecated

func (*KickedBall) Descriptor() ([]byte, []int)

Deprecated: Use KickedBall.ProtoReflect.Descriptor instead.

func (*KickedBall) GetPos

func (x *KickedBall) GetPos() *Vector2

func (*KickedBall) GetRobotId

func (x *KickedBall) GetRobotId() *RobotId

func (*KickedBall) GetStartTimestamp

func (x *KickedBall) GetStartTimestamp() float64

func (*KickedBall) GetStopPos

func (x *KickedBall) GetStopPos() *Vector2

func (*KickedBall) GetStopTimestamp

func (x *KickedBall) GetStopTimestamp() float64

func (*KickedBall) GetVel

func (x *KickedBall) GetVel() *Vector3

func (*KickedBall) ProtoMessage

func (*KickedBall) ProtoMessage()

func (*KickedBall) ProtoReflect

func (x *KickedBall) ProtoReflect() protoreflect.Message

func (*KickedBall) Reset

func (x *KickedBall) Reset()

func (*KickedBall) String

func (x *KickedBall) String() string

type Receiver

type Receiver struct {
	MulticastServer   *sslnet.MulticastServer
	ConsumeDetections func(frame *TrackerWrapperPacket)
	// contains filtered or unexported fields
}

func NewReceiver

func NewReceiver() (r *Receiver)

func (*Receiver) Start

func (r *Receiver) Start(multicastAddress string)

func (*Receiver) TrackedFrames

func (r *Receiver) TrackedFrames() map[string]*TrackerWrapperPacket

type RobotId

type RobotId struct {

	// the robot number
	Id *uint32 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
	// the team that the robot belongs to
	Team *Team `protobuf:"varint,2,opt,name=team,enum=Team" json:"team,omitempty"`
	// contains filtered or unexported fields
}

RobotId is the combination of a team and a robot id

func (*RobotId) Descriptor deprecated

func (*RobotId) Descriptor() ([]byte, []int)

Deprecated: Use RobotId.ProtoReflect.Descriptor instead.

func (*RobotId) GetId

func (x *RobotId) GetId() uint32

func (*RobotId) GetTeam

func (x *RobotId) GetTeam() Team

func (*RobotId) ProtoMessage

func (*RobotId) ProtoMessage()

func (*RobotId) ProtoReflect

func (x *RobotId) ProtoReflect() protoreflect.Message

func (*RobotId) Reset

func (x *RobotId) Reset()

func (*RobotId) String

func (x *RobotId) String() string

type Team

type Team int32

Team is either blue or yellow

const (
	// team not set
	Team_UNKNOWN Team = 0
	// yellow team
	Team_YELLOW Team = 1
	// blue team
	Team_BLUE Team = 2
)

func (Team) Descriptor

func (Team) Descriptor() protoreflect.EnumDescriptor

func (Team) Enum

func (x Team) Enum() *Team

func (Team) EnumDescriptor deprecated

func (Team) EnumDescriptor() ([]byte, []int)

Deprecated: Use Team.Descriptor instead.

func (Team) Number

func (x Team) Number() protoreflect.EnumNumber

func (Team) String

func (x Team) String() string

func (Team) Type

func (Team) Type() protoreflect.EnumType

func (*Team) UnmarshalJSON deprecated

func (x *Team) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

type TrackedBall

type TrackedBall struct {

	// The position (x, y, height) [m] in the ssl-vision coordinate system
	Pos *Vector3 `protobuf:"bytes,1,req,name=pos" json:"pos,omitempty"`
	// The velocity [m/s] in the ssl-vision coordinate system
	Vel *Vector3 `protobuf:"bytes,2,opt,name=vel" json:"vel,omitempty"`
	// The visibility of the ball
	// A value between 0 (not visible) and 1 (visible)
	// The exact implementation depends on the source software
	Visibility *float32 `protobuf:"fixed32,3,opt,name=visibility" json:"visibility,omitempty"`
	// contains filtered or unexported fields
}

A single tracked ball

func (*TrackedBall) Descriptor deprecated

func (*TrackedBall) Descriptor() ([]byte, []int)

Deprecated: Use TrackedBall.ProtoReflect.Descriptor instead.

func (*TrackedBall) GetPos

func (x *TrackedBall) GetPos() *Vector3

func (*TrackedBall) GetVel

func (x *TrackedBall) GetVel() *Vector3

func (*TrackedBall) GetVisibility

func (x *TrackedBall) GetVisibility() float32

func (*TrackedBall) ProtoMessage

func (*TrackedBall) ProtoMessage()

func (*TrackedBall) ProtoReflect

func (x *TrackedBall) ProtoReflect() protoreflect.Message

func (*TrackedBall) Reset

func (x *TrackedBall) Reset()

func (*TrackedBall) String

func (x *TrackedBall) String() string

type TrackedFrame

type TrackedFrame struct {

	// A monotonous increasing frame counter
	FrameNumber *uint32 `protobuf:"varint,1,req,name=frame_number,json=frameNumber" json:"frame_number,omitempty"`
	// The unix timestamp in [s] of the data
	// If timestamp is larger than timestamp_captured, the source has applied a prediction already
	Timestamp *float64 `protobuf:"fixed64,2,req,name=timestamp" json:"timestamp,omitempty"`
	// The list of detected balls
	// The first ball is the primary one
	// Sources may add additional balls based on their capabilities
	Balls []*TrackedBall `protobuf:"bytes,3,rep,name=balls" json:"balls,omitempty"`
	// The list of detected robots of both teams
	Robots []*TrackedRobot `protobuf:"bytes,4,rep,name=robots" json:"robots,omitempty"`
	// Information about a kicked ball, if the ball was kicked by a robot and is still moving
	// Note: This field is optional. Some source implementations might not set this at any time
	KickedBall *KickedBall `protobuf:"bytes,5,opt,name=kicked_ball,json=kickedBall" json:"kicked_ball,omitempty"`
	// List of capabilities of the source implementation
	Capabilities []Capability `protobuf:"varint,6,rep,name=capabilities,enum=Capability" json:"capabilities,omitempty"`
	// contains filtered or unexported fields
}

A frame that contains all currently tracked objects on the field on all cameras

func (*TrackedFrame) Descriptor deprecated

func (*TrackedFrame) Descriptor() ([]byte, []int)

Deprecated: Use TrackedFrame.ProtoReflect.Descriptor instead.

func (*TrackedFrame) GetBalls

func (x *TrackedFrame) GetBalls() []*TrackedBall

func (*TrackedFrame) GetCapabilities

func (x *TrackedFrame) GetCapabilities() []Capability

func (*TrackedFrame) GetFrameNumber

func (x *TrackedFrame) GetFrameNumber() uint32

func (*TrackedFrame) GetKickedBall

func (x *TrackedFrame) GetKickedBall() *KickedBall

func (*TrackedFrame) GetRobots

func (x *TrackedFrame) GetRobots() []*TrackedRobot

func (*TrackedFrame) GetTimestamp

func (x *TrackedFrame) GetTimestamp() float64

func (*TrackedFrame) ProtoMessage

func (*TrackedFrame) ProtoMessage()

func (*TrackedFrame) ProtoReflect

func (x *TrackedFrame) ProtoReflect() protoreflect.Message

func (*TrackedFrame) Reset

func (x *TrackedFrame) Reset()

func (*TrackedFrame) String

func (x *TrackedFrame) String() string

type TrackedRobot

type TrackedRobot struct {
	RobotId *RobotId `protobuf:"bytes,1,req,name=robot_id,json=robotId" json:"robot_id,omitempty"`
	// The position [m] in the ssl-vision coordinate system
	Pos *Vector2 `protobuf:"bytes,2,req,name=pos" json:"pos,omitempty"`
	// The orientation [rad] in the ssl-vision coordinate system
	Orientation *float32 `protobuf:"fixed32,3,req,name=orientation" json:"orientation,omitempty"`
	// The velocity [m/s] in the ssl-vision coordinate system
	Vel *Vector2 `protobuf:"bytes,4,opt,name=vel" json:"vel,omitempty"`
	// The angular velocity [rad/s] in the ssl-vision coordinate system
	VelAngular *float32 `protobuf:"fixed32,5,opt,name=vel_angular,json=velAngular" json:"vel_angular,omitempty"`
	// The visibility of the robot
	// A value between 0 (not visible) and 1 (visible)
	// The exact implementation depends on the source software
	Visibility *float32 `protobuf:"fixed32,6,opt,name=visibility" json:"visibility,omitempty"`
	// contains filtered or unexported fields
}

A single tracked robot

func (*TrackedRobot) Descriptor deprecated

func (*TrackedRobot) Descriptor() ([]byte, []int)

Deprecated: Use TrackedRobot.ProtoReflect.Descriptor instead.

func (*TrackedRobot) GetOrientation

func (x *TrackedRobot) GetOrientation() float32

func (*TrackedRobot) GetPos

func (x *TrackedRobot) GetPos() *Vector2

func (*TrackedRobot) GetRobotId

func (x *TrackedRobot) GetRobotId() *RobotId

func (*TrackedRobot) GetVel

func (x *TrackedRobot) GetVel() *Vector2

func (*TrackedRobot) GetVelAngular

func (x *TrackedRobot) GetVelAngular() float32

func (*TrackedRobot) GetVisibility

func (x *TrackedRobot) GetVisibility() float32

func (*TrackedRobot) ProtoMessage

func (*TrackedRobot) ProtoMessage()

func (*TrackedRobot) ProtoReflect

func (x *TrackedRobot) ProtoReflect() protoreflect.Message

func (*TrackedRobot) Reset

func (x *TrackedRobot) Reset()

func (*TrackedRobot) String

func (x *TrackedRobot) String() string

type TrackerWrapperPacket

type TrackerWrapperPacket struct {

	// A random UUID of the source that is kept constant at the source while running
	// If multiple sources are broadcasting to the same network, this id can be used to identify individual sources
	Uuid *string `protobuf:"bytes,1,req,name=uuid" json:"uuid,omitempty"`
	// The name of the source software that is producing this messages.
	SourceName *string `protobuf:"bytes,2,opt,name=source_name,json=sourceName" json:"source_name,omitempty"`
	// The tracked frame
	TrackedFrame *TrackedFrame `protobuf:"bytes,3,opt,name=tracked_frame,json=trackedFrame" json:"tracked_frame,omitempty"`
	// contains filtered or unexported fields
}

A wrapper packet containing meta data of the source Also serves for the possibility to extend the protocol later

func (*TrackerWrapperPacket) Descriptor deprecated

func (*TrackerWrapperPacket) Descriptor() ([]byte, []int)

Deprecated: Use TrackerWrapperPacket.ProtoReflect.Descriptor instead.

func (*TrackerWrapperPacket) GetSourceName

func (x *TrackerWrapperPacket) GetSourceName() string

func (*TrackerWrapperPacket) GetTrackedFrame

func (x *TrackerWrapperPacket) GetTrackedFrame() *TrackedFrame

func (*TrackerWrapperPacket) GetUuid

func (x *TrackerWrapperPacket) GetUuid() string

func (*TrackerWrapperPacket) ProtoMessage

func (*TrackerWrapperPacket) ProtoMessage()

func (*TrackerWrapperPacket) ProtoReflect

func (x *TrackerWrapperPacket) ProtoReflect() protoreflect.Message

func (*TrackerWrapperPacket) Reset

func (x *TrackerWrapperPacket) Reset()

func (*TrackerWrapperPacket) String

func (x *TrackerWrapperPacket) String() string

type Vector2

type Vector2 struct {
	X *float32 `protobuf:"fixed32,1,req,name=x" json:"x,omitempty"`
	Y *float32 `protobuf:"fixed32,2,req,name=y" json:"y,omitempty"`
	// contains filtered or unexported fields
}

A vector with two dimensions

func (*Vector2) Descriptor deprecated

func (*Vector2) Descriptor() ([]byte, []int)

Deprecated: Use Vector2.ProtoReflect.Descriptor instead.

func (*Vector2) GetX

func (x *Vector2) GetX() float32

func (*Vector2) GetY

func (x *Vector2) GetY() float32

func (*Vector2) ProtoMessage

func (*Vector2) ProtoMessage()

func (*Vector2) ProtoReflect

func (x *Vector2) ProtoReflect() protoreflect.Message

func (*Vector2) Reset

func (x *Vector2) Reset()

func (*Vector2) String

func (x *Vector2) String() string

type Vector3

type Vector3 struct {
	X *float32 `protobuf:"fixed32,1,req,name=x" json:"x,omitempty"`
	Y *float32 `protobuf:"fixed32,2,req,name=y" json:"y,omitempty"`
	Z *float32 `protobuf:"fixed32,3,req,name=z" json:"z,omitempty"`
	// contains filtered or unexported fields
}

A vector with three dimensions

func (*Vector3) Descriptor deprecated

func (*Vector3) Descriptor() ([]byte, []int)

Deprecated: Use Vector3.ProtoReflect.Descriptor instead.

func (*Vector3) GetX

func (x *Vector3) GetX() float32

func (*Vector3) GetY

func (x *Vector3) GetY() float32

func (*Vector3) GetZ

func (x *Vector3) GetZ() float32

func (*Vector3) ProtoMessage

func (*Vector3) ProtoMessage()

func (*Vector3) ProtoReflect

func (x *Vector3) ProtoReflect() protoreflect.Message

func (*Vector3) Reset

func (x *Vector3) Reset()

func (*Vector3) String

func (x *Vector3) String() string

Jump to

Keyboard shortcuts

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