1. 程式人生 > >Ivp 第一個程式

Ivp 第一個程式

學MOOS一個月了,前置知識也沒有,也沒有人幫忙,好再終於有所突破,寫了第一個測試用的小程式,會了這個應付專案是足夠了,更高階的東西后期再去學習和使用。

寫的程式主要是搞明白客戶端怎麼執行的,以及客戶端之間怎麼通過MOOSDB傳輸資料。測試內容:一個客戶端傳送資料,並且在迭代裡執行一個儲存的小程式碼來測試執行方式。另一個客戶端訂閱並收取第一個客戶端的資料,收取成功會不斷存入另一個檔案。

個人是在moos-ivp-extend中實現的

首先建立兩個MOOSApp

一個 pOdometry 收取檔案 ;另一個 pReceive 傳送檔案

不要吐槽小編的英語啊,這名字是前期根據教程走的,走到一半發現走不動了,索性名字沒有改,所以就這樣了- -

建立完成以後src檔案裡多了兩個資料夾,之後將兩個檔案新增到Makelists.Txt中即可。

首先編輯pReceive檔案

1. Receive.h檔案

僅僅設定了兩個初始化函式和兩個變數:m_in表示接收訊息的字串,m_out為傳送訊息字串

2. Receive.cpp檔案

開始註冊了傳送函式,由於這個客戶端主要功能是用來發送資料,所以並沒有註冊接收,很簡單,設定了一個abc變數,每次迭代加1。

3.main.cpp

基本的設定,可以參考線

下面進入pOdometry來編輯檔案

1. Odometry.h檔案

同樣是一些基本的設定

2.Odometry.cpp

隨便列印了一些東西看看是否進入了迴圈和判斷句,把收到的abc資料存起來

這裡main.cpp就不拍了,和上面大同小異。

下面cd到moos-ivp-extend下,./build.sh進行編譯。

進入missions檔案  進入alpha檔案

編輯moos檔案

設定時間及傳遞變數的代號,這裡收發的代號必須相同才能夠成功收發。