Windows 10 + VMware 16 + Ubuntu 20.04+ Noetic
台式机 + arduino UNO
下载的版本太老,是1.0.5的,编译时会报错
sudo apt-get install arduino
报错内容:
从官网下载: https://www.arduino.cc/,速度很慢
不好找Ubuntu版本的IDE安装包
Ubuntu software ——> 弹出snap商店——> 左上角 搜索 arduino
可以看到版本是1.8.19的,可以!下载速度也可以!
打开arduino IDE——>文件——>首选项——>项目文件位置
选择主目录下的一个文件夹,权限高!
打开blink示例,进行编译,编译成功后,arduino开发板的小灯一直闪烁说明IDE安装成功
sudo apt-get install ros-noetic-rosserial-arduino
sudo apt-get install ros-noetic-rosserial
打开一个终端,输入:
roscore
[PathToYourSketchbookLibraries] 指 项目文件位置
rosrun rosserial_arduino make_libraries.py [PathToYourSketchbookLibraries]
文件——>示例——> ros_lib ——> HelloWorld
IDE右下角显示串口号,我的是 ttyACM0,改成自己的
rosrun rosserial_python serial_node.py /dev/ttyACM0
示例内容是,arduino作为一个节点以/chatter 为话题向外输出 “hello world!”
用命令行查看话题内容和频率,没有问题!
rostopic echo /chatter
rostopic hz /chatter
文件——>示例——> ros_lib ——> Blink
代码解释: link
#include
#include ros::NodeHandle nh;void messageCb( const std_msgs::Empty& toggle_msg){digitalWrite(LED_BUILTIN, HIGH-digitalRead(LED_BUILTIN)); // blink the led
}ros::Subscriber sub("toggle_led", &messageCb );void setup()
{ pinMode(LED_BUILTIN, OUTPUT);nh.initNode();nh.subscribe(sub);
}void loop()
{ nh.spinOnce();delay(1);
}
IDE右下角显示串口号,我的是 ttyACM0,改成自己的
rosrun rosserial_python serial_node.py /dev/ttyACM0
用pub
rostopic pub toggle_led std_msgs/Empty --once
设置QT工具箱:使用rqt向话题发布消息: