## 代碼組織
高斯機械臂的代碼在樹莓派的`~/Project/`目錄:
```
gauss@gauss-ros:~/Project/gauss_ws/src$ pwd
/home/gauss/Project/gauss_ws/src
gauss@gauss-ros:~/Project/gauss_ws/src$ ls
CMakeLists.txt gauss_vision rosbridge_suite rosgraph
gauss pilz_industrial_motion rosconsole
```
## 軟件架構

上圖為高斯機械臂的軟件架構圖。
1、圓角矩形為 ROS Package (ROS軟件包),gauss_commander、gauss_moveit、gauss_driver、gauss_rpi、gauss_tools為核心包。
gauss_python_api 提供Python api,gauss_user_interface提供blockly功能和手柄功能,gauss_userinterface的功能實現基本是調用了gauss_python_api實現的。
2、白色矩形為各個ROS包實現的功能,如gauss_driver 通過mcp_can_api和dynamixelsdk實現了SPI通信和串口通信。gaussrpi和gauss_tools通過GPIO實現了按鈕、LED、工具控制等功能。
3、藍色矩形為其他功能包,gauss_ikfast_gauss_arm_plugin為運動學逆解插件,gauss_msgs為自定義的ROS消息,gauss_description為機械臂的URDF描述文件等。
4、紫色矩形為整個機械臂的入庫文件以及全局的配置文件,可以通過這個功能包一鍵啟動所有功能包、啟動gauss_driver等。
- 引言
- 第一章 開關機和網絡配置
- 開關機和網絡連接
- 開機啟動腳本
- 多機通信
- 安裝必要的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
- 第八章 視覺抓取
- 第九章 常見問題