VR遥操作机械臂是一种将虚拟现实技术与机械臂控制相结合的系统,使用户可以通过虚拟现实设备操控和交互实际的机械臂。这种技术可以应用于多个领域,包括远程操作、培训、危险环境中的工作等。
双臂人形机器人是一种模拟人体上半身结构,包括头部、躯干和双臂的机器人。这种机器人设计的目标是模仿人类的上半身动作和功能,以执行各种任务,从而在虚拟现实(VR)领域中有广泛的应用。
合虚拟现实和人型机器人可以为许多领域带来创新和改进,提高用户体验,扩展应用领域,促进技术的发展。这种结合使得虚拟和现实之间的交界更加模糊,为未来创造了令人兴奋的可能性。
硬件介绍
Mecury X1
这是一款名为“Mercury X1”的人形机器臂,由Elephant Robotics 精心研发。17个自由度(DOF),使其具有极高的灵活性和适应性。工作电压为24V,配备了一个9英寸的量子点触控屏,既现代又高效。Mercury X1最大工作半径为450毫米,最大负载能力为1公斤,净重8公斤,非常适合轻量级的操作任务。
它的重复定位精度高达±0.05毫米,意味着它在进行精密作业时非常可靠。机器人的寿命预计为5000小时,表明了其出色的耐用性。主控制单元采用了Jetson Xavier,辅助控制则由ESP32*1负责,这样的配置保证了其强大的数据处理能力和稳定的控制性能。还包含了碳纤维外壳材料,使得机器臂不仅坚固耐用,同时也轻便。它装备了Orbbec Deeyea 3D摄像头和一个具有4个麦克风的线性阵列声音模块,能够进行高效的视觉和声音处理。通信方面,支持WIFI、Ethernet、蓝牙、USB端口和RS485,兼容ROS1/ROS2,这意味着它能够轻松集成到各种智能制造和研究环境中。
VR Oculus Quest 2
是由Facebook的子公司Oculus VR开发的一款虚拟现实(VR)头戴设备。Quest 2有开发者模式,它允许开发者直接在设备上安装和测试自己开发的应用。主要是由游戏引擎unity和unreal engine平台支持。
VR控制机器人项目
软件架构和交互设计
VR遥操作首先要解决的问题就是操作者和机器人的通信问题,在这方面我选择的是基于HTTP协议的通信,服务器选择Flask。虽然选择Python可能会对性能产生不利影响,但是因为Mercury机器人提供的Python SDK——pymycobot是Python的库,因此Python作为开发语言是最方便与机器人集成的选择,非常适合验证项目的可行性。
VR端我们选择了Unity3D,丰富的社区资源使得这个项目成为可能。
服务模型为经典的C/S结构,VR端通过访问特定的URL向机器人发送不同的命令,再通过服务器转发到pymycobot,执行实际的动作。
另一方面是交互方面的设计,我们采用相对移动的方式,用户按下手柄的A键标志着移动开始,松开标志着移动结束。
下面是VR遥控操作的通信流程:
实时视频流
在克服VR遥操作技术难题的过程中,确保获取低延迟的视频流一直是关键挑战之一。我们采用了一项创新性的解决方案,通过利用NVIDIA Jetson Xavier平台所提供的Accelerated GStreamer插件,成功实现了GPU加速的视频编解码,旨在在保障实时性的同时,最大程度地优化带宽利用率。
Jetson Xavier平台的Accelerated GStreamer插件是一种强大的工具,通过充分利用GPU的计算能力,对视频数据进行加速处理。这一创新性的技术手段不仅提高了视频编解码的效率,同时在大幅度减少延迟的同时,优化了网络带宽的利用效率。
Accelerated GStreamer是NVIDIA为其Jetson平台提供的一组GStreamer插件,旨在通过使用GPU(图形处理单元)加速多媒体处理任务,提高性能并降低延迟。这一套插件专为Jetson平台设计,充分利用了其强大的GPU资源,适用于视频编解码、图像处理、深度学习推