# 5.1. Jaguar 控制程式

**1. Jaguar Control 程式**

Jaguar Control 程式是使用 Visual Studio C＃在 .Net 3.5 框架下編寫的。你可以免費下載微軟的開發工具（Visual Studio 2008 Express under .NET 3.5 framework）。 請參閱 “Dr Robot Application Development Notes on C# Programming for Robot Control” 來了解有關詳細訊息。

控制程式使用的支援組件及程式庫，應在安裝 CD 安裝控制程式時就已安裝：

* AXIS Media Control Library Set：這些是 Jaguar 機器人使用的 AXIS 迷你攝影機（P/N：AXCAM-A）的攝影機控制組件。 有關詳細訊息，請參閱 “AXIS Media Control SDK Help”。

**2. Laser Scanner 雷射測距儀**

* 雷射測距儀（4m 版，URG-04LX）在電壓轉換後連接到 Ethernet 模組 -1 的 port 2。你可以通過 TCP port 10002 上使用 IP 192.168.0.60 來取得感測器數據。&#x20;
  * Hokuyo URG-04LX 雷射測距儀 serial port 的預設設定為：19200, 8, N, 1, no flow control, TCP, port number 10002。
* 對雷射測距儀 URG-04LX-UG01(5.6m 版) or UTM-30LX(30m 版)，其設定是：115200, 8, N, 1, no flow control, TCP, port number 10002
* 數據及通訊協定，可參考 URG-04LX commspec\_eg.pdf

**3. GPS**

* GPS 感測器的輸出介面是 RS232 serial port。預設的 serial port 設定是：115200, 8, N, 1, no flow control, TCP, port number 10002
* NMEA 0183 sentence 的敘述可在 GPS18x\_TechnicalSpecifications.pdf 找到。GPS 設定工具程式是 SNSRXCFG\_200.exe

**4. Manipulator Arm 機器手臂**

* 機器手臂由 2 個 RoboteQ SDC2130 控制板控制。
* 程式將通過 192.168.0.63，port 10001/10002 使用 TCP 協定進行通訊。&#x20;
* 你可以從 RoboteQ 網站找到手冊。你需要確認的事是，在驅動機器手臂時，沒有馬達會卡住，因為這種情況會造成過熱，因而燒毀馬達和/或馬達驅動板。
* **緊急停止的指令是 "!EX\r"，而解除的指令是 "!MG\r"**

| **關節號碼**                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p>Joint1 (Motor Driver board 1</p><p>channel 1)</p> | <p>編碼器 : One circle count is 5700</p><p>                Angle Resolution: 5700/ (2*PI)</p><p>此關節是在 position control 位置控制模式運作(mode 3): </p><p>舉例:</p><ul><li>Command : "!PR 1 -200\r" ，指令會驅動此關節往上。 </li><li>Command : "!PR 1 200\r"，指令會驅動此關節往下。</li><li>Command : "!P 1 -250\r"，指令會將此馬達驅動到編碼器位置 -250（請確保你知道位置在哪裡，而不會處於卡住的狀態） </li></ul><p>在控制板上，我們設置了該關節的電流限制。當電流超過 12A 或電流超過 7A 超過 1000ms 時，它將進入緊急停止狀態。 </p><p>你可以通過類比通道 3（AI 3）讀取溫度感測器。溫度感測器是B57164K103J，你可以從範例程式碼中，找到如何將讀數轉換為溫度。</p>        |
| <p>Joint2(Motor Driver board 1</p><p>channel 2)</p>  | <p>編碼器 : One circle count is 5700 </p><p>               Angle Resolution: 5700/ (2*PI) </p><p>此關節是在 position control 位置控制模式運作(mode 3): </p><p>舉例: </p><ul><li>Command : "!PR 2 -200\r" ，指令會驅動此關節往上。</li><li>Command : "!PR 2 200\r"，指令會驅動此關節往下。</li><li>Command : "!P 2 -250\r"，指令會將此馬達驅動到編碼器位置 -250（請確保你知道位置在哪裡，而不會處於卡住的狀態）</li></ul><p>在控制板上，我們設置了該關節的電流限制。當電流超過 8A 或電流超過 6A 超過 1000ms 時，它將進入緊急停止狀態。 </p><p>你可以通過類比通道 4（AI 4）讀取溫度感測器。</p><p>溫度感測器是 B57164K103J，你可以從範例程式碼中，找到如何將讀數轉換為溫度。</p> |
| Joint3(Motor Driver board 2 channel 1)               | <p>編碼器 : One circle count is 3724 </p><p>               Angle Resolution: 3724/ (2*PI) </p><p>此關節是在 position control 位置控制模式運作(mode 3): </p><p>舉例: </p><ul><li>Command : "!PR 1 -200\r" ，指令會驅動此關節往右。</li><li>Command : "!PR 1 200\r"，指令會驅動此關節往左。</li><li>Command : "!P 1 -250\r"，指令會將此馬達驅動到編碼器位置 -250（請確保你知道位置在哪裡，而不會處於卡住的狀態）</li></ul><p>在控制板上，我們設置了該關節的電流限制。當電流超過 8A 或電流超過 5A 超過 1000ms 時，它將進入緊急停止狀態。 </p><p>你可以通過類比通道 3（AI 3）讀取溫度感測器。</p><p>溫度感測器是 B57164K103J，你可以從範例程式碼中，找到如何將讀數轉換為溫度。</p> |
| Gripper(Motor Driver board 2 channel 2)              | <p>編碼器 : One circle count is 756 </p><p>               Angle Resolution: 756/ (2*PI) </p><p>此關節是在 open loop 模式運作(mode 0): </p><p>舉例: </p><ul><li>Command : "!G 2 -200\r" ，指令會驅動此爪手合起。</li><li>Command : "!G 2 200\r"，指令會驅動此爪手張開。</li><li>Command : "!G 2 0\r"，指令將停止此馬達。（確保在 Gripper 爪手達到其機構限制前，就發出此命令來停止爪手）</li></ul><p>在控制板上，我們設置了該關節的電流限制。當電流超過 2A 或電流超過 1A 超過 1000ms 時，它將進入緊急停止狀態。 </p><p>你可以通過類比通道 4（AI 4）讀取溫度感測器。</p><p>溫度感測器是 B57164K103J，你可以從範例程式碼中，找到如何將讀數轉換為溫度。</p>                  |



