Q&Aを気軽に聞くところ #55
Replies: 49 comments 97 replies
-
|
回答を投稿になってますがここに気軽に質問を、書いていただければスレッドで答えられそうです |
Beta Was this translation helpful? Give feedback.
-
|
現在、API経由でカチャカの操作を行っていますが、1点確認させていただきたいことがあります。 https://github.com/pf-robotics/kachaka-api/blob/main/python/kachaka_api/generated/kachaka_api_pb2.pyi#L221 上記を気にしている背景は、スマホからの操作の場合、カチャカのバッテリー残量が少なくなるとerror code 23002が通知->エラーの項目に表示されるかと思います。 もし、バッテリー残量に関するerror codeを取得する方法がありましたらご教授いただけますと幸いです。 |
Beta Was this translation helpful? Give feedback.
-
|
先日に引き続きの質問となってしまい恐縮ですが、1点教えていただきたいことがございます。 現在、API経由で夜間にカチャカを走行し続けるコードの実装を進めており、大方の実装が済み夜間の走行ができています。
このエラーの原因は、カチャカ再起動によりgRPCがshutdownしてしまっていることが原因かと思いますが、これを回避するような方法はございますでしょうか? |
Beta Was this translation helpful? Give feedback.
-
|
早速v2.3.8でback_cameraを確認してみようと、カチャカ本体およびkachaka_apiを更新しましたが、ROS2でうまくback_cameraのトピックが出ていないようです。 |
Beta Was this translation helpful? Give feedback.
-
|
カチャカのフロントカメラの画像取得に関して少し気になることがあったため、ご存じでしたら教えていただきたく。 暗所モードでカチャカを動作させ、目的地に到達できなかったらフロントカメラの画像を取得というコードを実装しているのですが、私がこれまで確認した限りでは以下のようになっているように見えています。 ・充電ドックから動き出し、1回目の画像取得(撮影)時には、LEDライトが走行時よりも少し明るくなる。 問い合わせした背景としては、夜間にカチャカを動かしており、LEDライトが消えている状態だとフロントカメラの画像を取得してもほぼ真っ暗な画像しか取得できないため、対策などあればご教授いただけますと幸いです。 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になります。 kachaka-api/blob/main/python/demosの カチャカ(A)からexpし、カチャカ(B)へimportを行ったところ、map情報が作られてましたが、 ルーティン情報は想定外だったのですが、これは意図されている動きでしょうか? よろしくお願いします。 |
Beta Was this translation helpful? Give feedback.
-
|
初めまして。 cd ~/ros2_ws ではtopic一覧が表示されますが cd ~/ros2_ws を実行しても表示されません(エラーは出ません) ROS2(humble)やDockerのインストールは公式サイト通りです。 解決策をごご教示頂けますでしょうか。 |
Beta Was this translation helpful? Give feedback.
-
|
カチャカのルーティンの機能について教えていただきたいのですが、 現在アプリのルーティンで月~金曜日の決まった時間にコマンドが動くようルーティンをアプリで設定しているのですが、祝日はコマンドを実行しないようAPIで操作は可能でしょうか。 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 「APIとして欲しい機能」の方に「エラーの取得」とありますが、現在のAPIでは、 上述をJupyter Labから動かしたら、API側でエラー出力がありませんでしたが、カチャカから目的地にたどり着けません |
Beta Was this translation helpful? Give feedback.
-
|
ROSのGmappingなどで生成した、 kachaka-api/protos/kachaka-api.proto Lines 83 to 90 in c93042c もしもなにか良い方策があればご教示いただけますと幸いです。 ※もしくは20 ~ 30m 四方の長い廊下でうまく地図を作成するコツなどございましたら伝授いただきたく |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 get_png_mapでマップ情報を取得すると同様に、アプリで設定したカチャカの侵入禁止エリアをpythonで取得することはできますでしょうか? |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 社内のフロアを自動巡回をさせておりますが、(3段)シェルフが複数台ある事から そこで質問なのですが、 1.シェルフ自体に正の向き、逆の向きはありますでしょうか? 2.シェルフが本来とは逆向きに設置されていた場合、API上で判別して #仕様等を勘違いしていたらご指摘ください。 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になります。 image = client.get_front_camera_ros_compressed_image() |
Beta Was this translation helpful? Give feedback.
-
|
早速の回答ありがとうございます。
画像中のオフセットということは、撮られた画像の
中での四角い枠の位置ということですね。
当方の目的としては対象物がマップのどこにあるかを
知りたいと言うことですが、この値からは導き出せませんね。
2024年6月12日(水) 15:54 inabas-pfr ***@***.***>:
… 画像中のオフセットを示す値です。検出したものを画像中で四角で囲うイメージをお持ちいただけますと幸いです。
https://github.com/pf-robotics/kachaka-api/blob/main/python/demos/get_object_detection.ipynb
—
Reply to this email directly, view it on GitHub
<#55 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A5MI6CTYTJ2Q6EXSA5Y2EZTZG7WAZAVCNFSM6AAAAAA4ZXFKSCVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TONBXGYYDE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
|
カチャカアプリで、家具・積荷寸法設定画面に寸法入力をしているのですが、表示されている単位がcmになっていますが、こちらcmであっていますでしょうか。 デフォルトが450などになっているのでmmが正しいのかなと考えております。 |
Beta Was this translation helpful? Give feedback.
-
|
カチャカに家具(シェルフ)を登録して運ぶ機能を使っています。カチャカ初期地点が充電ドックになっていて、バーコードが認識できる程度に離した状態で手前にシェルフがあった場合、シェルフ登録後にドッキングする際、充電ドックをなぎ倒してしまう現象があります。カチャカは地図上における充電ドックの位置姿勢を内部で持っているはずなのでドッキング時に充電ドックにぶつからないようにする対応を検討頂きたいです。 |
Beta Was this translation helpful? Give feedback.
-
|
確認事項 アプリ上では充電器付近はおそらく指定できないようになっているため、gRPCのAPI上でも充電器付近を指定した場合に許容されないのであればエラーにしたほうが良いかと思いますがいかがでしょうか。 確認時の状況 |
Beta Was this translation helpful? Give feedback.
-
|
以下のフローでコマンドを実行すると、MoveToPoseCommandが実行されないケースがあります。 環境
現象以下のフローで実行した場合に、最後のMoveToPoseCommandが無視される。
再現コードimport sys
import grpc
import kachaka_api_pb2
from kachaka_api_pb2_grpc import KachakaApiStub
import asyncio
async def charge_battery(stub):
"""
ロボットのバッテリーを充電します.
"""
charge_command = kachaka_api_pb2.Command(
return_home_command=kachaka_api_pb2.ReturnHomeCommand()
)
req = kachaka_api_pb2.StartCommandRequest(
command=charge_command
)
response = await stub.StartCommand(req)
if not response.result.success:
print('Failed to start charging battery')
raise Exception('Failed to start charging battery')
print('Started charging battery')
return response
async def stop_robot(stub):
"""
現在の動作コマンドをキャンセルし、ロボットを停止させます.
"""
request = kachaka_api_pb2.EmptyRequest()
response = await stub.CancelCommand(request)
if not response.result.success:
print('Failed to stop robot')
raise Exception('Failed to stop robot')
return response
async def navigate(stub, x: float, y: float, yaw: float):
"""
ロボットを指定された座標に移動させます.
"""
command = kachaka_api_pb2.Command(
move_to_pose_command=kachaka_api_pb2.MoveToPoseCommand(
x=x, y=y, yaw=yaw
)
)
response = await stub.StartCommand(
kachaka_api_pb2.StartCommandRequest(command=command)
)
if not response.result.success:
print('Failed to start navigation')
raise Exception('Failed to start navigation')
return response
async def main():
"""
ロボットのバッテリー充電、停止、ナビゲーションを順に実行します.
"""
async with grpc.aio.insecure_channel(sys.argv[1]) as channel:
stub = KachakaApiStub(channel)
try:
await charge_battery(stub)
await asyncio.sleep(3) # n秒待機
await stop_robot(stub)
x, y, yaw = 5.0, -3.0, 0.5
await navigate(stub, x, y, yaw)
print("All operations completed successfully.")
except Exception as e:
print(f"An error occurred: {e}")
# エントリーポイント
if __name__ == "__main__":
asyncio.run(main())その他
|
Beta Was this translation helpful? Give feedback.
-
|
カチャカプロ (version 3.9.7)の自動充電機能について質問があります。 ①アプリの設定にて自動で充電ドックに戻る機能をオフにしている状態で、MoveToPoseCommandを繰り返し実行しバッテリー残量がなくなりかけたときに充電ドックに戻る動作が起きました。 |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 APIのコマンドについて、以下ご教授いただけないでしょうか。 ■やりたいこと get_locationsで場所のIDや名称が取得できることは認識しており、
|
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 走行中などにシェルフが外れたことを取得することができるAPIはございますでしょうか。 シェルフが外れた際に、カチャカ側でシェルフが外れましたと発話するためカチャカ側では状態を管理しているかと思います。 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 APIでフロント/バックLEDライトの点灯制御は可能でしょうか。 ※ver3.0.14で対応したとありますが、LED関連のメソッドが見当たりません。 以上よろしくお願いいたします。 |
Beta Was this translation helpful? Give feedback.
-
|
Windowsにkachaka-apiを入れようとするとエラーになります |
Beta Was this translation helpful? Give feedback.
-
|
Kachaka本体の JupyterLab で netstat -l を確認したところ 26400 port を LISTENING していないようなのですが、 カチャカAPIを有効化するはオンにしてありますし、26501 の JupyterLab はアクセスできます。 やろうとしていることは Windows の Python から get_history_list() 等を取得したいです。 |
Beta Was this translation helpful? Give feedback.
-
|
APIで"get_locations"を使用して目的地一覧を取得しているのですが、7か所登録しているはずなのに、目的地2か所と充電ドックのIDしか取得できていません。これはマップが複数あることが原因なのでしょうか。または、インターネットに接続した状態で目的地の登録を行わないとAPIに反映されないのでしょうか。 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。Kachaka APIの利用について2点質問があります。
現在、シェルフの上にカメラ付きの小型ロボットを載せて運用しています。ドッキング後、この小型ロボットが向いている方向と、Kachaka(シェルフ)が向いている方向を一致させたいと考えています。 もしドッキング方向の指定や取得ができない場合、この問題を解決するための代替案やアプローチについて、何かアドバイスをいただけますと幸いです。 よろしくお願いいたします。 |
Beta Was this translation helpful? Give feedback.
-
|
ソフトウェアリリースによると、2025/10/10時点でカチャカソフトウェアはv3.13.9が最新となっています。
|
Beta Was this translation helpful? Give feedback.
-
|
お世話になります、Kachakaについてですが、走行するルートに物があった場合、物を迂回して回避するのではなく、 |
Beta Was this translation helpful? Give feedback.
-
|
お世話になっております。 Kachakaへの要求としては、kachaka_apiの他機能を踏襲して以下のように ~/python/kachaka_api/base.py
---
...
class Pose2d(TypedDict):
x: float
y: float
theta: float
def import_image_as_map(
self, target_file_path: str, chunk_size: int = 1024 * 1024, charger_pose: Pose2d=None, resolution: float = None
) -> tuple[pb2.Result, str]:
def request_iterator() -> Iterator[pb2.ImportImageAsMapRequest]:
try:
pose = pb2.Pose(x=charger_pose["x"], y=charger_pose["y"], theta=charger_pose["theta"])
with open(target_file_path, mode="rb") as file:
while True:
chunk: bytes = file.read(chunk_size)
if not chunk:
break
yield pb2.ImportImageAsMapRequest(data=chunk, charger_pose=pose, resolution=resolution)
except Exception as e:
print("Error :", e)
raise
response: pb2.ImportImageAsMapResponse = self.stub.ImportImageAsMap(
request_iterator()
)
return response.result, response.map_id呼び出し側 ~/python/test.py
import kachaka_api
client = kachaka_api.KachakaApiClient(target="hoge")
MAP_FILE="local_path"
...
pose = client.Pose2d(x=8.54, y=3.75, theta=0.0)
response = client.import_image_as_map(target_file_path=MAP_FILE, charger_pose=pose, resolution=0.01)
print(f"response: {response}")※応答はsuccessが返ってきております。 |
Beta Was this translation helpful? Give feedback.







Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
カチャカのFAQはこちら https://kachaka.zendesk.com/hc/ja/categories/5484183913871-FAQ-%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%94%E8%B3%AA%E5%95%8F-
Beta Was this translation helpful? Give feedback.
All reactions