5.2.2 数据展示
Web展示
功能介绍
Web展示用于预览摄像头图像(JPEG格式)和算法效果,通过网络将图像和算法结果传输到PC浏览器,然后进行渲染显示。该展示端还支持仅显示视频,而不渲染智能结果。
代码仓库:https://github.com/D-Robotics/hobot_websocket
支持平台
平台 | 运行方式 | 示例功能 |
---|---|---|
RDK X3, RDK X3 Module | Ubuntu 20.04 (Foxy), Ubuntu 22.04 (Humble) | 启动MIPI摄像头,并通过Web展示图像 |
RDK X5 | Ubuntu 22.04 (Humble) | 启动MIPI摄像头,并通过Web展示图像 |
RDK Ultra | Ubuntu 20.04 (Foxy) | 启动MIPI摄像头,并通过Web展示图像 |
X86 | Ubuntu 20.04 (Foxy) | 启动USB摄像头,并通过Web展示图像 |
准备工作
RDK平台
-
确认摄像头F37正确接到RDK上
-
确认PC可以通过网络访问RDK
-
确认已成功安装TogetheROS.Bot
X86平台
-
确认X86平台系统为Ubuntu 20.04,且已成功安装tros.b
-
确认USB摄像头接入主机USB插口,并可正常识别
使用方式
RDK平台
-
通过SSH登录RDK,启动板端相关程序
a. 启动mipi_cam
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 launch mipi_cam mipi_cam.launch.py mipi_video_device:=F37
b. 启动编码
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 launch hobot_codec hobot_codec_encode.launch.py
c. 启动websocket
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 launch websocket websocket.launch.py websocket_image_topic:=/image_jpeg websocket_only_show_image:=true
-
PC浏览器(chrome/firefox/edge)输入
http://IP:8000
,即可查看图像,IP为RDK IP地址。
X86平台
-
启动hobot_usb_cam节点
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bash# usb_video_device需要更改为实际usb摄像头video节点
ros2 launch hobot_usb_cam hobot_usb_cam.launch.py usb_image_width:=1280 usb_image_height:=720 usb_video_device:=/dev/video0 -
启动websocket节点
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash# 配置tros.b环境
source /opt/tros/humble/setup.bashros2 launch websocket websocket.launch.py websocket_image_topic:=/image websocket_only_show_image:=true
-
PC浏览器(chrome/firefox/edge)输入
http://IP:8000
,即可查看图像效果,IP为PC IP地址,若在本机访问,也可使用localhost。
注意事项
-
websocket需要使用8000端口,如果端口被占用,则会启动失败,解决方法如下:
-
使用
lsof -i:8000
命令查看8000端口占用进程,使用kill <PID>
关闭占用8000端口进程,然后重新启动websocket即可。 -
若用户不想停止当前正在占用8000端口的服务,可以修改
/opt/tros/${TROS_DISTRO}/lib/websocket/webservice/conf/nginx.conf
配置文件中的listen
端口号,改为大于1024且未使用的端口号。修改端口号后,浏览器端使用的URL也要同步修改。
-
HDMI展示
功能介绍
本章节介绍通过HDMI展示camera nv12图像的使用,RDK通过HDMI接显示器即可显示实时图像效果,对应于hobot_hdmi package。
代码仓库:https://github.com/D-Robotics/hobot_hdmi
支持平台
平台 | 运行方式 | 示例功能 |
---|---|---|
RDK X3, RDK X3 Module, | Ubuntu 20.04 (Foxy), Ubuntu 22.04 (Humble) | 启动MIPI摄像头,并通过HDMI展示图像 |
RDK X5 | Ubuntu 22.04 (Humble) | 启动MIPI摄像头,并通过HDMI展示图像 |
准备工作
RDK平台
-
RDK已烧录好Ubuntu 20.04/Ubuntu 22.04系统镜像。
-
RDK已成功安装TogetheROS.Bot。
-
RDK已HDMI连接显示器。
使用介绍
RDK平台
通过SSH登录开发板,启动板端相关程序:
- Foxy
- Humble
# 配置tros.b环境
source /opt/tros/setup.bash
# 配置tros.b环境
source /opt/tros/humble/setup.bash
使用RDK X5时, 需要额外使用下面命令:
# 关闭桌面显示
sudo systemctl stop lightdm
# 复制运行依赖
cp -r /opt/tros/${TROS_DISTRO}/lib/hobot_hdmi/config/ .
# HDMI图像渲染
ros2 launch hobot_hdmi hobot_hdmi.launch.py device:=F37
结果分析
在运行终端输出如下信息:
[INFO] [launch]: All log files can be found below /root/.ros/log/2022-07-27-15-27-26-362299-ubuntu-13432
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mipi_cam-1]: process started with pid [13434]
[INFO] [hobot_hdmi-2]: process started with pid [13436]
显示器显示图像如下:
RViz2展示
功能介绍
TogetheROS.Bot兼容ROS2 foxy/humble版本,为了方便预览图像效果,可以通过RViz2获取图像。