walter
utils.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
#include <array>
5
#include <Eigen/Dense>
6
7
#define CONCAT(a, b) CONCAT_INNER(a, b)
8
#define CONCAT_INNER(a, b) a ## b
9
#define Expects(x) boost::contract::check CONCAT(contract, __COUNTER__) = boost::contract::function().precondition([&] { BOOST_CONTRACT_ASSERT(x); })
10
#define Ensures(x) boost::contract::check CONCAT(contract, __COUNTER__) = boost::contract::function().postcondition([&] { BOOST_CONTRACT_ASSERT(x); })
11
#define sgn(x) (x > 0) - (x < 0)
12
13
struct
Pose
{
14
Eigen::Vector2f
position
;
15
float
angle
;
16
};
17
18
enum
Level
{
19
LOWLEVEL
= 0xFF,
//<! Control over individual motors
20
HIGHLEVEL
= 0x00,
//<! Higher level operations like walking and "forward"
21
};
22
23
struct
RobotInfo
{
24
uint16_t
id
;
25
uint32_t
sn
;
//<! Isn't documented.
26
uint8_t
bandwidth
;
27
uint8_t
mode
;
//<! Isn't documented.
28
};
29
30
struct
State
{
31
Level
level
;
32
struct
RobotInfo
{
33
uint16_t
id
;
34
uint32_t
sn
;
//<! Isn't documented.
35
uint8_t
bandwidth
;
36
uint8_t
mode
;
//<! Isn't documented.
37
} bot_info;
38
struct
PosInfo
{
39
float
forward_speed
;
40
float
side_speed
;
41
float
rotate_speed
;
42
float
updown_speed
;
43
float
body_height
;
44
float
forward_pos
;
45
float
side_pos
;
46
} pos_info;
47
};
RobotInfo
Definition:
utils.h:23
HIGHLEVEL
Definition:
utils.h:20
State::level
Level level
Definition:
utils.h:31
State::PosInfo::side_speed
float side_speed
Definition:
utils.h:40
State::PosInfo::forward_pos
float forward_pos
Front/rear displacement integrated from speed info on the robot.
Definition:
utils.h:44
Level
Level
Definition:
utils.h:18
State::PosInfo::body_height
float body_height
Definition:
utils.h:43
State::PosInfo::updown_speed
float updown_speed
Definition:
utils.h:42
RobotInfo::mode
uint8_t mode
Definition:
utils.h:27
State::RobotInfo::id
uint16_t id
Definition:
utils.h:33
RobotInfo::id
uint16_t id
Definition:
utils.h:24
Pose::angle
float angle
Definition:
utils.h:15
Pose
Definition:
utils.h:13
State::RobotInfo
Definition:
utils.h:32
RobotInfo::bandwidth
uint8_t bandwidth
Definition:
utils.h:26
Pose::position
Eigen::Vector2f position
Definition:
utils.h:14
State::PosInfo
Definition:
utils.h:38
State::RobotInfo::bandwidth
uint8_t bandwidth
Definition:
utils.h:35
State::RobotInfo::sn
uint32_t sn
Definition:
utils.h:34
State::RobotInfo::mode
uint8_t mode
Definition:
utils.h:36
State
Definition:
utils.h:30
RobotInfo::sn
uint32_t sn
Definition:
utils.h:25
LOWLEVEL
Definition:
utils.h:19
State::PosInfo::side_pos
float side_pos
Left/right displacement integrated from speed info on the robot.
Definition:
utils.h:45
State::PosInfo::rotate_speed
float rotate_speed
Definition:
utils.h:41
State::PosInfo::forward_speed
float forward_speed
Definition:
utils.h:39
src
utils.h
Generated by
1.8.13