视觉的巡线功能目前只针对定制化地图进行开发,如教学需求中需要使用到新的巡线地图,则请按照以下标准进行地图设计:
赛道要求
• 线材质:胶带、印刷品
• 线颜色:黑色、白色、红色、蓝色、绿色。轨线颜色与背景颜色需要有差异,建议使用强烈对比色。
• 线宽度:2 ~ 4 cm
• 线类型:单线赛道
• 赛道类别:弯道为圆角,避免直角,转弯半径尽量大。允许赛道十字交叉,但设计应避免其他角度或多路口交叉。
• 赛道装饰:线周围,不允许出现其他色块
• 地图装饰:允许进行浅色颜色设计,避免出现黑色与其他深颜色。地图设计应为平面,不允许放置其他物品作为装饰。
使用条件
• 背景:按赛道要求
• 光照:室内光源。光线均匀,曝光正常(不背光、逆光)。
• 相机高度:推荐为 1.5 cm
• 视角:视觉镜头俯角应在 0° ~ 45° 之间
• 距离:相机距离桌面 8 ~ 100 cm 以内。
• 速度:≥20 FPS
from uexplore_interfaces import Event
from uexplore_interfaces import AIVision
from uexplore_interfaces import Screen
from uexplore_interfaces import Model
from uexplore_interfaces import Math
import math
from uexplore_interfaces import Utils
from uexplore_interfaces import ControlFlow
_E6_88_91_E7_9A_84_E5_8F_98_E9_87_8F = 0
_E6_97_8B_E8_BD_AC_E5_80_BC = 0
def on_start_event():
global _E6_97_8B_E8_BD_AC_E5_80_BC
AIVision.load_model([AIVision.Model.track_recognition])
AIVision.set_track_recognition_line(AIVision.LineType.double)
while True:
_E6_97_8B_E8_BD_AC_E5_80_BC = (0.25 * AIVision.get_double_track_offset())
Screen.print_text_newline(((str('单轨偏移量:') + str(AIVision.get_double_track_offset()))),Screen.Color.white)
Model.mecanum_move_xyz(0,20,Math.round_up(Utils.parseToNumber(_E6_97_8B_E8_BD_AC_E5_80_BC)))
if (AIVision.check_single_track_intersection(AIVision.Intersection.noline)):
Model.mecanum_stop()
ControlFlow.wait(3, ControlFlow.TimeUnit.SECOND)
Screen.print_text_newline(((str('旋转值:') + str(Utils.parseToNumber(_E6_97_8B_E8_BD_AC_E5_80_BC)))),Screen.Color.yellow)
Event.register_start(on_start_event)