run module

class run.Avoid(data)

Bases: run.Travel

障害物回避を行うクラスです。 現在、回避動作は実装されていません。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

障害物回避コマンドを生成し、障害物回避音声を通知します。 現在、障害物回避動作は実装されていません。

Return type:list
Returns:Arduinoへのコマンド
class run.Cross(data)

Bases: run.Travel

曲がり角を直進するクラスです。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

直進コマンドを生成し、直進音声を流します。

Return type:list
Returns:Arduinoへのコマンド
reset()

各種値をリセットします。

Returns:なし
class run.Help(data)

Bases: run.Travel

救援要請を行うクラスです。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

停止コマンドを生成し、一定時間ごと救援音声を流します。

Return type:list
Returns:Arduinoへのコマンド
reset()

各種値をリセットします。

Returns:なし
class run.Init(data)

Bases: run.Travel

初期状態のクラスです。

__init__(data)

コンストラクタです。スピーカーをオフにします。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

コマンドを生成します。一度だけ左右の壁を判定してself.data.is_leftに格納します。

Return type:list
Returns:Arduinoへのコマンド
class run.Run(data)

Bases: object

走行を制御するクラスです。

INTERVAL = 0.01

制御周期[s]を表す属性です。

RADIUS = 40

タイヤ間の距離[cm]を表す属性です。

TARGET_DIST = 60

目標となる壁との距離[m]を表す属性です。

USS_DICT_LIST = ['f', 'sf', 's', 'sb']

ussのキーを表す属性です。

USS_DIFF = 6

超音波センサのsf,sbとsとの飛び出ている距離の差[cm]を表す属性です。

USS_DIST = 30

MIRSの中心から超音波センサまでの距離[cm]を表す属性です。

USS_RADIUS = 19

超音波センサ間、sfとsbの間の距離[cm]を表す属性です。

__init__(data)

コンストラクタです。

Parameters:data (Databox) – Databoxのオブジェクト
static calc_pos(sf, s, sb, is_left)

自己位置を計算します。

Parameters:
  • sf (int) – MIRSの横の前の超音波センサの値
  • s (int) – MIRSの真横の超音波センサの値
  • sb (int) – MIRSの横の後ろの超音波センサの値
  • is_left (boolean) – 左壁かどうか
Return type:

tuple

Returns:

距離x、角度th

execute()

コマンドを生成します。

Return type:list
Returns:Arduinoに送るコマンド
is_duplicate_cmd(cmd)
static limit(tgt, u, l)

値を許容範囲に収めます。

Parameters:
  • tgt (double) – 許容範囲に収めたい値
  • u (double) – 上限値
  • l (double) – 下限値
Return type:

double

Returns:

許容範囲に収めた値

run()

走行値を生成します。今の状態により、各種生成用メソッドを呼び出します。

Return type:list
Returns:Arduinoに送る走行コマンド
class run.Straight(data)

Bases: run.Travel

壁追従(直進)走行制御を行うクラスです。

Kd = 0.0

Dゲインをを表す属性です。

Ki = 0.0

Iゲインをを表す属性です。

Kp = 1

Pゲインをを表す属性です。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

コマンドを生成し、5メートルごとに音声通知をします。 既定走行値に補正値を加えます。

Return type:list
Returns:Arduinoへのコマンド。speed_lは左のタイヤの速度、speed_rは右のタイヤの速度
reset()

各種値をリセットします。

Returns:なし
class run.Touch(data)

Bases: run.Travel

ハーネスを離した時のクラスです。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

停止コマンドを生成し、一定時間ごとハーネスを握るように促す音声を流します。

Return type:list
Returns:Arduinoへのコマンド
reset()

各種値をリセットします。

Returns:なし
class run.Travel(data)

Bases: object

走行系の親クラス

__init__(data)

コンストラクタです。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

コマンドを生成します。

Return type:list
Returns:Arduinoへのコマンド
is_arduino_stop()

走行が停止しているかをArduinoからの値を元に判断します。

Return type:bool
Returns:停止しているか
reset()

カウントと終了フラグをリセットします。

Returns:なし
class run.Turn(data)

Bases: run.Travel

曲がり角曲がるクラスです。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

コマンドを生成し、曲がり角を曲がる音声通知をします。 壁との距離を旋回半径に回転した後、直進をします。

Return type:list
Returns:Arduinoへのコマンド
class run.Wait(data)

Bases: run.Travel

待機を行うクラスです。

__init__(data)

コンストラクタです。各種初期状態を代入します。

Parameters:data (Databox) – Databoxのオブジェクト
generate_command()

コマンドを生成し、待機音声を通知します。 停止コマンドを生成します。

Return type:list
Returns:Arduinoへのコマンド
reset()

各種値をリセットします。

Returns:なし