GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
名前空間 | クラス | Concepts | 列挙型 | 関数 | 変数
designlab 名前空間

名前空間

namespace  com_func
 重心タイプに関する名前空間.Center of Mass Function の略.
 
namespace  dxlib_util
 Dxlibの3D表示を行う処理を書き直した関数をまとめた名前空間.
 
namespace  enums
 
namespace  impl
 明示的に使用することのない関数をまとめた名前空間.
 
namespace  leg_func
 このプログラムでは脚状態をビット(28bit)の情報で表す. そのデータを処理するための関数.
 
namespace  math_util
 基本的な計算を行う関数をまとめた名前空間.
 
namespace  string_util
 文字列操作に関する関数を提供する名前空間.
 
namespace  toml_func
 tomlファイルのシリアライズ/デシリアライズを行うための関数群.
 

クラス

class  AbstractDxlibGui
 Dxlibを使ったGUIの抽象クラス. [詳解]
 
struct  ApplicationSettingRecord
 アプリの設定を記録する構造体. [詳解]
 
class  ApplicationSettingRecordValidator
 ApplicationSettingRecord のバリデータ. [詳解]
 
class  ApproximatedMotionRangeRender
 6脚歩行ロボットの近似された脚の動作範囲を描画するクラス. [詳解]
 
class  AsyncableData
 非同期処理を行う際に,データの更新回数とデータをまとめて扱うためのクラス. [詳解]
 
class  AsyncableData< std::vector< T > >
 非同期処理を行う際に, データの更新回数とデータをまとめて扱うための構造体.( vector 版) [詳解]
 
class  AverageCalculator
 平均値,分散,標準偏差を求めるテンプレートクラス. [詳解]
 
class  BootModeSelector
 起動モードを選択するクラス. [詳解]
 
class  CameraDragger
 マウスの入力でカメラを動かすクラス. [詳解]
 
class  CmdIOUtil
 標準入出力の std::cout,std::cinを使った コマンドライン入出力を行うシングルトンクラス. [詳解]
 
class  ComCandidatePolygonMaker
 重心位置の候補地点を示す多角形を作成するクラス. [詳解]
 
struct  ComPosAndPolygon
 離散化された重心位置とその重心位置を含む多角形の組み合わせを表す構造体. [詳解]
 
class  ComSelector
 重心の候補領域から重心位置を選択するクラス. [詳解]
 
class  DeadLockChecker
 動作のループを感知するクラス. [詳解]
 
class  DividedMapState
 マップを格子状に分割して管理するクラス. [詳解]
 
class  Dxlib3dRendererGroup
 dxlib_renderer の draw 関数を呼ぶためのクラス. [詳解]
 
class  DxlibCamera
 Dxlib の3Dのカメラの状態を管理するクラス. [詳解]
 
class  DxlibGuiCamera
 カメラの操作・管理を行うGUIの処理・描画を行うクラス. [詳解]
 
class  DxlibGuiCameraParameterDisplayer
 カメラの情報を表示するGUIの処理・描画を行うクラス. [詳解]
 
class  DxlibGuiDisplayNodeSwitcher
 ノードの表示・切り替えを行うGUIのクラス. [詳解]
 
class  DxlibGuiNodeDisplayer
 ノードの情報を表示するGUIのクラス. [詳解]
 
class  DxlibGuiRobotControl
 カメラの操作・管理を行うGUIの処理・描画を行うクラス. [詳解]
 
class  DxlibGuiTerminal
 ×ボタンを押して消えたGUIを復活させるためのクラス. [詳解]
 
class  DxlibGuiUpdater
 クリック判定を行うクラス. [詳解]
 
struct  DxlibMouseState
 マウスの状態を表す構造体. [詳解]
 
class  DxlibNodeSetterGroup
 DxLibでノードの設定を行うクラスをまとめるクラス. [詳解]
 
struct  EulerXYZ
 XYZオイラー角を用いた回転を表す構造体. [詳解]
 
class  FileTree
 ファイルツリーを作成するクラス. [詳解]
 
class  FontLoader
 Dxlibのフォントを読み込むクラス. [詳解]
 
class  FpsController
 FPSを一定にキープするためのクラス. [詳解]
 
class  GaitPatternGeneratorBasic
 普通にグラフ探索を行い,歩容パターン生成を行うクラス. [詳解]
 
class  GaitPatternGeneratorRevaluation
 再評価手法を実装したクラス. [詳解]
 
class  GaitPatternGeneratorSwitchMove
 複数の種類の歩容パターンの生成方法を切り替えるためのクラス. [詳解]
 
class  GaitPatternGeneratorThread
 普通にグラフ探索を行い,歩容パターン生成を行うクラス. [詳解]
 
class  GaitPatternGraphTree
 RobotStateNode 構造体をノードとする木構造のグラフのクラス. [詳解]
 
class  GraphComPlotter
 
class  GraphicConst
 画像表示処理用の定数クラス. [詳解]
 
struct  GraphicDataBroker
 グラフ探索の結果を別スレッドのグラフィッククラスに連絡するための構造体. [詳解]
 
class  GraphicMainBasic
 シミュレーションの一覧表示,ロボットの動きの軌跡の表示 などベーシックな機能を提供するクラス. [詳解]
 
class  GraphicMainDisplayModel
 ロボットのモデルを表示して,正しく動作しているかを確認するためのクラス. [詳解]
 
class  GraphicMainGraphViewer
 GraphViewerの画面を表示するクラス. [詳解]
 
class  GraphicMainRobotControl
 ロボットの制御を行うGUIの処理,描画を行うクラス. [詳解]
 
class  GraphicSystem
 Dxlibの処理を行うクラス. [詳解]
 
class  GraphSearchConst
 グラフ探索の定数をまとめたクラス.
先行研究のマクロをまとめたもの. [詳解]
 
class  GraphSearcherSpotTurn
 グラフ探索を行い,直進する動作を評価するクラス. [詳解]
 
class  GraphSearcherStraightMove
 グラフ探索を行い,直進する動作を評価するクラス. [詳解]
 
class  GraphSearcherTurn
 グラフ探索を行い,直進する動作を評価するクラス. [詳解]
 
struct  GraphSearchEvaluationValue
 グラフ探索の評価値を格納する構造体. [詳解]
 
struct  GraphSearchEvaluator
 グラフ探索の評価値を評価するクラス. [詳解]
 
struct  GraphSearchResult
 グラフ探索の結果を表す構造体. [詳解]
 
struct  GraphSearchResultRecord
 グラフ探索の結果を格納する構造体. [詳解]
 
class  GraphTreeCreator
 歩容パターングラフを作成するクラス. [詳解]
 
class  GraphViewerGUIController
 グラフのノードのデータを表示するGUIのコントローラークラス. [詳解]
 
class  HexapodConst
 Hexapodの定数をまとめたクラス. [詳解]
 
struct  HexapodJointState
 ロボットの関節の状態を表す構造体. [詳解]
 
class  HexapodRendererBuilder
 HexapodRendererクラスのインスタンスを作成するクラス. [詳解]
 
class  IDxlib3dRenderer
 DxLibの描画処理を行うクラスのインターフェース. [詳解]
 
class  IDxlibClickable
 クリック可能なGUIのインターフェース. [詳解]
 
class  IDxlibDraggable
 ドラッグ可能なGUIのインターフェース. [詳解]
 
class  IDxlibGui
 Dxlibの画面に表示するGUIのインターフェース. [詳解]
 
class  IDxlibNodeSetter
 DxLibのGuiやRendererでノードのセットを行うためのインターフェース. [詳解]
 
class  IDxlibWheelHandler
 マウスホイールの入力を受け取るためのインターフェース. [詳解]
 
class  IGaitPatternGenerator
 グラフ探索による歩容パターン生成を行うクラスのインターフェース. [詳解]
 
class  IGraphicMain
 GraphicMainのインターフェース. [詳解]
 
class  IGraphSearcher
 グラフ探索の処理のインターフェース. [詳解]
 
class  IHexapodCoordinateConverter
 ロボットは重心位置・アクチュエータなど様々な点を基準とする座標系を持つ. これらを相互に変換する処理のインターフェース. [詳解]
 
class  IHexapodJointCalculator
 間接角度や角速度を計算する処理のインターフェース. [詳解]
 
class  IHexapodPostureValidator
 6脚ロボットが有効な姿勢をとっているかを チェックする処理のインターフェース. [詳解]
 
class  IHexapodStatePresenter
 6脚ロボットの状態を表示するクラス. [詳解]
 
class  IMapCreator
 マップ生成クラスのインターフェース. [詳解]
 
class  INodeCreator
 ノード生成処理のインターフェース. [詳解]
 
class  INodeCreatorBuilder
 INodeCreatorを生成するためのビルダークラス. [詳解]
 
class  InterpolatedNodeCreator
 矩形軌道を生成し,ノード間を補間するクラス. [詳解]
 
class  InterpolateValidator
 補間の妥当性を検証するクラス. [詳解]
 
class  IRobotOperator
 ロボットの動作を決定する処理のインターフェース. [詳解]
 
class  ISimulationEndChecker
 シミュレーションの終了を判定するクラスのインターフェース. [詳解]
 
class  ISystemMain
 プログラムの面の処理のインターフェース. [詳解]
 
class  ITomlDataValidator
 TOMLファイルのデータの検証を行う処理のインターフェース. [詳解]
 
class  Keyboard
 Dxlibのキーボード入力を取得するクラス. [詳解]
 
struct  LineSegment2
 2次元の線分を表す構造体. [詳解]
 
class  MapCreatorByCsv
 CSV ファイルからマップを生成するクラス. [詳解]
 
class  MapCreatorFactory
 マップを生成するクラスを生成するクラス. [詳解]
 
class  MapCreatorForSimulation
 シミュレーション用のマップを生成するクラス. [詳解]
 
class  MapFileExporter
 マップを csv に出力するクラス.
マップには脚接地可能点が羅列されているので,1行ずつ出力する. [詳解]
 
class  MapFileImporter
 マップを csv に出力したものを読み込むクラス.
マップには脚接地可能点が羅列されているので,1行ずつ読み込み,それぞれマップに追加する. [詳解]
 
class  MapRenderer
 マップの描画を行うクラス. [詳解]
 
class  MapState
 マップを表すクラス. [詳解]
 
class  MathConst
 float 型と double 型の定数を提供するクラス. [詳解]
 
class  MathConst< double >
 double型の定数を提供するクラス. [詳解]
 
class  MathConst< float >
 float型の定数を提供するクラス. [詳解]
 
class  ModelLoader
 Dxlibの3Dモデルを読み込むクラス. [詳解]
 
class  Mouse
 Dxlibでマウス入力を取得するクラス. [詳解]
 
class  MovementLocusRenderer
 ロボットの移動軌跡を描画するクラス. [詳解]
 
class  NodeCreatorBodyRot
 ロボットの回転を表すノードを生成するクラス. [詳解]
 
class  NodeCreatorBuilderBodyRot
 ノード作成ビルダーのボディ回転クラス [詳解]
 
class  NodeCreatorBuilderStraightMove
 波東さんが行った処理と同様の方法になるようにノード生成クラスを生成するクラス. [詳解]
 
class  NodeCreatorBuilderTurn
 旋回動作用のノード生成クラスのビルダー. [詳解]
 
class  NodeCreatorBuilderTurnSpot
 旋回動作用のノード生成クラスを生成するクラス. [詳解]
 
class  NodeCreatorComMove
 波東さんの手法で重心の平行移動を行うクラス. [詳解]
 
class  NodeCreatorComMoveStraight
 直線方向に重心の平行移動を行うクラス. [詳解]
 
class  NodeCreatorComUpDown
 重心の上げ下げをするエッジ(辺,ノードとノードを繋ぐ物)の処理をするクラス. [詳解]
 
class  NodeCreatorLegHierarchy
 脚の階層構造を作るためのクラス. [詳解]
 
class  NodeCreatorLegUpDown
 脚の上げ下げをするエッジ(辺,ノードとノードを繋ぐ物)の処理をするクラス. [詳解]
 
class  NodeCreatorLegUpDown2d
 脚の上げ下げをするエッジ(辺,ノードとノードを繋ぐ物)の処理をするクラス. [詳解]
 
class  NodeCreatorLegUpDownRadius
 脚の上げ下げをするエッジ(辺,ノードとノードを繋ぐ物)の処理をするクラス. [詳解]
 
class  NodeInitializer
 ノードの初期化を行うクラス.
シミュレーション時にノードの初期値を設定するために使用する. [詳解]
 
class  PhantomXMkII
 PhantomX mk-2 の状態を計算するクラス. [詳解]
 
class  PhantomXMkIIConst
 PhantomX mk-Ⅱ のパラメータを定数で表現したもの. [詳解]
 
struct  PhantomXMkIIParameterRecord
 
class  PhantomXMkIIRendererModel
 3Dモデルを使用して PhantomX の描画を行うクラス. [詳解]
 
class  PhantomXRendererSimple
 3Dモデルを使用せず,多角形を組み合わせてPhantomXの描画を行うクラス. [詳解]
 
struct  Polygon2
 2次元の多角形を表す構造体. [詳解]
 
struct  Quaternion
 クォータニオンを表す構造体. [詳解]
 
class  ResultFileConst
 
class  ResultFileExporter
 結果をファイルに出力するクラス.
シミュレーション結果をファイルに出力する処理を全てこのクラスにまとめた. [詳解]
 
class  ResultFileImporter
 結果をファイルから読み込むクラス. [詳解]
 
class  RobotGroundPointRenderer
 ロボットが接地点した地点の履歴を描画するクラス. [詳解]
 
struct  RobotOperation
 探索において目標となる座標や角度,評価する値についてまとめた構造体. [詳解]
 
class  RobotOperatorFactory
 TargetUpdaterを生成するファクトリクラス. [詳解]
 
class  RobotOperatorFixed
 命令の更新をせず,初期化時の命令を送り続けるクラス. [詳解]
 
class  RobotOperatorForGpg
 global path generator を行うための仮置きクラス. [詳解]
 
class  RobotOperatorForPath
 指定した中継地点を通るようにロボットを動かすクラス. [詳解]
 
struct  RobotStateNode
 グラフ構造のためのノード(頂点).旧名 LNODE [詳解]
 
struct  RotationMatrix3x3
 3次元の回転行列を表す構造体. [詳解]
 
class  SerialCommunicationThread
 
class  SimpleButton
 Dxlibのウィンドウのボタンの処理・描画を管理するクラス. [詳解]
 
class  SimulationEndCheckerByGoalTape
 ゴールテープによるシミュレーション終了判定クラス. [詳解]
 
class  SimulationEndCheckerByPosition
 最終位置によるシミュレーション終了判定クラス. [詳解]
 
class  SimulationEndCheckerByPosture
 最終姿勢によるシミュレーション終了判定クラス. [詳解]
 
class  SimulationEndCheckerFactory
 シミュレーションの終了を判定するクラスを生成するクラス. [詳解]
 
struct  SimulationMapParameter
 マップ生成時のモードとオプションを指定する構造体. [詳解]
 
class  SimulationMapParameterValidator
 SimulationMapParameter のバリデータ. [詳解]
 
struct  SimulationResultRecord
 シミュレーションの結果を格納する構造体. [詳解]
 
struct  SimulationSettingRecord
 
class  Singleton
 Singletonクラス作成のためのテンプレートクラス. [詳解]
 
class  StabilityMarginRenderer
 ロボットの静的安定余裕(支持脚多角形)を描画するクラス. [詳解]
 
class  Stopwatch
 時間計測用のクラス. [詳解]
 
class  SystemMainGraphViewer
 グラフを表示するシステムのメインクラス. [詳解]
 
class  SystemMainResultViewer
 結果を表示するシステムのクラス. [詳解]
 
class  SystemMainRobotControl
 
class  SystemMainSimulation
 先行研究における int main()で行われていた処理をまとめたもので, 歩容生成シミュレーションを行うクラス. [詳解]
 
class  TomlDataValidatorAlwaysTrue
 常に trueを返す ITomlDataValidator の実装クラス. [詳解]
 
class  TomlDirectoryExporter
 TOMLファイルを入れるディレクトリを作成し, TOMLファイル読み込みの準備をするクラス. [詳解]
 
class  TomlFileExporter
 TOMLファイルを出力するテンプレートクラス. [詳解]
 
class  TomlFileImporter
 tomlファイルを読み込んで構造体に変換するテンプレートクラス. [詳解]
 
struct  Vector2
 2次元の位置ベクトルを表す構造体. [詳解]
 
struct  Vector3
 3次元の位置ベクトルを表す構造体. [詳解]
 
class  WorldGridRenderer
 ワールドの格子線を描画するクラス. [詳解]
 

Concepts

concept  CopyAssignable
 
concept  IsDxlibGui
 IDxlibGuiを継承しているかどうかを判定する.
 
concept  IsDxlibClickable
 IDxlibClickableを継承しているかどうかを判定する.
 
concept  IsDxlibDraggable
 IDxlibDraggableを継承しているかどうかを判定する.
 
concept  IsDxlibWheelHandler
 IDxlibWheelHandlerを継承しているかどうかを判定する.
 
concept  IsDxlibUpdatable
 IDxlibGui, IDxlibClickable, IDxlibDraggable, IDxlibWheelHandlerのうちいずれかを継承しているかどうかを判定する.
 
concept  HasIntoToml
 into<T>を持つか判定するコンセプト.
 
concept  HasFromToml
 FromTomlを持つか判定するコンセプト.
toml::from<T>::from_toml()が定義されているかどうかを判定する.
また,デフォルトコンストラクタが実装されているかどうかも判定する.
 

列挙型

enum class  BootMode : int {
  kSimulation = 0 , kViewer , kDisplayModel , kResultViewer ,
  kRobotControl
}
 起動モードを表す列挙型. [詳解]
 
enum class  DisplayQuality : int { kLow = 0 , kMedium , kHigh }
 描画の品質設定を示す列挙体. [詳解]
 
enum class  HexapodMove : int {
  kNone , kLegUpDown , kLegHierarchyChange , kComMove ,
  kComUpDown , kBodyPitchRot , kBodyYawRot
}
 ロボットが次にどの動作をするのかを表す列挙体. [詳解]
 
enum class  OutputDetail : int {
  kSystem = 0 , kError , kWarning , kInfo ,
  kDebug
}
 コマンドラインに文字を出力する際に,その詳細を指定するための列挙体. [詳解]
 
enum class  RobotOperationType : int {
  kNone , kStraightMoveVector , kStraightMovePosition , kSpotTurnLastPosture ,
  kSpotTurnRotAxis , kTurn
}
 Robotをどのように動かすかを表す列挙体. [詳解]
 

関数

 DESIGNLAB_TOML11_DESCRIPTION_CLASS (ApplicationSettingRecord)
 
template<typename T , typename ... Args>
constexpr std::array< T, sizeof...(Args)> MakeArray (Args &&... args)
 std::arrayを作成する関数.
この関数を作成したモチベーションとしては, std::arrayを constexprで初期化する際に苦戦したため.
この関数を使うことで,std::arrayを constexprで初期化することができる.
例えば,std::array<int, 3>を作成する場合は,MakeArray<int>(1, 2, 3)とする.
 
Vector3 RotateVector3 (const Vector3 &vec, const EulerXYZ &rot)
 回転させたベクトルを返す.三角関数の処理が多く重たいので注意.
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const EulerXYZ &r)
 出力ストリーム.Csv形式で出力する.カンマ区切り.単位は [rad].
 
template<class Char >
std::basic_istream< Char > & operator>> (std::basic_istream< Char > &is, EulerXYZ &r)
 入力ストリーム
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const Polygon2 &poly)
 出力ストリーム.
 
Quaternion SlerpQuaternion (const Quaternion &q1, const Quaternion &q2, float t)
 球面線形補間を行う.
 
constexpr Quaternion operator* (float s, const Quaternion &q)
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const Quaternion &q)
 出力ストリーム.
 
template<class Char >
std::basic_istream< Char > & operator>> (std::basic_istream< Char > &is, Quaternion &q)
 入力ストリーム.
 
constexpr Vector3 RotateVector3 (const Vector3 &vec, const Quaternion &q)
 3次元の位置ベクトルを回転させる.必ず正規化クォータニオンを用いること.
 
Quaternion ToQuaternion (const RotationMatrix3x3 &rot)
 回転角行列からクォータニオンへの変換.
 
Quaternion ToQuaternion (const EulerXYZ &e)
 オイラー角からクォータニオンへの変換.
 
RotationMatrix3x3 ToRotationMatrix (const Quaternion &q)
 クォータニオンから回転角行列への変換.
 
RotationMatrix3x3 ToRotationMatrix (const EulerXYZ &e)
 XYZオイラー角から回転角行列への変換.
 
EulerXYZ ToEulerXYZ (const RotationMatrix3x3 &rot)
 回転角行列からXYZオイラー角への変換.
 
EulerXYZ ToEulerXYZ (const Quaternion &q)
 クォータニオンからXYZオイラー角への変換.
 
Vector3 RotateVector3 (const Vector3 &vec, const RotationMatrix3x3 &rot)
 回転させたベクトルを返す.
 
constexpr Vector2 operator* (float s, const Vector2 &v)
 スカラーが先に来る場合の掛け算演算子.
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const Vector2 &v)
 
template<class Char >
std::basic_istream< Char > & operator>> (std::basic_istream< Char > &is, Vector2 &v)
 
constexpr Vector3 operator* (const float s, const Vector3 &vec) noexcept
 スカラーが先に来る場合の掛け算演算子.
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const Vector3 &v)
 出力ストリーム. ToCsvString と同じ形式で出力する.
 
template<class Char >
std::basic_istream< Char > & operator>> (std::basic_istream< Char > &is, Vector3 &v)
 入力ストリーム.
 
 DESIGNLAB_TOML11_DESCRIPTION_CLASS (PhantomXMkIIParameterRecord)
 
 DESIGNLAB_TOML11_DESCRIPTION_CLASS (RobotOperation)
 
template<class Char >
std::basic_ostream< Char > & operator<< (std::basic_ostream< Char > &os, const RobotStateNode &value)
 
 DESIGNLAB_TOML11_DESCRIPTION_CLASS (SimulationMapParameter)
 
 DESIGNLAB_TOML11_DESCRIPTION_CLASS (SimulationSettingRecord)
 

変数

constexpr unsigned int kDxlibGuiAnchorLeft = 1 << 0
 
constexpr unsigned int kDxlibGuiAnchorMiddleX = 1 << 1
 
constexpr unsigned int kDxlibGuiAnchorRight = 1 << 2
 
constexpr unsigned int kDxlibGuiAnchorTop = 1 << 3
 
constexpr unsigned int kDxlibGuiAnchorMiddleY = 1 << 4
 
constexpr unsigned int kDxlibGuiAnchorBottom = 1 << 5
 
constexpr unsigned int kDxlibGuiAnchorLeftTop = kDxlibGuiAnchorLeft | kDxlibGuiAnchorTop
 
constexpr unsigned int kDxlibGuiAnchorLeftMiddleY = kDxlibGuiAnchorLeft | kDxlibGuiAnchorMiddleY
 
constexpr unsigned int kDxlibGuiAnchorLeftBottom = kDxlibGuiAnchorLeft | kDxlibGuiAnchorBottom
 
constexpr unsigned int kDxlibGuiAnchorMiddleXTop = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorTop
 
constexpr unsigned int kDxlibGuiAnchorMiddleXMiddleY = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorMiddleY
 
constexpr unsigned int kDxlibGuiAnchorMiddleXBottom = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorBottom
 
constexpr unsigned int kDxlibGuiAnchorRightTop = kDxlibGuiAnchorRight | kDxlibGuiAnchorTop
 
constexpr unsigned int kDxlibGuiAnchorRightMiddleY = kDxlibGuiAnchorRight | kDxlibGuiAnchorMiddleY
 
constexpr unsigned int kDxlibGuiAnchorRightBottom = kDxlibGuiAnchorRight | kDxlibGuiAnchorBottom
 

詳解

todo:
仮置きのはずが,本実装になっているので,後で直す

列挙型詳解

◆ BootMode

enum class designlab::BootMode : int
strong

起動モードを表す列挙型.

参照
BootModeSelector
列挙値
kSimulation 

シミュレーションモード.

kViewer 

ビューワーモード.

kDisplayModel 

ディスプレイモード.

kResultViewer 

リザルトビューワーモード.

kRobotControl 

ロボットコントロールモード.

boot_mode.h18 行目に定義があります。

◆ DisplayQuality

enum class designlab::DisplayQuality : int
strong

描画の品質設定を示す列挙体.

enum DisplayQuality

列挙値
kLow 

低品質.

kMedium 

中品質.

kHigh 

高品質.

display_quality.h17 行目に定義があります。

◆ HexapodMove

enum class designlab::HexapodMove : int
strong

ロボットが次にどの動作をするのかを表す列挙体.

先行研究では int型の変数 debug を用いていたが,可読性が低いので列挙体を用いる.

列挙値
kNone 

何も動作をしない.

kLegUpDown 

脚の上下移動.

kLegHierarchyChange 

脚の平行移動.脚の階層を変更する.

kComMove 

重心の平行移動.Center Of Massで重心のこと.

kComUpDown 

重心の上下移動.

kBodyPitchRot 

ピッチ軸周りの回転.

kBodyYawRot 

ヨー軸周りの回転.

hexapod_next_move.h18 行目に定義があります。

◆ OutputDetail

enum class designlab::OutputDetail : int
strong

コマンドラインに文字を出力する際に,その詳細を指定するための列挙体.

設定ファイルで指定されたもの以上のメッセージのみ出力する.

列挙値
kSystem 

システムメッセージ,常に出力する.

kError 

エラーメッセージ.

kWarning 

警告メッセージ,エラーではないが注意が必要なメッセージ.

kInfo 

優先度低めの情報.

kDebug 

デバッグ時のみ出力,一番優先度が低い.

output_detail.h18 行目に定義があります。

◆ RobotOperationType

enum class designlab::RobotOperationType : int
strong

Robotをどのように動かすかを表す列挙体.

列挙値
kNone 

無効値.

kStraightMoveVector 

直線移動をさせる(移動したい方向をベクトルで示す)

kStraightMovePosition 

直線移動をさせる(移動したい座標を示す)

kSpotTurnLastPosture 

その場で旋回させる(最終的な姿勢 Posture を示す)

kSpotTurnRotAxis 

その場で旋回させる(回転軸を示し,その軸周りの右ねじの回転)

kTurn 

旋回中心と,旋回半径と,旋回方向を与えて旋回させる.

robot_operation.h36 行目に定義があります。

関数詳解

◆ DESIGNLAB_TOML11_DESCRIPTION_CLASS() [1/5]

designlab::DESIGNLAB_TOML11_DESCRIPTION_CLASS ( ApplicationSettingRecord  )

application_setting_record.h71 行目に定義があります。

呼び出し関係図:

◆ DESIGNLAB_TOML11_DESCRIPTION_CLASS() [2/5]

designlab::DESIGNLAB_TOML11_DESCRIPTION_CLASS ( PhantomXMkIIParameterRecord  )

phantomx_mk2_parameter_record.h41 行目に定義があります。

◆ DESIGNLAB_TOML11_DESCRIPTION_CLASS() [3/5]

designlab::DESIGNLAB_TOML11_DESCRIPTION_CLASS ( RobotOperation  )

robot_operation.h80 行目に定義があります。

呼び出し関係図:

◆ DESIGNLAB_TOML11_DESCRIPTION_CLASS() [4/5]

designlab::DESIGNLAB_TOML11_DESCRIPTION_CLASS ( SimulationMapParameter  )

simulation_map_parameter.h189 行目に定義があります。

呼び出し関係図:

◆ DESIGNLAB_TOML11_DESCRIPTION_CLASS() [5/5]

designlab::DESIGNLAB_TOML11_DESCRIPTION_CLASS ( SimulationSettingRecord  )

simulation_setting_record.h88 行目に定義があります。

呼び出し関係図:

◆ MakeArray()

template<typename T , typename ... Args>
constexpr std::array< T, sizeof...(Args)> designlab::MakeArray ( Args &&...  args)
constexpr

std::arrayを作成する関数.
この関数を作成したモチベーションとしては, std::arrayを constexprで初期化する際に苦戦したため.
この関数を使うことで,std::arrayを constexprで初期化することができる.
例えば,std::array<int, 3>を作成する場合は,MakeArray<int>(1, 2, 3)とする.

array_util.h23 行目に定義があります。

◆ operator*() [1/3]

constexpr Vector3 designlab::operator* ( const float  s,
const Vector3 vec 
)
constexprnoexcept

スカラーが先に来る場合の掛け算演算子.

引数
[in]sスカラー.
[in]vecベクトル.
戻り値
スカラーとベクトルの掛け算結果.

math_vector3.h253 行目に定義があります。

◆ operator*() [2/3]

constexpr Quaternion designlab::operator* ( float  s,
const Quaternion q 
)
constexpr

math_quaternion.h219 行目に定義があります。

◆ operator*() [3/3]

constexpr Vector2 designlab::operator* ( float  s,
const Vector2 v 
)
constexpr

スカラーが先に来る場合の掛け算演算子.

引数
[in]sスカラー.
[in]vベクトル.
戻り値
s * v.

math_vector2.h158 行目に定義があります。

◆ operator<<() [1/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const EulerXYZ r 
)
inline

出力ストリーム.Csv形式で出力する.カンマ区切り.単位は [rad].

math_euler.h32 行目に定義があります。

◆ operator<<() [2/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const Polygon2 poly 
)
inline

出力ストリーム.

math_polygon2.h38 行目に定義があります。

◆ operator<<() [3/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const Quaternion q 
)
inline

出力ストリーム.

math_quaternion.h219 行目に定義があります。

◆ operator<<() [4/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const RobotStateNode value 
)

robot_state_node.h46 行目に定義があります。

◆ operator<<() [5/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const Vector2 v 
)

math_vector2.h158 行目に定義があります。

◆ operator<<() [6/6]

template<class Char >
std::basic_ostream< Char > & designlab::operator<< ( std::basic_ostream< Char > &  os,
const Vector3 v 
)

出力ストリーム. ToCsvString と同じ形式で出力する.

math_vector3.h253 行目に定義があります。

◆ operator>>() [1/4]

template<class Char >
std::basic_istream< Char > & designlab::operator>> ( std::basic_istream< Char > &  is,
EulerXYZ r 
)
inline

入力ストリーム

math_euler.h128 行目に定義があります。

◆ operator>>() [2/4]

template<class Char >
std::basic_istream< Char > & designlab::operator>> ( std::basic_istream< Char > &  is,
Quaternion q 
)
inline

入力ストリーム.

math_quaternion.h233 行目に定義があります。

◆ operator>>() [3/4]

template<class Char >
std::basic_istream< Char > & designlab::operator>> ( std::basic_istream< Char > &  is,
Vector2 v 
)
inline

math_vector2.h171 行目に定義があります。

◆ operator>>() [4/4]

template<class Char >
std::basic_istream< Char > & designlab::operator>> ( std::basic_istream< Char > &  is,
Vector3 v 
)
inline

入力ストリーム.

math_vector3.h272 行目に定義があります。

◆ RotateVector3() [1/3]

Vector3 designlab::RotateVector3 ( const Vector3 vec,
const EulerXYZ rot 
)

回転させたベクトルを返す.三角関数の処理が多く重たいので注意.

引数
[in]vec位置ベクトル.
[in]rot回転ベクトル.
戻り値
回転した後の位置ベクトル.

math_euler.cpp54 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ RotateVector3() [2/3]

constexpr Vector3 designlab::RotateVector3 ( const Vector3 vec,
const Quaternion q 
)
constexpr

3次元の位置ベクトルを回転させる.必ず正規化クォータニオンを用いること.

引数
[in]vec回転させるベクトル.
[in]q回転させるクォータニオン.
正規化クォータニオンならば,共役と逆数が等しいので, 計算量を減らすことができる.
戻り値
回転後のベクトル.

math_quaternion.h247 行目に定義があります。

呼び出し関係図:

◆ RotateVector3() [3/3]

Vector3 designlab::RotateVector3 ( const Vector3 vec,
const RotationMatrix3x3 rot 
)

回転させたベクトルを返す.

引数
[in]vec回転させるベクトル.
[in]rot回転行列.
戻り値
回転させたベクトル.

math_rotation_matrix.cpp93 行目に定義があります。

◆ SlerpQuaternion()

Quaternion designlab::SlerpQuaternion ( const Quaternion q1,
const Quaternion q2,
float  t 
)

球面線形補間を行う.

引数
[in]q1クォータニオン1.
[in]q2クォータニオン2.
[in]t補間係数.0~1の値を取る.
戻り値
補間されたクォータニオン.

math_quaternion.cpp58 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ ToEulerXYZ() [1/2]

EulerXYZ designlab::ToEulerXYZ ( const Quaternion q)

クォータニオンからXYZオイラー角への変換.

引数
[in]qクォータニオン.
戻り値
オイラー角.

math_rot_converter.cpp110 行目に定義があります。

呼び出し関係図:

◆ ToEulerXYZ() [2/2]

EulerXYZ designlab::ToEulerXYZ ( const RotationMatrix3x3 rot)

回転角行列からXYZオイラー角への変換.

引数
[in]rot回転角行列.
戻り値
XYZオイラー角.

math_rot_converter.cpp99 行目に定義があります。

被呼び出し関係図:

◆ ToQuaternion() [1/2]

Quaternion designlab::ToQuaternion ( const EulerXYZ e)

オイラー角からクォータニオンへの変換.

引数
[in]eオイラー角.
戻り値
クォータニオン.

math_rot_converter.cpp33 行目に定義があります。

呼び出し関係図:

◆ ToQuaternion() [2/2]

Quaternion designlab::ToQuaternion ( const RotationMatrix3x3 rot)

回転角行列からクォータニオンへの変換.

引数
[in]rot回転角行列.
戻り値
クォータニオン.

math_rot_converter.cpp16 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ ToRotationMatrix() [1/2]

RotationMatrix3x3 designlab::ToRotationMatrix ( const EulerXYZ e)

XYZオイラー角から回転角行列への変換.

引数
[in]eXYZオイラー角.
戻り値
回転角行列.

math_rot_converter.cpp89 行目に定義があります。

呼び出し関係図:

◆ ToRotationMatrix() [2/2]

RotationMatrix3x3 designlab::ToRotationMatrix ( const Quaternion q)

クォータニオンから回転角行列への変換.

引数
[in]qクォータニオン.
戻り値
回転角行列.

math_rot_converter.cpp59 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

変数詳解

◆ kDxlibGuiAnchorBottom

constexpr unsigned int designlab::kDxlibGuiAnchorBottom = 1 << 5
constexpr

interface_dxlib_gui.h20 行目に定義があります。

◆ kDxlibGuiAnchorLeft

constexpr unsigned int designlab::kDxlibGuiAnchorLeft = 1 << 0
constexpr

interface_dxlib_gui.h15 行目に定義があります。

◆ kDxlibGuiAnchorLeftBottom

constexpr unsigned int designlab::kDxlibGuiAnchorLeftBottom = kDxlibGuiAnchorLeft | kDxlibGuiAnchorBottom
constexpr

interface_dxlib_gui.h29 行目に定義があります。

◆ kDxlibGuiAnchorLeftMiddleY

constexpr unsigned int designlab::kDxlibGuiAnchorLeftMiddleY = kDxlibGuiAnchorLeft | kDxlibGuiAnchorMiddleY
constexpr

interface_dxlib_gui.h26 行目に定義があります。

◆ kDxlibGuiAnchorLeftTop

constexpr unsigned int designlab::kDxlibGuiAnchorLeftTop = kDxlibGuiAnchorLeft | kDxlibGuiAnchorTop
constexpr

interface_dxlib_gui.h23 行目に定義があります。

◆ kDxlibGuiAnchorMiddleX

constexpr unsigned int designlab::kDxlibGuiAnchorMiddleX = 1 << 1
constexpr

interface_dxlib_gui.h16 行目に定義があります。

◆ kDxlibGuiAnchorMiddleXBottom

constexpr unsigned int designlab::kDxlibGuiAnchorMiddleXBottom = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorBottom
constexpr

interface_dxlib_gui.h38 行目に定義があります。

◆ kDxlibGuiAnchorMiddleXMiddleY

constexpr unsigned int designlab::kDxlibGuiAnchorMiddleXMiddleY = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorMiddleY
constexpr

interface_dxlib_gui.h35 行目に定義があります。

◆ kDxlibGuiAnchorMiddleXTop

constexpr unsigned int designlab::kDxlibGuiAnchorMiddleXTop = kDxlibGuiAnchorMiddleX | kDxlibGuiAnchorTop
constexpr

interface_dxlib_gui.h32 行目に定義があります。

◆ kDxlibGuiAnchorMiddleY

constexpr unsigned int designlab::kDxlibGuiAnchorMiddleY = 1 << 4
constexpr

interface_dxlib_gui.h19 行目に定義があります。

◆ kDxlibGuiAnchorRight

constexpr unsigned int designlab::kDxlibGuiAnchorRight = 1 << 2
constexpr

interface_dxlib_gui.h17 行目に定義があります。

◆ kDxlibGuiAnchorRightBottom

constexpr unsigned int designlab::kDxlibGuiAnchorRightBottom = kDxlibGuiAnchorRight | kDxlibGuiAnchorBottom
constexpr

interface_dxlib_gui.h47 行目に定義があります。

◆ kDxlibGuiAnchorRightMiddleY

constexpr unsigned int designlab::kDxlibGuiAnchorRightMiddleY = kDxlibGuiAnchorRight | kDxlibGuiAnchorMiddleY
constexpr

interface_dxlib_gui.h44 行目に定義があります。

◆ kDxlibGuiAnchorRightTop

constexpr unsigned int designlab::kDxlibGuiAnchorRightTop = kDxlibGuiAnchorRight | kDxlibGuiAnchorTop
constexpr

interface_dxlib_gui.h41 行目に定義があります。

◆ kDxlibGuiAnchorTop

constexpr unsigned int designlab::kDxlibGuiAnchorTop = 1 << 3
constexpr

interface_dxlib_gui.h18 行目に定義があります。