基本制御方法

前提

  • コボッタサーバーが立ち上がっている

コボッタサーバーを使って制御する基本

まず困ったら、get_current_positon() で確認。 通信の確認のもある。tame_arm や motor_on を要求されない。

import asyncio

from cobotta2 import Config
from cobotta2.server import AsyncCobottaClient
from x_logger import XLogger

async def main():
    Config.load_yaml("config_cobotta1.yaml")
    logger = XLogger(log_level="info", logger_name=Config.CLIENT_LOGGER_NAME)
    client = AsyncCobottaClient(config=Config, logger=logger)

    result = await client.get_current_position()
    print(result)


if __name__ == "__main__":
    asyncio.run(main())

YAML の呼び出し方

呼び出しかた二つ。 用いているデバイスサーバーが一つの時。つまり、プログラムで config が一つの時は インスタンス化しなくても使える。

Config.load_yaml("config_cobotta1.yaml")
client = AsyncCobottaClient(config=Config, logger=logger)

プログラム中で config が二つ以上ある時(電子天秤とcobotta)など

config_cobotta = Config("config_cobotta1.yaml")
config_aandd = Config("config_aandd_reader.yaml")
cobotta = AsyncCobottaClient(config=config_cobotta, logger=logger)
aandd = AsyncCobottaClient(config=config_aandd, logger=logger)

のように使う。

制御サーバーを立ち上げるための設定など

  • server_fastapi 以下 (FastAPIを用いたサーバ)


作者

  • Kengo NAKADA