# 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 會嘗試使用這些消息同步寫入設備。
