RoArm-M2-S 7. 基于 ROS2Web app 的 Web 应用

来自Waveshare Wiki
跳转至: 导航搜索
RoArm-M2-S
{{{name2}}}
{{{name3}}}
功能简介
特性 RoArm-M2-S 机械臂
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 TTL总线舵机控制接口 I2C UART

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

M2-S运行Web应用.png

打开第五个新终端,进入机械臂 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

M2-S运行Web应用1.png

可以拖动这个 Web 页面上的圆点,让机械臂进行 XY 轴的控制。我们在这个 Web 页面中实现了比较简单的功能,布置了比较简单的组件,左侧的组件并不能使用上述的 Launch 来控制,用户可根据自己的需求来扩展这些组件的功能。

RoArm-M2-S ROS2 Humble + Moveit2 教程