"ros/node_handle.h No such file"为Arduino添加ROS包出现问题的解决办法(官网似乎有错)
尽管网上有许多教程,但是我发现很多的表达都非常不清晰,甚至有些错误,在这里为大家纠正.实名diss官方文档http://wiki.ros.org/rosserial_arduino/Tutorials/Arduino IDE Setup
1.使用二进制/apt-get方式安装
sudo apt-get install ros-kinetic-rosserial-arduino
sudo apt-get install ros-kinetic-rosserial
2.复制到sketchbook的目录下
注意:在Arduino目录下,我发现了一个叫sketchbook的文件夹,但实际目录并不是这个。请以Arduino->File->Preferences->Sketchbook location:
中的地址为准
2.1 错误操作
这时,官网推荐直接使用使用命令
cp -r ros_lib [你的sketchbook地址]
但是你会发现ros_lib中只有很少文件
当在Arduino IDE中编译的时候会发现错误ros/node_handle.h No such file
2.2 正确操作
此时你应该使用以下命令进行操作
rosrun rosserial_arduino make_libraries.py [PathToYourSketchbookLibraries]
然后进入sketchbook中的ros_lib目录,可以发现出现了许多文件,且基本与ROS功能包相符合
重新进行编译,编译通过