# Client-Class Install ## 必要なファイル (尾原件が作成したソースコード) 1. [x_logger](https://github.com/ohara-lab-su/x_logger.git): ログファイル管理 2. [ese774_frame](https://github.com/ohara-lab-su/ese774_frame.git): コボッタ制御サーバーとの通信するためのフレームワーク(似非774版) 3. [cobotta2](https://github.com/ohara-lab-su/cobotta2.git): ORiN2 を用いたコボッタ制御サーバープログラム 4. [cobotta2_client](https://github.com/shimane-dev/cobotta2_client.git): コボッタサーバーと通信して、コボッタを制御するプログラムサンプル集 5. [cobotta_joypad](https://github.com/ohara-lab-su/cobotta2_joypad.git): JoyPad を用いてcobotta制御 (gRPCを用いた高速通信用) ## クライアントプログラムの利用 (cobotta server を使うための方法) スサノオプロジェクトで作成した ese774_frame/cobotta2 を用いた。 BL774方式の分散型(ただしくはただのサーバークライアント)ロボット制御を用いたコボッタ制御の例題を示す。 基本サンプル集 - [cobotta2_client](https://github.com/shimane-dev/cobotta2_client.git): コボッタサーバーと通信して、コボッタを制御するプログラムサンプル集 基本例題が揃っているので、ほぼ cobotta での捜査は網羅している。 以下簡単な例を抜粋 ## 現在の位置表示 (xyz表示) ```python import logging import asyncio from pathlib import Path import asyncio from cobotta2 import Config, MotionMode from cobotta2.server import AsyncCobottaClient from x_logger import XLogger # httpx のログを WARNING レベル以上にする(INFO を抑制) logging.getLogger("httpx").setLevel(logging.WARNING) #@pytest.mark.asyncio async def work(): HERE = Path(__file__).parent Config.load_yaml(HERE / "config_cobotta1.yaml") # Config.load_yaml("config_cobotta1.yaml") logger = XLogger(log_level="info", logger_name=Config.CLIENT_LOGGER_NAME) client = AsyncCobottaClient(config=Config, logger=logger) try: # busy_status などの問い合わせは take arm しないほうがいい。 result = await client.current_position() logger.info(type(result)) logger.info(result) except Exception as e: print(e) assert "result" == "result" # send_command("unknown") # これはエラーになる if __name__ == "__main__": asyncio.run(work()) ``` ## 基本移動内部の座標移動 --- ## 作者 - Kengo NAKADA