智元素AI背包用户手册
北京博创尚和科技有限公司
需要注意的是,智元素背包的使用需要有一定的Linux基本的操作基础,如果没有,请先阅读本书赠送的Linux基础指南,另外,本产品属于二次开发产品,开发需要具备一定的Python基础,如果没有,请阅读本书赠送的Python指南,感谢配合!
详见远程连接指南
进入到智元素背包的机载Linux系统内,打开一个终端,打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_move.py测试背包控制智元素运动:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_move.py
可以观察到智元素发出一声怒吼,进行了一次打击,并前进,后退了各1秒,我们就实现了智元素控制python运动。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_camera.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_camera.py
Linux命令行输入,执行上面的脚本,可以启动与背包上摄像头的连接。可以看到界面上展示出了背包摄像头采集的图像。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_apriltag_detect.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_apriltag_detect.py
Linux命令行输入,执行上面的脚本。
就可以观测到识别出了id为1的apriltag,并且智元素会跟随tag图标运动。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_gesture.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_gesture.py
能够看到手势识别的结果。
其中,如果手势是“握拳”,智元素会后退,而如果是“五指张开”,智元素会前进。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_chessboard.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_chessboard.py
将11x8棋盘格放在智元素前方,它会运行到棋盘格前方,并进行一次击打。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_emotion.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_emotion.py
然后将表情图片放到智元素眼前,识别到了表情:
如果是开心的表情,智元素会前进,如果是生气的表情,智元素则会后退。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_face_detect.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_face_detect.py
然后将人脸图片放到智元素眼前,识别到了人脸,并可以持续跟踪。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_tracker.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_tracker.py
然后将按下空格键,框选目标,按下回车确定框选的目标。可以观察到智元素持续跟踪目标,并转向跟随的目标。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_yolo_detect.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_yolo_detect.py
可以看到识别的结果:
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_color_qt.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_color_qt.py
可以看到摄像头实时检测画面,识别不同的颜色。这里我们使用HSV颜色空间来识别图像内的物料颜色,为了方便调试,我们在摄像头画面上嵌入了拖动条组件,并且单击画面中的要识别的物料的某个像素点,可以在控制台打印该像素点的HSV值:
根据控制台打印的HSV值,拖动窗口中的按钮,来确定一个范围
一般,我们会设置HMIN为单击像素值结果-5左右,HMAX为单击像素值结果+5左右,而S,V的范围可以适当扩大。
有耐心的慢慢拖拽,直到窗口出找到一个合适的颜色识别结果。
框选出颜色。鼠标左键单击‘start move’按键,智元素会跟随者选定的颜色目标移动。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_follow_line_qt.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_follow_line_qt.py
默认识别蓝色线条,需要像上一节颜色识别功能一样,先点击线条上的像素获取HSV值。
然后拖拽下方拉条,调整目标HSV值。点击‘start move’可以运动巡线。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_pose.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_pose.py
可以看到识别出了人体的姿态。
打开Linux用户文件夹下的up_zhiyuansu_demo/mask文件夹,运行run.py脚本:
cd ~/up_zhiyuansu_demo/mask
python3 run.py
可以看到识别出了是否佩戴口罩。
打开Linux用户文件夹下的up_zhiyuansu_demo文件夹,运行zhiyuansu_storry_teller.py脚本:
cd ~/up_zhiyuansu_demo
python3 zhiyuansu_storry_teller.py
然后,将story_teller文件夹下的任意一张图片展示在智元素摄像头前,会识别二维码中的内容并根据二维码播放一段语音。
识别结果如下:
打开Linux用户文件夹下的up_zhiyuansu_demo/solder_server文件夹,运行solder_server.py脚本:
cd ~/up_zhiyuansu_demo/solder_server
python3 solder_server.py
这样就打开了Web服务端。
然后Linux用户文件夹下的up_zhiyuansu_demo/文件夹,运行zhiyuansu_sodiers.py脚本:
cd ~/up_zhiyuansu_demo/
python3 zhiyuansu_sodiers.py
这样就打开了客户端。
点击UI上的按钮可以控制智元素做出各种动作。
智元素背包支持Python二次开发与硬件通讯。
在智元素中,我们对与智元素的通讯进行了封装,可以通过一系列Python函数直接控制智元素。
这里,请同学们参考背包中up_zhiyuansu_demo文件夹中,uprobot_movement文件,里面封装了一系列硬件控制的接口,接口含义如下,也可以在实际demo中进行参考。
接口名称 | 接口描述 | 参数说明 |
---|---|---|
move_forward(speed=10,times=500) | 向前运动 | speed:运动速度 times: 运动时间,单位毫秒 |
move_left(speed=10, times=500) | 向左平移运动 | speed:运动速度 times: 运动时间,单位毫秒 |
move_right(speed=10, times=500) | 向右平移运动 | speed:运动速度 times: 运动时间,单位毫秒 |
move_backward(speed=10, times=500) | 向后平移运动 | speed:运动速度 times: 运动时间,单位毫秒 |
turn_left(speed=10, times=500) | 向左自旋 | speed:运动速度 times: 运动时间,单位毫秒 |
turn_right(speed=10, times=500) | 向右自旋 | speed:运动速度 times: 运动时间,单位毫秒 |
stop() | 停止运动 | 无 |
wave_hands() | 挥手 | 无 |
hit() | 击鼓 | 无 |
left_hand() | 举左手放下右手 | 无 |
right_hand() | 举右手放下左手 | 无 |
rise_hands() | 举起双手 | 无 |
set_volume(vol) | 设置音量 | vol:1~32,音量 |
play_sound(folder, track) | 播放音乐 | Folder:255 file name:‘1:刘备’、‘2:关羽’、‘3:张飞’、‘10:左转’、‘11:右转’、‘12:前进’、‘13:停止’ |
只需要import上面uprobot_movement.py文件,即可实现Python使用上述函数直接控制智元素,请同学们编写Python脚本测试以上函数。