凡科网网站后台建设,网站的维护和建设,做网站猫腻大吗,京津冀协同发展规划纲要全文 pdf【开发背景】
研究机器人目标检测算法的时候#xff0c;常常需要把推理图像实时展示出来#xff0c;以供观摩。而ROS1提供的跨机通信方法#xff0c;要么是配置单Master#xff0c;要么是配置多Master#xff1b;一方面配置麻烦#xff0c;另一方面传输效率低下#xf…【开发背景】
研究机器人目标检测算法的时候常常需要把推理图像实时展示出来以供观摩。而ROS1提供的跨机通信方法要么是配置单Master要么是配置多Master一方面配置麻烦另一方面传输效率低下特别是在无线网络环境下那叫一个鸡肋仿佛我只需要喝一杯水他却把整个太平洋给我搬来了一样。忍无可忍之下萌生了自己动手开发一个图像消息传输中间件的冲动于是乎“ image_zmqpp ” —— 应运而生了
【软件支持】
Ubuntu14.04 ROS Indigo
Ubuntu16.04 ROS Kinetic
Ubuntu18.04 ROS Melodic
Ubuntu20.04 ROS Noetic
【硬件支持】
X86架构
ARM架构
【依赖安装】
如果你的平台能够联网那么只需要运行一句话即可
sudo apt-get install libzmq3-dev
如果你的平台和我一样处于不那么方便联网的情况 那也不用担心只需要照着下面做即可
1、把我提供的功能包下载下来解压到任意一个ROS工作空间
2、找到 zmq_sup/third_party 路径下的 libzmq.tar.gz 压缩包并解压
3、在该目录下打开一个终端运行下面指令
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX/usr ..
sudo make install
4、然后便可以回到工作空间下进行 catkin_make 啦
【使用方法】
比如你有三个机器人A、B、C以及一台上位机
上位机这边需要运行
roslaunch image_zmqpp image_zmq_sub.launch
其中 launch 文件中的机器人个数以及IP地址等参数需要你根据实际情况做出修改
?xml version1.0?
launchnode pkgimage_zmqpp typeimage_zmqpp_sub respawnfalse namezmq_sub outputscreenparam nameip_num value3/param nameip_addr_1 valuetcp://192.168.30.26:5555/param nameip_addr_2 valuetcp://192.168.1.54:5555/param nameip_addr_3 valuetcp://192.168.1.55:5555/param nameimage_topic valueimg_zmq//node
/launch
机器人A、B、C上分别运行
roslaunch image_zmqpp image_zmq_pub.launch
这个launch文件中的IP地址也是要根据实际情况修改的
比如机器人A
?xml version1.0?
launchnode pkgimage_zmqpp typeimage_zmqpp_pub respawnfalse namezmq_pub outputscreenparam nameip_addr valuetcp://192.168.30.26:5555/param nameimage_topic valueimg_zmq//node
/launch
机器人B
?xml version1.0?
launchnode pkgimage_zmqpp typeimage_zmqpp_pub respawnfalse namezmq_pub outputscreenparam nameip_addr valuetcp://192.168.1.54:5555/param nameimage_topic valueimg_zmq//node
/launch
这样你只需要把图像话题改成需要传输的话题即可非常简单完成跨机WIFI图传
【效果一展】 【福利来了】
私信我拿源码