趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Public Member Functions | List of all members
hrk::Roomba_driver Class Reference

ルンバの制御 More...

#include <Roomba_driver.h>

Inheritance diagram for hrk::Roomba_driver:
Inheritance graph
[legend]
Collaboration diagram for hrk::Roomba_driver:
Collaboration graph
[legend]

Public Member Functions

const char * what () const
 状態を示すメッセージを返す More...
 
bool open (const std::string &device_name, bool do_open=true)
 接続を開く More...
 
void close ()
 接続を閉じる
 
Connectionconnection ()
 接続オブジェクトを返す
 
void set_connection (Connection *connection)
 接続オブジェクトを設定する
 
void set_straight_velocity (double m_per_sec)
 並進速度を指定する
 
double straight_velocity () const
 並進速度を取得する
 
void set_rotate_velocity (const Angle &angle_per_sec)
 回転角速度を指定する
 
Angle rotate_velocity () const
 回転角速度を取得する
 
void set_straight_acceleration (double m_per_sec2)
 並進加速度を指定する
 
void set_rotate_acceleration (const Angle &angle_per_sec2)
 回転角加速度を指定する
 
PositionF position (const Locatable *coordinate=Global) const
 推定自己位置の取得 More...
 
void set_position (const PositionF &position, const Locatable *coordinate=Global)
 位置の登録
 
double path_change_distance ()
 経路の切替えが適切に行える最短距離を返す
 
bool is_stable ()
 移動コマンドの動作が安定したかを返す
 
void follow_line (const PositionF &line, const Locatable *coordinate=Global)
 追従させる直線を指定する More...
 
void follow_circle (const PointF &center, double radius, const Locatable *coordinate=Global)
 追従させる円を指定する More...
 
void stop_to_line (const PositionF &line, const Locatable *coordinate=Global)
 直線上で停止させる More...
 
void spin (const Angle &spin_angle)
 指定した角度だけ回転させる
 
void spin_to_direction (const Angle &target_angle, const Locatable *coordinate=Global)
 指定した向きで停止させる More...
 
void stop ()
 停止させる
 
double distance_to (const PointF &point, const Locatable *coordinate=Global)
 点とロボットとの距離を返す
 
double distance_to_perpendicular (const PositionF &line, const Locatable *coordinate=Global)
 ベクトルの始点を通る垂線とロボットとの距離を返す More...
 
Angle angle_to (const Angle &angle, const Locatable *coordinate=Global)
 向きとロボットとの角度差を返す
 
bool sleep ()
 省電力な状態への遷移
 
bool wake_up ()
 省電力な状態からの復帰
 
bool power_down ()
 電源を切る
 
bool dock ()
 充電の開始を指示
 
bool is_charging ()
 充電中かを返す
 
int charged_percent ()
 充電されている割合をパーセントで返す
 
void set_vacuum (bool on=true)
 掃除機能の On/Off を設定する More...
 
void control_wheel_velocity (double right_m_per_sec, double left_m_per_sec)
 

Additional Inherited Members

- Public Types inherited from hrk::Power_manager
enum  { Unknown = -1 }
 
- Static Public Attributes inherited from hrk::Run_driver
static CoordinateGlobal = NULL
 

Detailed Description

ルンバの制御

Examples:
back_circle.cpp, back_line.cpp, dock.cpp, follow_circle.cpp, follow_lines_smooth.cpp, follow_lines_stop.cpp, path_follow.cpp, print_position.cpp, spin.cpp, and spin_to_direction.cpp.

Member Function Documentation

const char * Roomba_driver::what ( void  ) const
virtual

状態を示すメッセージを返す

Returns
メッセージ文字列

Implements hrk::Run_driver.

Examples:
back_circle.cpp, back_line.cpp, dock.cpp, follow_circle.cpp, follow_lines_smooth.cpp, follow_lines_stop.cpp, path_follow.cpp, print_position.cpp, spin.cpp, and spin_to_direction.cpp.
bool Roomba_driver::open ( const std::string &  device_name,
bool  do_open = true 
)

接続を開く

Parameters
[in]device_name接続するデバイス名
[in]do_open接続のみ行う場合に false を指定する。通常は true を指定してルンバの初期化処理を行えばよい。
Return values
true正常
falseエラー
Examples:
back_circle.cpp, back_line.cpp, dock.cpp, follow_circle.cpp, follow_lines_smooth.cpp, follow_lines_stop.cpp, path_follow.cpp, print_position.cpp, spin.cpp, and spin_to_direction.cpp.
PositionF Roomba_driver::position ( const Locatable coordinate = Global) const
virtual

推定自己位置の取得

position_image.svg

Implements hrk::Run_driver.

Examples:
dock.cpp, and print_position.cpp.
void Roomba_driver::follow_line ( const PositionF line,
const Locatable coordinate = Global 
)
virtual

追従させる直線を指定する

Parameters
[in]line追従させる直線
follow_line_image.svg

Implements hrk::Run_driver.

Examples:
back_line.cpp, follow_lines_smooth.cpp, follow_lines_stop.cpp, and print_position.cpp.
void Roomba_driver::follow_circle ( const PointF center,
double  radius,
const Locatable coordinate = Global 
)
virtual

追従させる円を指定する

Parameters
[in]center円の中心位置
[in]radius円の半径 (正の値: 反時計回り, 負の値: 時計回り)
follow_circle_image.svg

Implements hrk::Run_driver.

Examples:
back_circle.cpp, and follow_circle.cpp.
void Roomba_driver::stop_to_line ( const PositionF line,
const Locatable coordinate = Global 
)
virtual

直線上で停止させる

Parameters
[in]line停止させる直線からの垂線。角度で停止させたい向きを指定する。
stop_to_line_image.svg

Implements hrk::Run_driver.

Examples:
follow_lines_stop.cpp.
void Roomba_driver::spin_to_direction ( const Angle target_angle,
const Locatable coordinate = Global 
)
virtual

指定した向きで停止させる

Parameters
[in]target_angel停止させる向き
spin_to_direction_image.svg

Implements hrk::Run_driver.

Examples:
follow_lines_stop.cpp, and spin_to_direction.cpp.
double Roomba_driver::distance_to_perpendicular ( const PositionF line,
const Locatable coordinate = Global 
)
virtual

ベクトルの始点を通る垂線とロボットとの距離を返す

垂線のベクトルが向いている側とは反対の方向にロボット位置がある場合は、返される距離は負の値になる。

distance_to_perpendicular_image.svg

Implements hrk::Run_driver.

Examples:
follow_lines_smooth.cpp, and follow_lines_stop.cpp.
void Roomba_driver::set_vacuum ( bool  on = true)

掃除機能の On/Off を設定する

Parameters
[in]onOn: true, Off: false

The documentation for this class was generated from the following files: