当前位置:   article > 正文

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

arduino 鸿蒙

osserial_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就是库在我电脑上的位置

302a9c68a5ebfb0b5cbb836c5dd7dc14.png

找好位置后,进入此空间复制库文件

cd sketchbook/libraries

rm -rf ros_lib

rosrun rosserial_arduino make_libraries.py .

此处注意最后面一个才书为“.”代表当前位置)

完成之后重启Arduino IDE就能看到ros_lib库了

cadeaba98015f0f025cbd79457012a21.png

把下面这个代码烧进Arduino,也就是ros_lib中的helloword例程,我在下面给大家略微注释一下

/*

* rosserial Publisher Example

* Prints "hello world!"

*/

//两个头文件,一个是ros.h头文件。这个是必需的。另一个是std_msgs/String.h头文件,是消息程序包。用于节点之间发送消息功能。

#include

#include

//创建节点句柄

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

8cf08e969cfe6a741034470d9ba9fdca.png

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/302944
推荐阅读
相关标签
  

闽ICP备14008679号