RoArm-M2-S 7. 基于 ROS2Web app 的 Web 应用
| ||||||||||||||||||||||
|
7. 基于 ROS2Web_app 的 Web 应用
本章节的 Web 应用与第六章节介绍的 Foxglove 无关,可以关闭除 roarm_driver 机械臂驱动节点以外的全部终端窗口,保证 roarm_driver 节点正常运行。
7.1 ROS2Web_app 项目简介
ROS2Web_app 是一个开源项目,它位于GitHub上。这个项目提供了一个基于 Web 的应用界面,允许用户通过网络浏览器与 ROS2 机器人进行交互。该应用利用了 Web 技术的便利性和广泛性,使得用户无需安装特殊的软件或硬件就能够操作和控制机器人。
ROS2Web_app 的主要功能包括显示机器人的状态信息,接收用户的控制指令,以及发送指令到机器人。此外,它还支持实时视频流,使用户能够实时查看机器人的画面。由于其基于 Web 的特性,ROS2Web_app 可以运行在任何支持现代 Web 浏览器的设备上,包括电脑、平板电脑和智能手机等。
ROS2Web_app 项目的代码开放在 GitHub 上,对于研究人员和开发者来说,这意味着他们可以自由地下载、修改和分发这个项目的代码。这为他们提供了一个强大的工具,用来开发和测试他们自己的ROS2机器人。
7.2 运行 Web 应用
按 Ctrl+Alt+T 打开一个新终端,进入机械臂 ROS2 的工作空间,运行 ROS2 的机械臂驱动节点:
cd ~/roarm_ws_em0/ ros2 run roarm_driver roarm_driver
打开第二个新终端,进入机械臂 ROS2 的工作空间,开启机械臂控制的相关节点:
cd ~/roarm_ws_em0/ ros2 launch moveit_servo demo.launch.py
打开第三个新终端,进入机械臂 ROS2 的工作空间,运行 ROS2 中的 Web 应用控制节点:
cd ~/roarm_ws_em0/ ros2 run roarm_moveit_cmd webappcontrol
打开第四个新终端,进入机械臂 ROS2 的工作空间,运行 ROS2Web 应用的服务器,用于将 Web 应用发布到局域网,同时获取到虚拟机的 IP:
cd ~/roarm_ws_em0/ ros2 web server --no-auth
打开第五个新终端,进入机械臂 ROS2 的工作空间,运行 Web 应用节点,用于构建应用:
cd ~/roarm_ws_em0/ ros2 run roarm_web_app roarm_web_app
然后在同一局域网的电脑上(也可以是运行虚拟机的电脑),打开谷歌浏览器,在地址栏输入虚拟机的 IP 地址+ :8080/roarm_web_app,例如:
http://192.168.10.104:8080/roarm_web_app
可以拖动这个 Web 页面上的圆点,让机械臂进行 XY 轴的控制。我们在这个 Web 页面中实现了比较简单的功能,布置了比较简单的组件,左侧的组件并不能使用上述的 Launch 来控制,用户可根据自己的需求来扩展这些组件的功能。