serilib
読み取り中…
検索中…
一致する文字列を見つけられません
steering.h ファイル

足回りモジュール [詳解]

#include <seri/control.h>
#include <seri/pid.h>
#include <stddef.h>
#include <stdint.h>

[ソースコード]

データ構造

struct  steering_param_t
 足回りパラメーター [詳解]

列挙型

enum  crawler_ctrl_type_t { CRAWLER_LEFT_STICK , CRAWLER_BOTH_STICK }
 クローラー足回りの操縦方法 [詳解]

関数

steering_param_t create_steering_param (SL_FP_T max_rot_speed, SL_FP_T trans_ratio)
 足回りパラメーター型を作成する。
void calc_speed_crawler (int16_t result[2], pid_data_t *pid_data[2], steering_param_t steering_param, sticks_nor_t sticks, crawler_ctrl_type_t ctrl_type)
 クローラー足回りのモーター速度を計算する。
void calc_speed_mechanum (int16_t result[4], pid_data_t *pid_data[4], steering_param_t steering_param, sticks_nor_t sticks)
 メカナムホイール足回りのモーター速度を計算する。
void calc_speed_omni (int16_t *result, pid_data_t **pid_data, steering_param_t steering_param, sticks_nor_t sticks, size_t n, SL_FP_T initial_angle)
 n輪オムニホイール足回りのモーター速度を計算する。

詳解

足回りモジュール

列挙型詳解

◆ crawler_ctrl_type_t

クローラー足回りの操縦方法

列挙値
CRAWLER_LEFT_STICK 

左スティックのX軸を旋回、Y軸を前後に割り当てる

CRAWLER_BOTH_STICK 

左スティックのY軸を左モーター前後、右スティックのY軸を右モーター前後に割り当てる

関数詳解

◆ calc_speed_crawler()

void calc_speed_crawler ( int16_t result[2],
pid_data_t * pid_data[2],
steering_param_t steering_param,
sticks_nor_t sticks,
crawler_ctrl_type_t ctrl_type )

クローラー足回りのモーター速度を計算する。

結果は右・左の順に格納される。

スティック入力の扱いはctrl_typeの値によって変わる。

引数
[out]result計算結果の配列
[in,out]pid_dataPID制御データ
[in]steering_param足回りのパラメーター
[in]sticks正規化済みスティック入力
[in]ctrl_type操縦方法

◆ calc_speed_mechanum()

void calc_speed_mechanum ( int16_t result[4],
pid_data_t * pid_data[4],
steering_param_t steering_param,
sticks_nor_t sticks )

メカナムホイール足回りのモーター速度を計算する。

結果は右前から反時計回りに格納される。

スティック入力は左が水平移動入力、右のX軸が旋回入力に使用される。

引数
[out]result計算結果の配列
[in,out]pid_dataPID制御データ
[in]steering_param足回りのパラメーター
[in]sticks正規化済みスティック入力

◆ calc_speed_omni()

void calc_speed_omni ( int16_t * result,
pid_data_t ** pid_data,
steering_param_t steering_param,
sticks_nor_t sticks,
size_t n,
SL_FP_T initial_angle )

n輪オムニホイール足回りのモーター速度を計算する。

結果は0番のモーターから反時計回りに格納される。

0番のモーターはモーター位置の基準となるモーターであり、任意のものを指定できる。

スティック入力は左が水平移動入力、右のX軸が旋回入力に使用される。

引数
[out]result計算結果の配列
[in,out]pid_dataPID制御データ
[in]steering_param足回りのパラメーター
[in]sticks正規化済みスティック入力
[in]nモーターの個数
[in]initial_angle0番のモーターの角度(右0・反時計回り) [rad]

◆ create_steering_param()

steering_param_t create_steering_param ( SL_FP_T max_rot_speed,
SL_FP_T trans_ratio )

足回りパラメーター型を作成する。

引数
[in]max_rot_speedsteering_param_t::max_rot_speed
[in]trans_ratiosteering_param_t::trans_ratio