openrr_apps_robot_command

openrr_apps_robot_commandではロボットにいくつかの司令を送ることができます。

openrr_apps_robot_command [OPTIONS] [SUBCOMMAND]
OptionsDescription
-c, --config-path <CONFIG_PATH>設定ファイルへのパス
--config <CONFIG>デフォルトまたは設定ファイルで指定した設定の上書き
-h, --helpヘルプの出力
-i, --interactive対話モードの使用
--log-directory <LOG_DIRECTORY>FileAppenderでログを出力するパスの指定
--show-default-configデフォルトの設定ファイルの出力
SubcommandsDescription
cancel_navigation_goalナビゲーションゴールのキャンセル
execute_command外部コマンドの実行
get_navigation_current_pose現在位置の出力
get_stateジョイントの姿勢と該当する手先位置の取得
helpヘルプの出力
list使用可能なクライアントの一覧を出力
load_commandsファイルからコマンドを読み込み実行
move_ikIKをもとに動く move_Ik
send_base_velocityベースの速度を送信 send_base_velocity
send_jointsジョイントの姿勢を送信 send_joints
send_joints_poseあらかじめ設定された姿勢の送信 send_joints_pose
send_navigation_goalナビゲーションゴールの送信 send_navigation_goal
shell_completionシェル補完ファイルの出力 shell_completion
speakテキストの発話

シミュレータ上でロボットを起動します。

urdf-viz ./openrr-planner/sample.urdf &

urdf_viz

そのあとコマンドを読み込みます。

openrr_apps_robot_command \
    --config-path ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml \
    load_commands ./openrr-apps/command/sample_cmd_urdf_viz.txt

例 (--config)

1つ前の例に--config引数を追加してみます。urdf-viz上で実行するのを見てもいいのですが、簡単のためにload_commandslistに変更しています。

urdf-viz ./openrr-planner/sample.urdf &
openrr_apps_robot_command \
    --config-path ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml \
    list

まず何もせずに実行すれば、先程の前半部分のような出力が得られます。

Raw joint trajectory clients
    r_arm
    l_arm
Joint trajectory clients
    r_arm
    r_arm_ik
    l_arm_collision_checked
    l_arm_ik
    r_arm_collision_checked
    l_arm
Collision check clients
    l_arm_collision_checked
    r_arm_collision_checked
Ik clients
    r_arm_ik
    l_arm_ik

--config引数では、--config-pathの内容を上書きすることができます。したがって、

urdf-viz ./openrr-planner/sample.urdf &
openrr_apps_robot_command \
    --config-path ./openrr-apps/config/sample_robot_client_config_for_urdf_viz.toml \
    --config openrr_clients_config.ik_clients_configs[0].name=\"user_defined_ik\" \
    list

とすると、

Raw joint trajectory clients
    l_arm
    r_arm
Joint trajectory clients
    l_arm
    r_arm_collision_checked
    l_arm_collision_checked
    r_arm
    r_arm_ik
    user_defined_ik
Collision check clients
    r_arm_collision_checked
    l_arm_collision_checked
Ik clients
    r_arm_ik
    user_defined_ik

というようにして左アーム用のIKクライアント名がuser_defined_ikに変更されました。もちろんこれは直接tomlファイルを書き換えることでも実現できます。

load_commandsのまま実行する場合は、openrr-apps/command/sample_cmd_urdf_viz.txt内のl_arm_ikuser_defined_ikに変える必要があります。

move_ikの使い方

openrr_apps_robot_command move_ik [OPTIONS] <NAME>

Name

IKクライアント名

Option

OptionsDescription
-d, --duration 到達までかける時間
-h, --helpヘルプの出力
-i, --interpolateデカルト座標系 補間 IKクライアント名を指定
-l, --local
--max_resolution_for_interpolation <MAX_RESOLUTION_FOR_INTERPOLATION>最大の補間分解能 (default 0.5)
--min_number_of_points_for_interpolation <MIN_NUMBER_OF_POINTS_FOR_INTERPOLATION>最小の補間点数 (default 10)
-r, --roll 目標のロール角
-p, --pitch 目標のピッチ角
--yaw 目標のヨー角
-x, --x 目標のx座標
-y, --y 目標のy座標
-z, --z 目標のz座標

send_base_velocityの使い方

openrr_apps_robot_command send_base_velocity [OPTIONS] <X> <Y> <THETA>

X

x方向の速度

Y

y方向の速度

Theta

角速度

OptionsDescription
-d, --duration_secs <DURATION_SECS>継続する時間
-h, --helpヘルプの出力

send_jointsの使い方

openrr_apps_robot_command send_joints [OPTIONS] <NAME>

Name

クライアント名

Option

OptionsDescription
-d, --duration 到達までかける時間
-h, --helpヘルプの出力
-i, --interpolate目標を直交座標系での補間する
-j, --joint ジョイント番号
--max_resolution_for_interpolation <MAX_RESOLUTION_FOR_INTERPOLATION>最大の補間分解能 (default 0.05)
--min_number_of_points_for_interpolation <MIN_NUMBER_OF_POINTS_FOR_INTERPOLATION>最小の補間点数 (default 10)

send_joints_poseの使い方

openrr_apps_robot_command send_joints_pose [OPTIONS] <NAME> <POSE_NAME>

Name

クライアント名

Pose name

ポーズ名

Option

OptionsDescription
-d, --duration 到達までかける時間
-h, --helpヘルプの出力

send_navigation_goalの使い方

openrr_apps_robot_command send_navigation_goal [OPTIONS] <X> <Y> <YAW>

Option

OptionsDescription
-f, --frame_id <FRAME_ID>
-h, --helpヘルプの出力
-t, --timeout_secs <TIMEOUT_SECS>タイムアウトまでの秒数

shell_completionの使い方

openrr_apps_robot_command shell_completion <SUBCOMMAND>

Subcommand

SubcommandDescription
bash
fish
helpヘルプの出力
power_shell
zsh