# ROS-I的框架、功能理解
參考系列博客:https://blog.csdn.net/u012424737/category_7361921.html
## simple_message實現分析
這裏的名稱爲相應的文件名,其中定義了相應的類;
simple_message協議是分散在不同的命名空間之中定義的,但所有的定義皆隸屬於namespace simple_message命名空間
### 實現分析一
shared_types.h //定義了simple_message要使用的基本數據類型的字節長度,最基礎的一個文件
log_wrapper.h //包含用於封裝 標準日誌調用 的宏。封裝的日誌調用宏 允許在ROS框架內外使用;通過宏對提示信息進行輸出比使用函數更加簡單
### 實現分析二
最底層的字節數組處理;
byte_array.h //ByteArray類封裝了simple_message對字節數組進行處理的方法
simple_serialize.h //SimpleSerialize是一個虛基類,用於向ByteArray類加載或卸載類的對象,以構建ByteArray類對象
simple_message.h //SimpleMessage類,專門進行消息協議的處理,對信息格式進行封裝與檢查
### 實現分析三
數據結構的定義
joint_data //關節數據
joint_traj_pt //關節軌跡點數據
joint_traj_pt_full //joint_traj_pt升級版,包含的信息更加全面
joint_traj //JointTraj類封裝了與機器人關節軌跡相關的成員變量及對應的處理方法
joint_feedback //封裝關節反饋數據的類。該數據表示每個機器人關節的當前狀態,包括位置/速度/加速度。
### 實現分析四
robot_status //機器人運行狀態、上電狀態、錯誤信息等
comms_fault_handler //CommsFaultHandler類是一個虛基類,定義通信故障處理程序接口。定義可以處理的通信故障類型,以及在特定故障條件下應該執行的回調函數。
typed_message //虛基類;用於創建各種類型的簡單消息
### 實現分析五
smpl_msg_connection.h //針對通信連接的簡化類進行說明
simple_comms_fault_handler.h //對連接狀態的檢查以及自動恢復連接的功能,即連接錯誤處理器的功能。
### 實現分析六
對消息處理句柄與管理器的相關代碼進行一下講解
message_handler.h //根據接收到的消息執行後面的具體的回調函數
ping_message.h //用來測試通信信道是否暢通
ping_handler.h //用以迴應ping消息
message_manager.h //通過其通信連接接收simple message類型消息,然後執行對應的回調函數。
### 實現分析七
均繼承自繼承自TypedMessage類,數據成員爲相應的數據結構
joint_message.h
joint_traj_pt_message.h
joint_traj_pt_full_message.h
joint_feedback_message.h
robot_status_message.h
### 實現分析八
simple_socket.h
tcp_socket.h
tcp_client.h
tcp_server.h
udp_socket.h
udp_client.h
udp_server.h
## industrial_robot_client 分析理解
### 分析理解一
### 分析理解二
### 分析理解三