8#ifndef DESIGNLAB_SIMULATION_SETTING_RECORD_H_
9#define DESIGNLAB_SIMULATION_SETTING_RECORD_H_
77 "シミュレーションを行う際の設定はこのファイルで設定します.");
80 "Map",
"マップについての設定です.",
"EndChecker",
81 "終了条件についての設定です.",
"RobotOperator",
85 map_create_mode,
"Map",
87 "マップの作成方法を設定します.( \"{}\" )",
90 simulation_map_param_file_name,
"Map",
91 std::format(
"マップの作成方法がシミュレーション専用マップを出力するモード"
92 " ( {} ) の場合,マップのパラメータを記述した toml "
97 std::format(
"マップの作成方法がファイルから読み込むモード ( {} ) の場合,"
98 "マップの csvファイルの名前を設定します.",
102 end_check_mode,
"EndChecker",
104 "どのような方法で終了させるかを設定します.( \"{}\" )",
108 goal_tape_position_x,
"EndChecker",
109 std::format(
"終了条件がゴールテープに到達したか ( {} ) の場合,"
110 "ゴールテープのx座標を設定します.[mm]",
113 target_posture,
"EndChecker",
114 std::format(
"終了条件が目標姿勢となったか ( {} ) の場合,"
115 "目標の姿勢(xyzオイラー角)を設定します.[deg]",
118 target_posture_allowable_error_deg,
"EndChecker",
119 std::format(
"終了条件が目標姿勢となったか ( {} ) の場合,"
120 "目標の姿勢の角度の許容誤差を設定します.[deg]",
123 target_position,
"EndChecker",
124 std::format(
"終了条件が目的の座標に到達したか ( {} ) の場合,"
128 target_position_allowable_error,
"EndChecker",
129 std::format(
"終了条件が目的の座標に到達したか ( {} ) の場合,"
130 "目標の座標の許容誤差を設定します.[mm]",
134 operate_mode,
"RobotOperator",
136 "ロボットの操作方法を設定します.( \"{}\" )",
139 fixed_operate_file_name,
"RobotOperator",
140 std::format(
"ロボットの操作方法が固定 ( {} ) の場合,"
141 "その操作方法を指定するファイルを設定します.",
145 path_points,
"RobotOperator",
147 "ロボットの操作方法がパス ( {} ) の場合,そのパスを設定します.",
151 initial_positions,
"Initial",
152 "シミュレーション開始時のロボットの位置を設定します.[mm]."
153 "地面にめり込んでいる場合には機能しないため,注意すること.");
155 initial_posture,
"Initial",
156 "シミュレーション開始時のロボットの姿勢を設定します.[deg]."
157 "地面にめり込んでいる場合には機能しないため,注意すること.");
159 initial_move,
"Initial",
161 "シミュレーション開始時のロボットの歩容を設定します.( \"{}\" )",
168 simulation_map_param_file_name, map_file_name,
169 end_check_mode, goal_tape_position_x, target_posture,
170 target_posture_allowable_error_deg, target_position,
171 target_position_allowable_error, operate_mode,
172 fixed_operate_file_name, path_points,
173 initial_positions, initial_move, initial_posture);
@ kPosture
姿勢が一定の範囲内に収まっているかどうか.
@ kGoalTape
ゴールテープに到達したかどうか.
@ kPosition
目的の座標に到達したかどうか.
@ kForGloabalPathGenerate
std::string EnumToStringRemoveTopK(const T &enum_value)
enumを文字列に変換する関数. Google C++ coding style だと enumの要素は 先頭にkをつけてキャメルケースで書くことが推奨されている....
std::string EnumValuesToString(const std::string separator)
enum型を渡すと,その要素を列挙した文字列を返す関数.
HexapodMove
ロボットが次にどの動作をするのかを表す列挙体.
@ kComMove
重心の平行移動.Center Of Massで重心のこと.
std::vector< Vector3 > path_points
std::string map_file_name
enums::MapCreateMode map_create_mode
float target_position_allowable_error
enums::SimulationEndCheckMode end_check_mode
std::string fixed_operate_file_name
Vector3 initial_positions
float target_posture_allowable_error_deg
std::string simulation_map_param_file_name
enums::RobotOperateMode operate_mode
float goal_tape_position_x
#define DESIGNLAB_TOML11_SERIALIZE(NAME,...)
tomlファイルのシリアライズ/デシリアライズを行うためのマクロ. TOML11_DEFINE_CONVERSION_NON_INTRUSIVEをラッパしたもの....
#define DESIGNLAB_TOML11_DESCRIPTION_CLASS(CLASS)
tomlファイルに説明を追加するためのクラスの宣言を行うためのマクロ.
#define DESIGNLAB_TOML11_VARIABLE_ADD_DESCRIPTION(VARIABLE, TABLE, DESCRIPTION)
tomlファイルに変数とファイルの説明を追加するためのマクロ.
#define DESIGNLAB_TOML11_TABLE_ADD_DESCRIPTION(...)
tomlファイルにテーブルの説明を追加するためのマクロ. DESIGNLAB_TOML11_DESCRIPTION_CLASS内に必ず記述する必要がある.
#define DESIGNLAB_TOML11_FILE_ADD_DESCRIPTION(DESCRIPTION)
tomlファイルにファイルの説明を追加するためのマクロ. DESIGNLAB_TOML11_DESCRIPTION_CLASS内に必ず記述する必要がある.