• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

ROS与Arduino:Arduino IDE的配置安装+实现简单串口通讯

人工智能 十啵 2311次浏览 0个评论

rosserial_arduino包可让ROS和ArduinoIDE一起工作 rosserial提供的ROS通讯协议工作在Arduino的UART上,它让Arduino成为标准的ROS节点,可以发布和订阅ROS消息,发布TF转换,获取ROS系统时间。   Arduino IDE安装   安装Arduino  

sudo apt-get install arduino

  安装ROS-SERIAL功能包  

sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial
rosstack profile

  安装ROS-SERIAL库到arduino中   首先需要打开Ardunio查看一下库程序的位置 下图的/home/shibo/sketchbook就是库在我电脑上的位置  
ROS与Arduino:Arduino IDE的配置安装+实现简单串口通讯   找好位置后,进入此空间复制库文件  

  cd sketchbook/libraries
  rm -rf ros_lib
  rosrun rosserial_arduino make_libraries.py .

  (此处注意最后面一个才书为“.”代表当前位置) 完成之后重启Arduino IDE就能看到ros_lib库了  
ROS与Arduino:Arduino IDE的配置安装+实现简单串口通讯   把下面这个代码烧进Arduino,也就是ros_lib中的helloword例程,我在下面给大家略微注释一下  

 /*
 * rosserial Publisher Example
 * Prints "hello world!"
 */
 //两个头文件,一个是ros.h头文件。这个是必需的。另一个是std_msgs/String.h头文件,是消息程序包。用于节点之间发送消息功能。
#include <ros.h>
#include <std_msgs/String.h> 

//创建节点句柄
ros::NodeHandle  nh;

// 声明一个消息对象str_msg。其参数为data内容为消息内容。
std_msgs::String str_msg;

// 发布一个话题,名字叫做chatter,消息内容
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 );//发布一个消息   话题.publish(&消息)
  nh.spinOnce();
  delay(1000);
}

  接下来打开终端 分别运行   1.把ros master请出来  

roscore

  2.新终端运行,/dev/ttyUSB0为Arduino设备  

rosrun rosserial_python serial_node.py /dev/ttyUSB0

  3.显示主题chatter,获取Arduino板反馈的信息  

rostopic echo chatter

 
ROS与Arduino:Arduino IDE的配置安装+实现简单串口通讯   可以看我下一篇:ROS中话题的订阅与发布+ROS下上位机与Arduino单片机通讯


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明ROS与Arduino:Arduino IDE的配置安装+实现简单串口通讯
喜欢 (0)

您必须 登录 才能发表评论!

加载中……