在嵌入式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 
  rm -rf ros_lib examples
  rosrun rosserial_embeddedlinux make_libraries.py .

这时候我们便拥有了嵌入式linux文件的库文件,接下来就要把库文件加入到eclipse上:

在此之前,我们要去树莓派官方下载交叉编译工具:

参考链接:Linux主机上实现树莓派的交叉编译及文件传输,远程登陆

之后打开eclipse,创建c++项目

在嵌入式linux环境下,搭建ROS下位机_第1张图片

配置交叉编译链:

在嵌入式linux环境下,搭建ROS下位机_第2张图片

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

在嵌入式linux环境下,搭建ROS下位机_第3张图片

至此,编译环境已经搭建完毕,接下来我编译一个简单的程序测试一下是否能正常运行;

在项目中新建一个cpp文件,然后把库文件里面的例子复制到cpp文件中:

在嵌入式linux环境下,搭建ROS下位机_第4张图片

其中要把ip地址改为ros主节点的IP地址,把程序复制到树莓派上,运行程序;

在电脑主机上输入:

rosrun rosserial_python serial_node.py tcp

在嵌入式linux环境下,搭建ROS下位机_第5张图片

你可能感兴趣的:(ROS,嵌入式系统,ROS,嵌入式linux,树莓派,rosserial,交叉编译)