智行系列产品配备了测试硬件功能是否正常的上位机系统,可以用于校验各传感器数据,获取里程计,驱动机械臂关节等等,由于硬件系统的差异性,智行W4A的上位机软件与其他智行设备略有不同,接下来我们将分别进行详细介绍。
注意:本教程同样适用于卓越之星搭建出的对应同名构型
进入到智行系列设备的机载Linux系统内,打开一个终端,打开Linux用户文件夹下的robot_shell文件夹,依据不同的智行设备,进入脚本文件夹中,运行0-zhuoyuezhixing.sh
打开上位机调试软件。
例如,如果您的设备是智行W2A:
cd ~/robot_shell/w2a
./0-zhuoyuezhixing.sh
对于智行W2C:
cd ~/robot_shell/w2c
./0-zhuoyuezhixing.sh
对于智行W2U:
cd ~/robot_shell/w2u
./0-zhuoyuezhixing.sh
对于智行W3S:
cd ~/robot_shell/w3s
./0-zhuoyuezhixing.sh
弹出了调试用上位机的界面。
重新打开一个命令行窗口,在打开的命令行窗口里,输入 ls –l /dev |grep ttyUSB*
后按下回车查看嵌入式控制器对应的串口号zoo(这里是我们在AI处理器的Linux系统中,做了串口绑定,防止重新启动Linux系统时,串口id改变,嵌入式控制器我们绑定为/dev/zoo),这里对应ttyUSB0,在上位机软件里选择上一步找到对应嵌入式控制器的串口号后点击连接:
这里查询到串口ID为ttyUSB0
这里修改串口ID并点击打开串口进行连接
连接成功的瞬间,超声和TOF传感器的数据就打印出来了,检查超声波传感器以及TOF传感器,碰撞传感器数据:
其中,超声和tof传感器的数据单位是mm毫米,是超声波和TOF传感器测量的距离数据。碰撞传感器则是可查询碰撞条是否触发。
智行W2C搭载三个超声TOF,两个碰撞,如下所示
W2C的超声TOF,从左到右的id依次为1,2,3。
W2C的碰撞,左侧碰撞0触发,右侧碰撞1触发,前方碰撞0,1同时触发。
智行W2A搭载三个超声TOF,三个碰撞
W2A的超声TOF,从左到右的id依次为1,2,3。
W2C的碰撞,左侧碰撞0触发,右侧碰撞2触发,前方碰撞1触发。
智行W2U搭载一个超声TOF,一个碰撞,都位于机器人最前方,都是2号,显示在界面上就是碰撞二和超声二,TOF二
智行W3S没有搭载超声/TOF与碰撞传感器
设置底盘形态(两轮差速),进行底盘移动测试,移动机器人并观察里程计数据变化:
W2U, W2A,W2C是两轮差分底盘,W3S是三轮全向底盘。
控制机器人底盘进行运动:
左右平移只对全向机器人底盘智行-W3S生效。
查看轮式里程计信息:
里程计遵循ROS右手坐标系,以机器人上电时位置为原点,X为机器人正前方,Y为左侧90度,YAW的0度为机器人面朝方向。
点击获取舵机信息,可以获取当前舵机的全部角度。
在上面的区域,可以给指定舵机ID发布指定角度,实现舵机转动。
智行W4A的底盘和机械臂是两个独立串口。
进入到智行W4A的机载Linux系统内,打开一个终端,打开Linux用户文件夹下的robot_shell/w4a文件夹,运行0-w4a.sh打开底盘上位机调试软件:
cd ~/robot_shell/w4a
./0-w4a.sh
重新打开一个命令行窗口,在打开的命令行窗口里,输入 udevadm info /dev/zoo
后按下回车查看嵌入式控制器对应的串口号zoo,如下所示,这里对应ttyUSB3,在上位机软件里选择上一步找到对应嵌入式控制器的串口号后点击连接:
就出现了智行W4A的传感器数据。
智行W4A搭载四个超声TOF,两个碰撞传感器
嵌入式控制器连接成功后,可以检查超声波传感器以及TOF传感器数据
从最左侧开始,顺时针绕机器一圈:
查看碰撞传感器是否正常(正前方为1号碰撞,正后方为2号碰撞)。
进行底盘移动测试,移动机器人并观察里程计数据变化(左是左平移,右是右平移)
查看轮式里程计信息:
关闭所有程序,打开Linux用户文件夹下的robot_shell/w4a文件夹,运行0-w4a-arm.sh 打开上位机调试软件:
cd ~/robot_shell/w4a
./0-w4a-arm.sh
重新打开一个命令行窗口,在打开的命令行窗口里,输入 udevadm info /dev/arm 后按下回车查看嵌入式控制器对应的串口号arm,这里对应ttyUSB1。
在上位机软件里选择上一步找到对应嵌入式控制器的串口号后点击连接:
点击归零可以机械臂重置复位,点击抓取和放置可以调试执行机构,测试吸盘吸和放,点击XYZ可以进行三个关节步进电机的步数控制。