UdonLibrary
1.0.0
機械システム研究部 C++ ライブラリ
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
MotorCommand.hpp
[詳解]
1
//
2
// 通信用メッセージ
3
//
4
5
#pragma once
6
7
#include <stdint.h>
8
#include <
Udon/Traits/EnumerableMacro.hpp
>
9
10
namespace
Udon
11
{
12
namespace
Message
13
{
14
16
enum class
ControlMode
: uint8_t
17
{
18
EmergencyStop
= 0,
// 非常停止
19
Reset
= 1,
// エンコーダリセット
20
HoldPosition
= 2,
// 現在位置保持
21
Position
= 3,
// 位置制御モード
22
Velocity
= 4,
// 速度制御モード
23
PWM
= 5,
// PWM駆動モード
24
};
25
27
struct
MotorCommand
28
{
30
ControlMode
mode
;
31
33
float
targetValue
;
34
35
#ifdef ARDUINO
37
void
show()
const
38
{
39
Serial.print(
F
(
"mode: "
)), Serial.print(
static_cast<
int
>
(
mode
)), Serial.print(
'\t'
);
40
Serial.print(
F
(
"targetValue: "
)), Serial.print(
targetValue
), Serial.print(
'\t'
);
41
}
42
#endif
43
44
UDON_ENUMERABLE
(
mode
,
targetValue
);
45
};
46
47
49
struct
MotorFeedback
50
{
52
float
currentPosition
;
53
55
float
currentVelocity
;
56
57
#ifdef ARDUINO
59
void
show()
const
60
{
61
Serial.print(
F
(
"currentPosition: "
)), Serial.print(
currentPosition
), Serial.print(
'\t'
);
62
Serial.print(
F
(
"currentVelocity: "
)), Serial.print(
currentVelocity
), Serial.print(
'\t'
);
63
}
64
#endif
65
66
UDON_ENUMERABLE
(
currentPosition
,
currentVelocity
);
67
};
68
69
71
struct
MotorSetting
72
{
74
float
maxVelocity
;
75
77
float
maxAcceleration
;
78
79
#ifdef ARDUINO
81
void
show()
const
82
{
83
Serial.print(
F
(
"maxVelocity: "
)), Serial.print(
maxVelocity
), Serial.print(
'\t'
);
84
Serial.print(
F
(
"maxAcceleration: "
)), Serial.print(
maxAcceleration
), Serial.print(
'\t'
);
85
}
86
#endif
87
88
UDON_ENUMERABLE
(
maxVelocity
,
maxAcceleration
);
89
};
90
91
}
// namespace Message
92
93
}
// namespace Udon
EnumerableMacro.hpp
F
#define F(x)
Definition
Show.hpp:17
Udon::Message
Definition
AirCylinder.hpp:16
Udon::Message::ControlMode
ControlMode
モータの動作モード
Definition
MotorCommand.hpp:17
Udon::Message::ControlMode::HoldPosition
@ HoldPosition
Definition
MotorCommand.hpp:20
Udon::Message::ControlMode::Reset
@ Reset
Definition
MotorCommand.hpp:19
Udon::Message::ControlMode::Position
@ Position
Definition
MotorCommand.hpp:21
Udon::Message::ControlMode::PWM
@ PWM
Definition
MotorCommand.hpp:23
Udon::Message::ControlMode::Velocity
@ Velocity
Definition
MotorCommand.hpp:22
Udon::Message::ControlMode::EmergencyStop
@ EmergencyStop
Definition
MotorCommand.hpp:18
Udon
Definition
Bit.hpp:12
Udon::Message::MotorCommand
モータに送信するコマンド
Definition
MotorCommand.hpp:28
Udon::Message::MotorCommand::UDON_ENUMERABLE
UDON_ENUMERABLE(mode, targetValue)
Udon::Message::MotorCommand::targetValue
float targetValue
モータの目標値
Definition
MotorCommand.hpp:33
Udon::Message::MotorCommand::mode
ControlMode mode
モータの動作モード
Definition
MotorCommand.hpp:30
Udon::Message::MotorFeedback
モータからのフィードバック情報
Definition
MotorCommand.hpp:50
Udon::Message::MotorFeedback::UDON_ENUMERABLE
UDON_ENUMERABLE(currentPosition, currentVelocity)
Udon::Message::MotorFeedback::currentVelocity
float currentVelocity
現在の速度
Definition
MotorCommand.hpp:55
Udon::Message::MotorFeedback::currentPosition
float currentPosition
現在の位置
Definition
MotorCommand.hpp:52
Udon::Message::MotorSetting
モータの制限値やパラメータ
Definition
MotorCommand.hpp:72
Udon::Message::MotorSetting::UDON_ENUMERABLE
UDON_ENUMERABLE(maxVelocity, maxAcceleration)
Udon::Message::MotorSetting::maxAcceleration
float maxAcceleration
最大加速度制限
Definition
MotorCommand.hpp:77
Udon::Message::MotorSetting::maxVelocity
float maxVelocity
最大速度制限
Definition
MotorCommand.hpp:74