對應高斯機械臂的不同使用者和開發者,我們提供以下幾種開發方式:
### 使用Python API開發
[Python API ](https://github.com/TonyRobotics/gauss/blob/master/gauss_python_api/src/gauss_python_api/gauss_api.py)隱藏了底層的ROS通信,是最上層的代碼封裝。使用Python API ,無需 ROS的相關知識,只需要使用Linux系統,并在上面安裝rospy和gauss_python_api包。
此種方式適用于Python入門和學習者,即希望使用Python操作機械臂執行運動規劃和使得末端工具執行動作。
注:由于rospy只能在Linux上使用,所以不能在Windows系統上使用。
所有的Python API在:
`
gauss_python_api/src/gauss_python_api/gauss_python_api.py
`
使用python api 與機械臂通信,則可以使用以下代碼模板:
```python
#!/usr/bin/env python
import rospy
from gauss_python_api.gauss_api import Gauss
import time
rospy.init_node('gauss_example_python_api')
n = Gauss()
try:
# Your code here
except Exception as e:
print e
```
### 使用Blockly開發
此種方式是使用 Studio 內置的編輯器來操作機械臂,適用于編程初學者,可以通過此種方式了解編程的基本概念,學習循環、條件、邏輯、跳轉指令等。
內部機制是:瀏覽器產生 xml 文件,然后發送到 nodejs server,通過blockly庫的模板產生了 Python 代碼,最終產生了 Python 代碼并執行,執行過程不能中斷。
### 借助 rosbridge_suite 使用 js等語言開發
對于非ROS開發者,只提供了 Python版本的API,其他語言如 js 等可以通過` rosbridge_suite`來開發。
[rosbridge_suite](http://wiki.ros.org/rosbridge_suite) 是一個 ROS 包。它將 ROS 的服務和話題等轉換為 json,然后通過啟動了 Websocket 對外提供服務。用于Websocket是一個通用技術,其他語言就可以和機械臂通信了。 而且可以開發各種跨平臺的應用,如Android、win32程序等。
比如可以使用roslibjs庫,Gauss Studio 就是通過此種方式實現與機械臂通信的。
### 使用ROS API 開發
如果你是一個ROS開發者或者Moveit! 的學習者,你可能更希望了解機械臂的底層通信機制。由于高斯機械臂底層都是通過ROS 實現的通信框架,所以你很方便地使用ROS API開發。
- 引言
- 第一章 開關機和網絡配置
- 開關機和網絡連接
- 開機啟動腳本
- 多機通信
- 安裝必要的ROS包
- 第二章 軟件架構
- 第三章 機械臂模型
- 第四章 Python API
- calibrate_auto
- learning_mode
- move_joints
- move_pose
- gripper
- air_vacuum_pump
- electromagnet
- 第五章 ROS接口
- 示教模式
- 關節空間
- 笛卡爾空間
- 運動規劃
- 工具控制
- 自定義消息
- 重新校準
- 自動校準
- 硬件狀態
- 第六章 參數說明
- rpi_ros_processes
- gauss_motors
- robot_command_validation
- stepper_params
- gauss_driver
- end_effectors
- 第七章 launch文件
- rpi_setup
- controllers
- robot_commander
- user_interface
- 第八章 視覺抓取
- 第九章 常見問題