一、安装环境
1.安装Arduino
sudo apt-get install arduino
2.启动arduino并进行相关设置
arduino
3.安装软件包rosserial arduino
sudo apt-get install ros-melodic-rosserial-arduino
sudo apt-get install ros-melodic-rosserial
4.把ros_lib文件复制到arduino libraries里
我们要把ros的库放到arduino的库里,在你的电脑文件里分别找到ros_lib文件和libraries文件的位置,并进行复制,来启用二者的通信。
在ros_lib文件路径下打开新的终端:
sudo cp -r ros_lib /usr/share/arduino/libraries/
检查此时的ros_lib包,会发现里面文件很少,之后编译会出现错误ros/node_handle.h No such file
我就是出现了这样的错误,不用担心,再主目录下或打开新终端输入:
rosrun rosserial_arduino make_libraries.py [PathToYourSketchbookLibraries]
此时主目录会出现这个文件,按上面的方法将新的ros_lib复制到arduino libraries里就可以了。
重新打开arduino,在sketch->import library查看是否添加了ros_lib的库。
二、创建hello world话题
#include <ros.h>
#include <std_msgs/String.h>
ros::NodeHandle nh;
std_msgs::String str_msg;
ros::Publisher chatter("chatter", &str_msg);
char hello[13] = "hello world!";
void setup()
{
nh.initNode();
nh.advertise(chatter);
}
void loop()
{
str_msg.data = hello;
chatter.publish( &str_msg );
nh.spinOnce();
delay(1000);
}
上传之后我们打开ROS查看消息,运行roscore
roscore
打开新终端运行节点,此时arduino就相当于ROS上的一个结点:(插上板子,在串口那儿查看自己的串口,我的是/dev/ttyACM0)
rosrun rosserial_python serial_node.py /dev/ttyACM0
再打开新终端,查看当前话题发布的消息
rostopic echo /chatter
成功创建ROS与Arduino之间的通信,之后再更新啦!
评论(0)
您还未登录,请登录后发表或查看评论