はじめに
この記事は次のスマートファニチャープラットフォーム「カチャカ」APIマニュアルの「カチャカAPIライブラリ」までを自分のPCで実行して、いくつかの面白いサンプルプログラムを説明した記事です。
カチャカAPIとは
カチャカAPI(Application Programming Interface)とは、gRPCを意識せずにPythonで呼び出しを同期または非同期の開発を行えるライブラリです。ここでは同期ライブラリについて説明します。非同期は次のリンクをご覧ください。中の人に聞いた話では、カチャカAPIを使うのがお勧めだそうです。
使い方
次のリンクにJupyterLab用のコードがあるので各APIを動かしながら使い方を学べます。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()の実行例です。
続く。。。
コメント