Arduino ROS image消息发送失败分析
前期我在esp32上用Arduino ROS发送标准文本消息到ROS主机上成功显示,同时主机发送的文本消息内容也能在esp32连接的液晶屏上顺利显示。这次成功极大的鼓励了我,我又购买了esp-cam板卡,顺利的调试出自带的脸部识别等程序。但是在用ROS发送图片消息时,软件编译无任何错误,但是运行时,执行到发送图片消息时,esp32报错,报错的内容是超过了堆栈的大小。我查看了Arduin->libraries->ros_lib中Node Handle的定义,我发现buffer的大小为512字节,而任意一个图片就会超出buffer大小的限制。我查看了ROS其他发送图片的方法,我发现Arduino ROS中只有publisher的方法,而没有标准ROS中针对图像和视频流的发送方法,所以在目前的情况看通过Arduino Ros发送图片是不可行的。为了解决从esp-cam发送图片到pc的问题,我在pc端用python编写了爬虫程序获取esp-cam通过http方式显示的图片,曲线解决了发送图片的问题。
本作品采用 知识共享署名 4.0 国际许可协议进行许可。