Thunderbots Project
Loading...
Searching...
No Matches
robot_state.h
1#pragma once
2
3#include "proto/vision.pb.h"
4#include "shared/2021_robot_constants.h"
5#include "shared/constants.h"
6#include "shared/robot_constants.h"
7#include "software/geom/angle.h"
8#include "software/geom/angular_velocity.h"
9#include "software/geom/point.h"
10#include "software/geom/vector.h"
11#include "software/world/team_types.h"
12
13using RobotId = unsigned int;
14
19{
20 public:
30 explicit RobotState(const Point &position, const Vector &velocity,
31 const Angle &orientation,
32 const AngularVelocity &angular_velocity);
33
41 explicit RobotState(const TbotsProto::RobotState &robot_state_proto);
42
48 Point position() const;
49
55 Vector velocity() const;
56
62 Angle orientation() const;
63
70
80 bool operator==(const RobotState &other) const;
81
90 bool operator!=(const RobotState &other) const;
91
92 private:
93 Point position_;
94 Vector velocity_;
95 Angle orientation_;
96 AngularVelocity angular_velocity_;
97};
98
103{
104 unsigned int id;
105 RobotState robot_state;
106
107 bool operator==(const RobotStateWithId &other) const
108 {
109 return id == other.id && robot_state == other.robot_state;
110 }
111};
Definition angle.h:15
Definition point.h:14
Definition robot_state.h:19
Vector velocity() const
Definition robot_state.cpp:28
bool operator!=(const RobotState &other) const
Definition robot_state.cpp:50
AngularVelocity angularVelocity() const
Definition robot_state.cpp:38
bool operator==(const RobotState &other) const
Definition robot_state.cpp:43
Point position() const
Definition robot_state.cpp:23
Angle orientation() const
Definition robot_state.cpp:33
Definition vector.h:12
Definition robot_state.h:103