Quanser的QArm到底是什么?
+ 查看更多
作者:姜岩

Quanser QArm是一款四自由度机械臂,与Qube Servo2和Aero2一样,定位是一款小型的教学科研平台。与Quanser的其他设备一样,QArm基于QUARC实时控制软件,可在Simulink下编程并进行实时控制,支持直接输入四个自由度的电机控制电压、电流或位置,并能够读取各个关节的位置、电流等传感器信息,除此之外还可以调用RGBD摄像头以及拓展接口,可以满足不同用户的需求。而作为近年新推出的产品,QArm还支持Python编程并可以选择搭配QLab数字孪生平台,这些为用户提供了更多的功能和应用场景。
接下来我将为大家演示QArm的几个特点。
- 在Simulink下的编程与实时控制
在Simulink中,我们通过HIL Initialize模块即可对所选择的QArm设备进行配置,包括控制模式和端口选择。如下图所示:

在基础设置中,我们可以选择位置模式和PWM模式,即我们可以选择利用自带的控制器输入关节位置或选择设计自己的控制器来输入电压。而将joint_mode手动修改为254后,我们即可直接输入关节电机的电流,电流经由电机转矩常数转换为电机输出力矩,从而控制机械臂的运动。这种控制方式相比位置模式和PWM模式更为精细和直接,能够基于动力学实现更加灵活的机械臂控制。
在Simulink中我们还有专门的3D Video Capture模块,可以读取QArm配备的RGBD摄像头,从而进行图像处理方面的研究,让QArm对目标物体进行识别和定位,执行相关动作,完成具体任务。于此同时,我们还支持在Simulink中调用QArm的末端执行器上的用户自定义端口,可以获取用户拓展安装的传感器的数据。
上述的这些数据读写的由QUARC提供的专门模块来配置,而除此之外,包括算法设计、轨迹生成等都是完全开放给客户。如下面的视频所示,用户能够快速在Simulink中调用设备硬件,设计控制算法,对自己的研究进行实物验证。而设计完成的程序,在QUARC软件构成的运行环境下,可以实现实时控制,为理论学习、论文发表提供有力的支撑。
2.Python编程
由于学科交叉的极大发展和Python开源社区的日益壮大,为了让用户能够实现更高级别的应用。我们近些年的设备都开放了Python编程的支持。
对与QArm的Python使用,首先还是离不开QUARC实时控制软件,在软件中内置了Python的API,我们可以在命令行中输入如下图所示指令来安装配置环境。

配置好环境后,在我们随设备提供的程序包中,含有驱动QArm的相关库函数和简单的Demo,下面的视频以关节控制为例,展示了QArm Python的具体使用。
在Python代码中采用了与Simulink中类似的架构,建立了QArm的对象,并提供了如myArm.read_write_std(phiCMD=phiCmd, grpCMD=gripCmd, baseLED=ledCmd)的读写函数,让原本的Simulink用户也能快速理解其代码。
除了电机关节,RGBD摄像头也可以被Python代码调用。QArm支持了Python编程,让用户可以通过网络上各种开源代码,实现更复杂图像处理、人工智能算法,极大的拓展了用户研究领域的深度与广度。
3.QLab数字孪生
最后要介绍的就是QLab数字孪生功能,各位读者看到这里,想必也发现,我前两个部分展示的视频,都是在一个虚拟平台上进行的实验。这是因为我手边没有QArm实物,所以我选择用QLab进行试验来完成我的文章。QLab是Quanser公司基于数字孪生理念设计的虚拟实验平台,集成了Quanser公司的一些经典产品的数字孪生模型,主要用于仿真、远程实验和线上教学。目前QLab还是作为单独的软件,属于选配组件,有兴趣的读者可以在Quanser官网上申请试用。

与传统的3D模型仿真相比,QLab数字孪生平台有着极为鲜明的特色。
首先就是它的程序编写方式,与实物几乎完全一致,支持Simulink和Python,仅需要在Simulink HIL Initialize模块或self.card.open函数中修改设备ID,即可将原本实物的程序转换为操作QLab的程序;
其次,基于对设备的全方位建模,QLab实现了在硬件读写上也完全遵照实物的读写规则,也就是说,对于QArm的QLab模型,我们可以获得几乎全部传感器的数据,包括电流传感器等,如下图所示。而像其他设备,如Qube Servo2,它的编码器计数值也是完全还原,要进行微分和滤波才可以得到速度信号,这意味我们在QLab中就可以实现对一些传感硬件特性的分析。

最后,在第一个视频中,我是用实际摄像头采集的图像来控制虚拟机械臂,这意味QLab的虚实结合是十分成熟的,我们既可以用实物传感器来影响虚拟对象,也可以有虚拟对象的状态反馈来影响实物,这远不是普通仿真能够比拟的。
综上所述,Quanser QArm是一款非常实用机械臂教学、科研平台,具有Simulink、Python两种编程方式并可搭配数字孪生平台,整个系统具有多种功能和应用场景,灵活性高、扩展性强,能够为机器人技术的研究和教学提供了有力的支持。
分享到: