在嵌入式linux環境下,搭建ROS下位機

最近在ros官網上發現rosserial支持embeddlinux,於是對這個產生了很大的興趣,傳統大家都是用arduino來做下位機,通過串口的形式來做控制的,但是有時候我們的下位機可能需要很大的計算量,這時候用普通的單片機可能性能就不是很夠的了,因此我做這樣一個教程,通過給樹莓派編譯rosserial_embeddedlinux,實現通過網絡的形式給上位機發布消息。

首先我們要有一臺運行Ubuntu的電腦,並安裝好ROS和eclipse(編譯的ide)

首先我們安裝官方的教程,安裝好rosserial或者使用:

sudo apt-get install ros-kinetic-rosserial_embeddedlinux
sudo apt-get install ros-kinetic-rosserial

然後切換到隨便一個目錄,創建libraries:

  cd <some_directory>
  rm -rf ros_lib examples
  rosrun rosserial_embeddedlinux make_libraries.py .

這時候我們便擁有了嵌入式linux文件的庫文件,接下來就要把庫文件加入到eclipse上:

在此之前,我們要去樹莓派官方下載交叉編譯工具:

參考鏈接:Linux主機上實現樹莓派的交叉編譯及文件傳輸,遠程登陸

之後打開eclipse,創建c++項目

配置交叉編譯鏈:

接下來便是添加ros的庫文件了,在project->properties->c/c++ build->setting,給cross g++ compiler添加好庫文件

至此,編譯環境已經搭建完畢,接下來我編譯一個簡單的程序測試一下是否能正常運行;

在項目中新建一個cpp文件,然後把庫文件裏面的例子複製到cpp文件中:

其中要把ip地址改爲ros主節點的IP地址,把程序複製到樹莓派上,運行程序;

在電腦主機上輸入:

rosrun rosserial_python serial_node.py tcp

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章