【使用背景】
最近公司搞了一个室外无人车的项目,需要用到GPS组合惯导,但是这套传感器由于成本控制,它没有提供小程序或是APP之类的数据监测手段,只能通过一个Windows上位机软件去看GPS实时数据,这对于单人外场调试来说,确实是个不小的麻烦,本人实在是不想抱个笔记本跟着无人车在外面到处转悠。于是,我开始寻思,有没有一种办法可以把ROS消息发到一个网页上去,然后手机端直接进网页就能看到实时更新的ROS消息了呢?在网上小小的寻觅了一圈,发现还真有高手已经把这活儿给干了,而且还干得挺漂亮的。我们本着不重复造轮子浪费生命的态度,这里直接启动拿来主义。
【使用环境】
机器人端:Ubuntu 18.04 + ROS Melodic
移动端:安卓手机
网络:同一个WiFi下
【使用方法】
1、源码下载
必要:
sudo apt-get install python3-pip
sudo pip3 install tornado
sudo pip3 install rospkg
选装:(如果你不需要在网页上看图像类的话题,就不用安装)
sudo pip3 install simplejpeg
3、编译一下
catkin_make
4、启动命令
roslaunch rosboard rosboard.launch
5、确保手机和机器人连接的是同一个WiFi,打开手机浏览器输入下面网址
http://192.168.1.18:8888
注意:
192.168.1.18 这个地址需要改为你实际的机器人IP地址
6、在打开的网页左侧可以选择需要监控的话题
7、点击三个点符号,可以选择显示原始消息
【话题支撑】
1、对以下消息类型有设计专门的显示窗口
Twist
Image
Map
LaserScan
PointCloud2
Geometry
NavSatFix
2、对于其他消息或自定义消息也是支持原文显示的
【性能测试】
1、WIFI良好网络下,消息传输可以达到实时性,几乎没有延迟
2、不开图像或点云话题的情况下,只看日志类话题的话,网络带宽只占用不到 5K/s,CPU只占用不到单核的 2%