开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
机器人视觉

    循迹导航

    范例程序app_tracking和guide_receiver配套使用可以实现循迹导航功能(按录制地图时的路线行走),由app_tracking进行轨迹存储、调用,guide_receiver负责接收导航信号,源代码均提供在程序包中。

    • 轨迹存储命令与记录地图相同:
    ./app_tracking -sensor_type XP2 -cam_calib_path xxxxx.yaml -pb_save /tmp/room.pb
    • 如果需要在轨迹中存储路径点,可在对应的位置按下字母键ABCDE(最多5个,用于从任意地点走向对应路径点),若同一个路径点的字母被第二次按到,将会开启路径闭合,认为第一次按下的位置和第二次按下的位置处于同一个地点。强制路径闭合有利于帮助建立更准确的轨迹地图。(若不在录制过程中设置路径点,则之后导航时系统默认走完整个轨迹)
    • 录制完轨迹后,按ESC键退出。
    • 轨迹导航的使用可分为两种:
    • 使用guide_receiver通过UDP接收导航信息
    • 使用app_tracking直接对步科Dilili底盘控制导航

    使用guide_receiver进行导航

    • 开启另一个命令行窗口,运行
    ./guide_receiver
    • guide_receiver 是命令行的接收客户端(也是利用traker.h里面的函数实现),通过UDP传输的方式从app_tracking处接收导航信息,并打印在命令行窗口中。
    • guide_receiver 用于接收UDP协议的默认端口是8889,IP地址没有限制,收到的信息格式为: guide message from [IP]: [PORT][a, b, c]
    • A为当前位置到下一个特征点的距离
    • B为导航指示的偏离角度(从-180度到+180度,左负右正,正中间为0度)
    • C为导航状态(0为失败,1为正确,2为停止,3为到达目的地结束)。
    • 对应的发送端app_tracking命令如下:
    ./app_tracking -sensor_type XP2 -cam_calib_path xxxxx.yaml -pb_load /tmp/room.pb -path_follower walk
    • 程序启动后,若录制地图时没有设置路径点,则程序会自动进行定位,并按照预设路径进行导航,若为闭合轨迹,则会无限循环直至退出。若录制地图时设置过路径点,则需先按一下所需要行走的路径点对应字母,系统会给出导航,行走至对应点后会进入待机状态。

    使用app_tracking直接控制步科底盘

    • 步科Dilili智慧桌是一款采用双轮驱动的实验机器人平台。其控制系统已经集成到了程序包中。
    • 首先将步科底盘控制USB线连接到PC端,修改读写权限:
    sudo chmod a+rw /dev/ttyUSB0
    • 然后启动app_tracking程序:
    ./app_tracking -sensor_type XP2 -cam_calib_path xxxxx.yaml -pb_load /tmp/room.pb -path_follower robot
    • 程序启动后,若录制地图时没有设置路径点,则程序会自动进行定位,机器人底盘会按照预设路径行走,若为闭合轨迹,则会无限循环直至退出。若录制地图时设置过路径点,则需先按一下所需要行走的路径点对应字母,机器人底盘会按照导航行走,行走至对应点后会进入待机状态。
    • 机器人在行走的过程中,会启动避障模式,即如果有物体进入视觉模组前方0.75米范围内,则机器人会停止行走并停止特征点跟踪以防SLAM结果漂移。
    上一篇
    功能说明
    下一篇
    深度图+障碍物提示: