Koch Robot¤
KochRobot
は、二腕ロボットシステムでカメラセンサーを統合したロボットです。
構成要素¤
ロボットアーム¤
- Leader Arm: 操作者が制御するアーム
- Follower Arm: Leaderの動きを追従するアーム
センサー統合¤
- カメラ: Webカメラ または Intel RealSenseカメラ対応
基本的な使用方法¤
設定の作成¤
from robopy.config.robot_config.koch_config import KochConfig
# 基本設定
config = KochConfig(
leader_port="/dev/ttyUSB0",
follower_port="/dev/ttyUSB1",
camera_config=None # カメラなし
)
カメラ付きの設定¤
from robopy.config.robot_config.koch_config import KochConfig
from robopy.config.sensor_config.visual_config import WebCameraConfig
# Webカメラ付き設定
config = KochConfig(
leader_port="/dev/ttyUSB0",
follower_port="/dev/ttyUSB1",
camera_config=WebCameraConfig(
device_id=0,
fps=30,
width=640,
height=480
)
)
ロボットの操作¤
from robopy.robots.koch.koch_robot import KochRobot
robot = KochRobot(config)
try:
# 接続
robot.connect()
# テレオペレーション(10秒間)
robot.teleoperation(duration=10)
finally:
robot.disconnect()
データ記録¤
# データ記録
obs = robot.record(max_frame=100, fps=5)
# 記録されたデータの確認
print(f"Leader アーム: {obs['arms']['leader'].shape}")
print(f"Follower アーム: {obs['arms']['follower'].shape}")
if obs['camera'] is not None:
print(f"カメラ: {obs['camera'].shape}")
記録データ構造¤
記録されるデータはKochObs
型で、以下の構造を持ちます:
{
"arms": {
"leader": np.ndarray, # (frames, joint_dims) - 関節角度など
"follower": np.ndarray, # (frames, joint_dims) - 関節角度など
},
"camera": np.ndarray | None, # (frames, H, W, C) - RGB画像 or None
}
関連クラス¤
KochConfig
- ロボット設定KochObs
- 観測データ型