原文:http://wiki.ros.org/rosserial_arduino/Tutorials
说明:本教程逐步介绍如何设置Arduino IDE以使用rosserial。
教程级别: BEGINNER
下一个教程: Hello World(示例发布者)
内容
介绍
Arduino和Arduino IDE是快速轻松编程硬件的绝佳工具。 使用rosserial_arduino包,您可以直接在Arduino IDE中使用ROS。rosserial提供了一个适用于Arduino UART的ROS通信协议。 它允许您的Arduino成为一个完整的ROS节点,可以直接发布和订阅ROS消息,发布TF转换,并获得ROS系统时间。
注意:如果您还没有安装Arduino IDE,请从Arduino网站下载。 最好将应用程序安装到应用程序PATH,桌面或主文件夹的文件夹中。 安装后,启动应用程序以选择您的速写本位置。 (参见arduino官方网站 ,sketchbook是存储程序或草图的标准位置)。 完成后关闭IDE。
我们的ROS绑定是作为Arduino库实现的。 像所有Arduino库一样, ros_lib通过将其库实现放入sketchbook的libraries文件夹中来工作。 如果您的sketchbook中还没有库文件夹,请创建一个。 然后,您可以使用以下说明安装库。
注意:为了在你自己的代码中使用rosserial库,你arduino 的 ino文件必须先放
#include <ros.h>
在包括任何其他头文件之前,例如
#include <std_msgs / String.h>
否则Arduino IDE将无法找到它们。
安装软件
在ROS工作站上安装
您有2个如何安装相关库的选项。
(推荐)在ROS工作站上安装二进制文件
您可以通过运行以下命令为Arduino安装rosserial:
sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial
将kinetic替换为您正在安装的版本的名称:例如hydro。
从Source安装到ROS工作站
groovy +(catkin)的源构建说明与早期(rosbuild)版本不同。 根据您的版本选择构建系统以查看适当的说明。
catkin rosbuild
自从groovy发布以来,Rosserial已经被淘汰了,工作流程与fuerte和早期版本有点不同。 您可以运行一次并为所有已安装的消息生成库,而不是在要使用的每个程序包上运行库生成器。 在下面的说明中,<ws>表示您的catkin工作区。
cd <ws> / src
git clone https://github.com/ros-drivers/rosserial.git
cd <ws>
catkin_make
这些命令从github存储库克隆rosserial,生成通信所需的rosserial_msgs,并在<ws> / install目录中创建ros_lib库。
注意:目前您必须运行catkin_make install,否则将丢失ros_lib目录的部分内容。 希望很快就能解决这个问题。
将ros_lib安装到Arduino环境中
前面的安装步骤创建了ros_lib,必须将其复制到Arduino构建环境中,以使Arduino程序能够与ROS交互。
在下面的步骤中,<sketchbook>是Linux Arduino环境保存草图的目录。 通常,这是您的主目录中名为sketchbook或Arduino的目录。 或者,您可以安装到Windows Arduino环境中。
对于groovy源(catkin)而言,Ros_lib安装说明与早期(rosbuild)或二进制版本不同。 请确保您已选择上面正确的构建系统以查看适当的说明 - 否则为groovy源构建catkin,否则为rosbuild。
注意:您必须删除libraries / ros_lib才能重新生成,因为它的存在会导致错误。
cd <sketchbook> / libraries
rm -rf ros_lib
rosrun rosserial_arduino make_libraries.py。
如果要在Windows上构建Arduino,则需要在某个方便的目录中创建ros_lib文件夹。
cd <some_empty_directory>
rosrun rosserial_arduino make_libraries.py。
如果要在Windows上构建Arduino,请将ros_lib目录从Linux复制到Windows系统的sketchbook / libraries文件夹(通常位于“我的文档”中)。
*注意:目前您可以直接在Arduino IDE中安装Arduino库。 只需从Sketch - > Include Library - > Manage Library中的IDE菜单打开Library Manager。 然后搜索“rosserial”。 如果您需要处理Arduino草图但不想设置完整的ROS工作站,这将非常有用。
整理起来
重新启动IDE后,您应该看到示例中列出的ros_lib:
或者在windows之中: