UR

目次

  • URCtrl 制御マニュアル
    • 設計思想
      • 主目的
      • ロボット共通 I/F の考え方
      • 共通 I/F と実装の分離
      • COBOTTA は基準ではなく既存実装の一つ
      • BL774 型・SPring-8 互換
      • 単位の方針
      • 成功・失敗の方針
      • 未対応機能の方針
    • 共通 I/F と BL774 型システム
      • ロボット単体 API ではない
      • BL774 型の意味
      • SPring-8 互換
      • 共通 API の対象範囲
      • サーバー化との関係
    • クイックスタート
      • 最小接続
      • 現在位置と現在関節角
      • 現在位置から Z+10 mm
      • 教示点 P1 を作る
      • P1 へ移動する
      • LINE で P1 へ移動する
      • IO を出す
      • エラーを見る
    • 単位と座標表現
      • 公開単位
      • UR 内部単位
      • P 座標
      • rotation vector
      • J 座標
      • speed / accel
      • デフォルト値
    • 接続と初期化
      • コンストラクタ
      • config
      • Dashboard
      • connect()
      • disconnect()
      • with 文
    • 仮想変数 P/I/F/IO
      • 基本
      • 属性アクセス
      • get_var() / set_var()
      • P 変数
      • teach()
      • I / F
      • IO
      • is_empty_position()
    • 移動 API
      • MotionMode
      • move()
        • P 文字列
        • P 数値列
        • J 数値列
      • 内部変換
      • move_path()
      • dev()
      • pose_trans()
      • p2j() / j2p()
      • drive()
      • stop()
    • 状態監視
      • current_position
      • current_angle
      • state()
      • robot mode
      • safety status bits
      • motion_complete()
      • wait_for_complete()
    • IO と TCP
      • set_IO()
      • get_IO()
      • get_digital_input()
      • set_tcp()
      • set_tool() / set_tool_define()
      • get_current_tool()
      • safety limit
    • エラー処理と復旧
      • 方針
      • error_code
      • error_description
      • get_current_error_info()
      • reset_error()
      • turn_on_motor()
      • turn_off_motor()
      • 注意
    • API Reference
      • 接続
        • URCtrl(...)
        • connect() -> bool
        • disconnect() -> bool
        • reconnect() -> bool
        • is_connected() -> bool
        • get_version() -> str
      • 変数
        • get_var(kind_or_combined, id_num=None)
        • set_var(kind_or_combined, id_or_value, value=None)
        • get_P(id_num) / set_P(id_num, value)
        • teach(kind_or_combined="P", id_num=None, save=True)
        • get_I() / set_I() / get_F() / set_F()
      • 設定
        • set_motion_mode() / get_motion_mode()
        • set_coord_type() / get_coord_type()
        • set_speed() / get_speed()
        • set_jspeed() / get_jspeed()
        • set_accel() / get_accel()
        • set_decel() / get_decel()
      • 状態
        • current_position
        • current_angle
        • state()
        • is_running()
        • motion_complete()
        • wait_for_complete(timeout=None, interval=0.02)
      • 移動
        • move(target, ...)
        • move_path(targets, ...)
        • drive(target, relative=False, ...)
        • dev(base, offset)
        • pose_trans(base, offset)
        • p2j(p_type_pos) / j2p(j_type_pos)
        • stop() / halt() / task_stop() / hand_stop()
      • IO / TCP
        • set_IO(id_num, value) / get_IO(id_num)
        • get_digital_input(id_num)
        • set_tcp(tcp)
        • get_current_tool()
        • is_pose_within_safety_limits(pose)
        • is_joints_within_safety_limits(joints)
      • エラー
        • get_current_error_info()
        • reset_error()
        • turn_on_motor() / turn_off_motor()
      • 未対応
    • チュートリアル
      • 1. 研究用スクリプトの基本形
      • 2. 教示点を作る
      • 3. 教示点へ移動する
      • 4. 測定位置へ直線移動する
      • 5. 退避する
      • 6. IO と組み合わせる
      • 7. 状態を見て止める
      • 8. 実験シーケンスに組み込む
    • 実装差分と移植方針
      • 方針
      • 変数管理
      • 状態監視
      • エラー情報
      • no-op と未対応
      • BL774 / SPring-8 接続
    • 目的
    • URCtrl の位置づけ
    • 目次
    • 最小例
    • 作者
  • UR ドライバ、制御ドキュメント
    • UR ロボットを低次元から制御するためのマニュアル
      • 第1章 URロボット制御を始める
        • 本章について
      • 1.1 Universal Robotsとは
      • 1.2 CBシリーズとe-Series
        • CBシリーズ
        • e-Series
      • 1.3 Pythonから制御する方法
      • 1.4 公式 RTDE とは
      • 1.5 SDU Robotics ur_rtde
      • 1.6 Dashboard Server との違い
      • 1.7 本ドキュメントで使用する構成
      • 次章
      • 第2章 インストールと接続設定
        • 本章について
      • 2.1 システム構成
      • 2.2 必要なソフトウェア
      • 2.3 OSごとのインストール
        • Windows
        • Ubuntu
        • macOS
      • 2.4 ロボットのIPアドレス
      • 2.5 通信確認
      • 2.6 Remote Controlとは
      • 2.7 Remote Controlの有効化
      • 2.8 Remote Mode
      • 2.9 Pythonから接続
      • 2.10 Receive Interface
      • 2.11 IO Interface
      • 2.12 よくあるエラー
        • Please enable remote control on the robot!
        • Connection refused
        • Robot is not running
        • Protective Stop
      • 2.13 接続確認チェックリスト
      • 次章
      • 第3章 RTDE と ur_rtde のアーキテクチャ
        • 本章について
      • 3.1 Universal Robots 公式 RTDE
      • 3.2 SDU Robotics ur_rtde
      • 3.3 RTDEControlInterface の実体
      • 3.4 RTDEReceiveInterface
      • 3.5 RTDEIOInterface
      • 3.6 Dashboard Server
      • 3.7 Primary / Secondary Interface
      • 3.8 URCtrl での役割分担
      • まとめ
      • 第4章 RTDEControlInterface
        • 本章について
      • 4.1 RTDEControlInterface とは
      • 4.2 Move命令の分類
      • 4.3 moveJ
        • 引数
        • 利点
        • 欠点
      • 4.4 moveL
        • 引数
      • 4.5 moveJとmoveLの違い
      • 4.6 moveP
      • 4.7 加速度
      • 4.8 速度
      • 4.9 非同期実行
      • 4.10 停止命令
      • 4.11 戻り値
      • 4.12 推奨パターン
      • 4.13 ur_ctrl.pyでの利用
      • まとめ
      • 第5章 RTDEReceiveInterface
        • 本章について
      • 5.1 Receive Interfaceとは
      • 5.2 インスタンス生成
      • 5.3 関節角度取得
      • 5.4 関節速度
      • 5.5 TCP位置取得
      • 5.6 TCP速度
      • 5.7 TCP Force
      • 5.8 Robot Mode
      • 5.9 Safety Mode
      • 5.10 Runtime State
      • 5.11 Digital Input
      • 5.12 Digital Output
      • 5.13 Joint Temperature
      • 5.14 動作完了判定
      • 5.15 停止判定
      • 5.16 wait_move() の考え方
      • 5.17 監視ループ
      • 5.18 RTDEReceive の特徴
      • まとめ
      • 第6章 RTDEIOInterface
        • 本章について
      • 6.1 I/Oとは
      • 6.2 IOの種類
      • 6.3 RTDEIOInterface
      • 6.4 Standard Digital Output
      • 6.5 Standard Digital Input
      • 6.6 Tool Digital Output
      • 6.7 Tool Digital Input
      • 6.8 Analog Output
      • 6.9 Analog Input
      • 6.10 グリッパ制御例
      • 6.11 トグル動作
      • 6.12 MoveとIOを組み合わせる
      • 6.13 入力待ち
      • 6.14 IO制御の注意点
      • 6.15 ur_ctrl.pyでの実装
      • まとめ
      • 第7章 Dashboard Server
        • 本章について
      • 7.1 Dashboard Serverとは
      • 7.2 接続ポート
      • 7.3 コマンド送信
      • 7.4 電源投入
      • 7.5 Brake Release
      • 7.6 Program Load
      • 7.7 Program Play
      • 7.8 Pause
      • 7.9 Stop
      • 7.10 Shutdown
      • 7.11 Robot Status
      • 7.12 Program Status
      • 7.13 Safety Status
      • 7.14 Protective Stop
      • 7.15 Protective Stop解除
      • 7.16 Safety Popup
      • 7.17 Typical Recovery Sequence
      • 7.18 RTDEとの役割分担
      • 7.19 ur_ctrl.pyでの利用
      • 7.20 自動運転の基本シーケンス
      • まとめ
      • 第8章 moveJ
        • 本章について
      • 8.1 moveJ とは
      • 8.2 動作イメージ
      • 8.3 TCPはどう動くか
      • 8.4 利用用途
      • 8.5 引数
      • 8.6 q
      • 8.7 speed
      • 8.8 acceleration
      • 8.9 asynchronous
      • 8.10 戻り値
      • 8.11 Blend Radius
      • 8.12 到達判定
      • 8.13 Joint Limit
      • 8.14 衝突判定
      • 8.15 moveJの長所
      • 8.16 moveJの短所
      • 8.17 moveLとの比較
      • 8.18 推奨用途
      • まとめ
      • 第9章 moveL
        • 本章について
      • 9.1 moveLとは
      • 9.2 moveJとの違い
      • 9.3 TCPとは
      • 9.4 Pose
      • 9.5 姿勢
      • 9.6 内部処理
      • 9.7 Inverse Kinematics
      • 9.8 特異点
      • 9.9 speed
      • 9.10 acceleration
      • 9.11 Blend
      • 9.12 加工用途
      • 9.13 moveLが向かない用途
      • 9.14 到達不能
      • 9.15 姿勢変化
      • 9.16 moveJとの使い分け
      • 9.17 よくある失敗
      • 9.18 ur_ctrl.pyでの実装
      • 9.19 moveJとmoveLの選択指針
      • まとめ
      • 第10章 speedJ と speedL
        • 本章について
      • 10.1 Move命令との違い
      • 10.2 speedJとは
      • 10.3 引数
      • 10.4 qd
      • 10.5 time
      • 10.6 speedL
      • 10.7 speedL例
      • 10.8 speedStop
      • 10.9 速度制御の特徴
      • 10.10 利用例
      • 10.11 Moveとの比較
      • 10.12 よくある失敗
      • 10.13 ur_ctrl.pyでの設計
      • まとめ
      • 第11章 servoJ と servoL
        • 本章について
      • 11.1 moveJとの違い
      • 11.2 servoJ の考え方
      • 11.3 基本構文
      • 11.4 q
      • 11.5 dt
      • 11.6 lookahead_time
      • 11.7 gain
      • 11.8 speed と acceleration
      • 11.9 毎周期送る理由
      • 11.10 servoStop()
      • 11.11 servoL
      • 11.12 moveJとの比較
      • 11.13 speedJとの違い
      • 11.14 ジョイスティック制御
      • 11.15 Visual Servo
      • 11.16 通信遅延
      • 11.17 よくある失敗
      • 11.18 ur_ctrl.pyでの設計
      • 11.19 servoJを使うべき場面
      • まとめ
      • 第12章 Force Mode
        • 本章について
      • 12.1 位置制御と力制御
      • 12.2 Force Mode の用途
      • 12.3 基本構成
      • 12.4 基本API
      • 12.5 task_frame
      • 12.6 selection_vector
      • 12.7 wrench
      • 12.8 force_type
      • 12.9 limits
      • 12.10 Force Mode 中の動作
      • 12.11 荷重取得
      • 12.12 終了
      • 12.13 よくある用途
        • コネクタ挿入
        • ボタン押し
        • 面追従
      • 12.14 注意事項
      • 12.15 moveJとの違い
      • 12.16 ur_ctrl.pyでの設計
      • まとめ
      • 第13章 Freedrive Mode
        • 本章について
      • 13.1 Freedriveとは
      • 13.2 ティーチングとの関係
      • 13.3 Teach PendantでのFreedrive
      • 13.4 Pythonから開始
      • 13.5 終了
      • 13.6 位置取得
      • 13.7 教示プログラム例
      • 13.8 COBOTTAとの違い
      • 13.9 Payload設定
      • 13.10 Safety
      • 13.11 Remote Controlとの関係
      • 13.12 e-Series
      • 13.13 CBシリーズ
      • 13.14 典型的な利用例
      • 13.15 Pythonサンプル
      • 13.16 ur_ctrl.pyでの実装
      • まとめ
      • 第14章 座標系(Base・TCP・Tool・Feature)
        • 本章について
      • 14.1 なぜ座標系が必要か
      • 14.2 Base座標
      • 14.3 Tool座標
      • 14.4 TCP
      • 14.5 TCP設定
      • 14.6 Pose
      • 14.7 単位
      • 14.8 Rotation Vector
      • 14.9 なぜEuler角ではないか
      • 14.10 Base座標での移動
      • 14.11 Tool座標での移動
      • 14.12 BaseとToolの違い
      • 14.13 Feature座標
      • 14.14 ワーク座標
      • 14.15 座標変換
      • 14.16 poseTrans()
      • 14.17 poseInv()
      • 14.18 よくある失敗
      • 14.19 ur_ctrl.pyでの設計
      • 14.20 実運用での考え方
      • まとめ
      • 第15章 順運動学と逆運動学
        • 本章について
      • 15.1 関節空間と直交座標空間
      • 15.2 順運動学(Forward Kinematics)
      • 15.3 逆運動学(Inverse Kinematics)
      • 15.4 なぜ複数解があるのか
      • 15.5 Wrist Flip
      • 15.6 moveL が難しい理由
      • 15.7 到達不能
      • 15.8 Joint Limit
      • 15.9 特異点(Singularity)
      • 15.10 手首特異点
      • 15.11 肘特異点
      • 15.12 moveJ と moveL の違い
      • 15.13 getInverseKinematics()
      • 15.14 Forward Kinematics
      • 15.15 Safety Check
      • 15.16 典型的な利用例
      • 15.17 ur_ctrl.pyでの実装
      • 15.18 よくあるトラブル
      • まとめ
      • 第16章 Safety・Protective Stop・エラー復旧
        • 本章について
      • 16.1 URの状態
      • 16.2 Robot Mode
      • 16.3 Runtime State
      • 16.4 Safety Mode
      • 16.5 Protective Stop
      • 16.6 Emergency Stop
      • 16.7 Safeguard Stop
      • 16.8 Fault
      • 16.9 エラー判定
      • 16.10 Dashboardによる復旧
      • 16.11 推奨復旧シーケンス
      • 16.12 RuntimeError
      • 16.13 Moveの戻り値
      • 16.14 wait_move()
      • 16.15 reset_error()
      • 16.16 turn_on_motor()
      • 16.17 自動復旧
      • 16.18 状態監視スレッド
      • 16.19 ur_ctrl.pyでの設計
      • 16.20 実運用での推奨フロー
      • まとめ
    • 作者
  • ur
    • ur package
      • Config
        • Config.BCAP_PORT
        • Config.CLIENT_LOGGER_NAME
        • Config.COBOTTA_IP
        • Config.JOYPAD_INTERVAL
        • Config.JOYPAD_LOGGER_NAME
        • Config.JOYPAD_PORT
        • Config.LOGGER_LEVEL
        • Config.ROBOT_IP
        • Config.ROBOT_VAR_FILE
        • Config.SERVER_IP
        • Config.SERVER_LOGGER_NAME
        • Config.SERVER_PORT
        • Config.TIMEOUT
        • Config.UR_DEFAULT_BLEND_RADIUS
        • Config.UR_MAX_JOINT_ACCELERATION
        • Config.UR_MAX_JOINT_SPEED
        • Config.UR_MAX_LINEAR_ACCELERATION
        • Config.UR_MAX_LINEAR_SPEED
        • Config.UR_USE_DASHBOARD
        • Config._load_yaml()
        • Config._resolve_path()
        • Config.load_yaml()
      • MotionMode
        • MotionMode.CIRCLE
        • MotionMode.LINE
        • MotionMode.PTP
        • MotionMode.SPLINE
      • UrCtrl
        • UrCtrl._VAR_NAME_RE
        • UrCtrl.accel
        • UrCtrl.approach()
        • UrCtrl.autocal()
        • UrCtrl.busy_status
        • UrCtrl.change_tool()
        • UrCtrl.change_work()
        • UrCtrl.check_error()
        • UrCtrl.clear_log()
        • UrCtrl.clear_servo_log()
        • UrCtrl.connect()
        • UrCtrl.coord_type
        • UrCtrl.current_angle
        • UrCtrl.current_position
        • UrCtrl.decel
        • UrCtrl.delete()
        • UrCtrl.dev()
        • UrCtrl.direct_mode
        • UrCtrl.disconnect()
        • UrCtrl.drive()
        • UrCtrl.error_code
        • UrCtrl.error_description
        • UrCtrl.extaccel
        • UrCtrl.extdecel
        • UrCtrl.extspeed
        • UrCtrl.get_F()
        • UrCtrl.get_I()
        • UrCtrl.get_IO()
        • UrCtrl.get_J()
        • UrCtrl.get_P()
        • UrCtrl.get_accel()
        • UrCtrl.get_all_var()
        • UrCtrl.get_check_ik()
        • UrCtrl.get_coord_type()
        • UrCtrl.get_current_angle()
        • UrCtrl.get_current_error_info()
        • UrCtrl.get_current_pose()
        • UrCtrl.get_current_position()
        • UrCtrl.get_current_tool()
        • UrCtrl.get_current_tool_no()
        • UrCtrl.get_current_work_no()
        • UrCtrl.get_decel()
        • UrCtrl.get_direct_mode()
        • UrCtrl.get_error()
        • UrCtrl.get_error_code()
        • UrCtrl.get_error_count()
        • UrCtrl.get_error_description()
        • UrCtrl.get_error_info()
        • UrCtrl.get_extaccel()
        • UrCtrl.get_extdecel()
        • UrCtrl.get_extspeed()
        • UrCtrl.get_jspeed()
        • UrCtrl.get_log_count()
        • UrCtrl.get_log_record()
        • UrCtrl.get_motion_complete()
        • UrCtrl.get_motion_mode()
        • UrCtrl.get_motion_preparation()
        • UrCtrl.get_path_blend()
        • UrCtrl.get_speed()
        • UrCtrl.get_task_status()
        • UrCtrl.get_tool()
        • UrCtrl.get_tool_define()
        • UrCtrl.get_var()
        • UrCtrl.get_version()
        • UrCtrl.get_work()
        • UrCtrl.give_arm()
        • UrCtrl.halt()
        • UrCtrl.hand()
        • UrCtrl.hand_close()
        • UrCtrl.hand_open()
        • UrCtrl.hand_stop()
        • UrCtrl.init_hand()
        • UrCtrl.is_connected()
        • UrCtrl.is_empty_position()
        • UrCtrl.is_running()
        • UrCtrl.j2p()
        • UrCtrl.jspeed
        • UrCtrl.lock
        • UrCtrl.motion_complete()
        • UrCtrl.motion_mode
        • UrCtrl.move()
        • UrCtrl.p2j()
        • UrCtrl.path_blend
        • UrCtrl.print_error()
        • UrCtrl.print_error_info()
        • UrCtrl.reconnect()
        • UrCtrl.release_arm()
        • UrCtrl.remove_extension()
        • UrCtrl.reset_error()
        • UrCtrl.rotate()
        • UrCtrl.run_script()
        • UrCtrl.servo_on
        • UrCtrl.set_F()
        • UrCtrl.set_I()
        • UrCtrl.set_IO()
        • UrCtrl.set_J()
        • UrCtrl.set_P()
        • UrCtrl.set_accel()
        • UrCtrl.set_check_ik()
        • UrCtrl.set_coord_type()
        • UrCtrl.set_decel()
        • UrCtrl.set_extaccel()
        • UrCtrl.set_extdecel()
        • UrCtrl.set_extspeed()
        • UrCtrl.set_jspeed()
        • UrCtrl.set_motion_mode()
        • UrCtrl.set_path_blend()
        • UrCtrl.set_speed()
        • UrCtrl.set_tool()
        • UrCtrl.set_tool_define()
        • UrCtrl.set_var()
        • UrCtrl.set_work()
        • UrCtrl.speed
        • UrCtrl.start_log()
        • UrCtrl.start_servo_log()
        • UrCtrl.state()
        • UrCtrl.stop()
        • UrCtrl.stop_log()
        • UrCtrl.stop_servo_log()
        • UrCtrl.take_arm()
        • UrCtrl.task
        • UrCtrl.task_state
        • UrCtrl.task_stop()
        • UrCtrl.teach()
        • UrCtrl.turn_off_motor()
        • UrCtrl.turn_on_motor()
        • UrCtrl.wait_for_complete()
      • Subpackages
        • ur.hand package
        • ur.server_fastapi package
      • Submodules
      • ur.config module
        • Config
      • ur.robot_var_manager module
        • RobotVarManager
      • ur.server module
      • ur.ur_ctrl module
        • UrCtrl
      • ur.ur_error module
        • UrError
        • UrPrimaryErrorReceiver
      • ur.ur_rtde module
        • UrRtde
      • ur.ur_util module
        • MotionMode
UR
  • ur
  • ur package
  • ur.server_fastapi package
  • View page source

ur.server_fastapi package

Subpackages

  • ur.server_fastapi.clients package
    • Submodules
    • ur.server_fastapi.clients.async_ur_client module
    • ur.server_fastapi.clients.sync_ur_client module
  • ur.server_fastapi.models package
    • Submodules
    • ur.server_fastapi.models.common module
    • ur.server_fastapi.models.io module
    • ur.server_fastapi.models.motion module
    • ur.server_fastapi.models.move module
    • ur.server_fastapi.models.tool module
    • ur.server_fastapi.models.var module
  • ur.server_fastapi.routers package
    • Submodules
    • ur.server_fastapi.routers.ur_router_ctrl module

Submodules

ur.server_fastapi.make module

ur.server_fastapi.spec_ctrl module

Previous Next

© Copyright .

Built with Sphinx using a theme provided by Read the Docs.