对应高斯机械臂的不同使用者和开发者,我们提供以下几种开发方式:
### 使用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
- 第八章 视觉抓取
- 第九章 常见问题