> For the complete documentation index, see [llms.txt](https://idminer.gitbook.io/robotis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://idminer.gitbook.io/robotis/part-3.-robotis-op3-ren-xing-ji-qi-ren/5.-jiao-cheng/5.10.-zhi-neng-ma-da-du-xie-jiao-xue/5.10.2.-miao-shu/5.10.2.2.-ru-he-she-ding-guan-jie-zhuang-tai.md).

# 5.10.2.2. 如何設定關節狀態

**op3\_manager** 提供了一種使用以下兩種方&#x6CD5;**，來控**制機器人的每個關節的方式。

* **robotis\_controller**
  * 如果 robotis\_controller 的控制模式滿足以下兩個條件之一，則用戶可以使用 **/robotis/set\_joint\_states** 主題直接控制機器人的關節。
    * DirectControlMode
    * 在 MotionModuleMode 下沒有已啟用的模組
* **motion\_module** : **direct\_control\_module**
  * 用戶可以使用作為動作模組之一的 **direct\_control\_module**，來直接控制機器人的關節。用戶可以在動作模塊中實現功能。**direct\_control\_module** 具有簡單的自碰撞檢查（檢查終端工具和 COB 之間的距離）。控制機器人的主題名稱是 **/robotis/direct\_control/set\_joint\_states**。
  * 參考：SyncWriteItem&#x20;
  * Framework 提供了 **SyncWriteItem**，一種不定期寫入設備的方法。如果用戶發送名為 **/robotis/sync\_write\_item** 的 **SyncWriteItem** 消息，則 Framework 會嘗試使用這些消息同步寫入設備。
