カチャカでロボカップ5:カチャカAPIとは♪

はじめに

この記事は次のスマートファニチャープラットフォーム「カチャカ」APIマニュアルの「カチャカAPIライブラリ」までを自分のPCで実行して、いくつかの面白いサンプルプログラムを説明した記事です。

カチャカAPIとは

カチャカAPI(Application Programming Interface)とは、gRPCを意識せずにPythonで呼び出しを同期または非同期の開発を行えるライブラリです。ここでは同期ライブラリについて説明します。非同期は次のリンクをご覧ください。中の人に聞いた話では、カチャカAPIを使うのがお勧めだそうです。

使い方

次のリンクにJupyterLab用のコードがあるので各APIを動かしながら使い方を学べます。APIがたくさんあるので、この記事ではAPI名だけを紹介しています。プログラムでの使い方は次のリンクを記事を実行してください。

API仕様

 

API紹介

ここでは良く使いそうなAPIを紹介します。依存ライブラリのインストール、モジュールのインポート、実際のコードは上のリンクを見てください。なお、サンプルコードは、kachaka_api.KachakaApiClientクラスを使いカチャカのAPIをメソッド呼び出して実行しています。

  • ロボットシリアル番号の取得:get_robot_serial_number()
  • ソフトウェアバージョンの取得:get_robot_version()
  • デフォルト目的地IDの取得:get_default_location_id()
  • 家具情報一覧の取得:get_shelves()
  • 家具の移動:move_shelf(“家具ID”,”目的地ID”)
  • 家具の片付け:return_shelf(“家具ID”)
  • 家具を置く:undock_shelf()
  • 目的地への移動:move_to_location(“目的ID”)
  • 充電ドックに戻る:return_home()
  • 家具を載せる:dock_shelf()
  • 音声の発話:speak(“発話したい文字列”)
  • マップ上座標への移動:move_to_pose(x[m], y[m], yaw[rad])
  • 実行中のコマンドキャンセル:cancel_command()
  • 実行中のコマンド状態の取得:is_command_running()
  • 実行中のコマンドの取得:get_running_command()
  • 最後に実行されたコマンド結果の取得:get_last_command_result()
  • コマンド履歴の取得:get_history_list()
  • 自動充電のオン・オフの切り替え:set_auto_homing_enable(True/False)
  • 手動操作モードへの変更:set_manual_control_enabled(True)
  • 手動操作モードの確認:get_manual_control_enabled()
  • 速度指令:set_robot_velocity(並進速度[m/s], 角速度[rad/s])
  • マップ上の姿勢取得:get_robot_pose()
  • マップ情報の取得:get_png_map()
  • LiDAR点群情報の取得:get_ros_laser_scan()
  • IMU情報の取得:get_ros_imu()
  • オドメトリ情報の取得:get_ros_odometry()
  • フロントカメラ情報の取得:get_front_camera_ros_camera_info()
  • フロントカメラ画像の取得:get_front_camera_ros_compressed_image()
  • 物体検出結果の取得:get_object_detection()

下図はget_ros_laser_scan()の実行例です。

LiDAR点群の取得例

続く。。。

コメント

タイトルとURLをコピーしました