ROS下位机不只是stm32与arduino,嵌入式linux环境搭建与实现

2019-07-13 01:52发布

最近在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++项目 配置交叉编译链: 接下来便是添加ros的库文件了,在project->properties->c/c++ build->setting,给cross g++ compiler添加好库文件 至此,编译环境已经搭建完毕,接下来我编译一个简单的程序测试一下是否能正常运行; 在项目中新建一个cpp文件,然后把库文件里面的例子复制到cpp文件中: 其中要把ip地址改为ros主节点的IP地址,把程序复制到树莓派上,运行程序; 在电脑主机上输入: rosrun rosserial_python serial_node.py tcp