同步操作将从 robocup/SEU-Kidsize 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
适用于SEU-UniRobot的机器人控制系统,包含机器人运动控制,机器人图像处理,机器人决策,机器人调试工具,机器人仿真系统等;主要开发语言为C/C++,脚本语言为Python。
编译环境
C++
Python3
仿真环境
本架构分成六个部分: 上下层交互、运动控制、视觉、决策、比赛控制器和仿真,下面对每个部分进行详细解释。
上下层交互对应的文件夹为player,负责与机器人的下位机交互,其工作原理是:下位机定时向上层系统发送请求,并携带了按键状态、电源状态、IMU数据信息。player在接收到请求信息后,先向下位机发送舵机的关节角度信息,然后再根据需要发送其他信息,最后再从motion里获取下一次的关节角度信息。
运动控制对应的文件夹为motion,负责机器人的运动生成,其工作原理是:内部维持了一个关节角度队列,每次生成一个动作时,就将动作过程中的所有角度信息保存到队列中,player每请求一次关节角度,就弹出队列最前端的角度信息,待队列内的个数小于一定数量时,生成下一步的动作。motion订阅了BodyTask和HeadTask以及ImuData等话题,每次先检测ImuData,判断是否处于摔倒状态,摔倒则调用起身动作,否则根据Task执行相关的动作。
视觉对应的文件夹为vision,负责机器人的图像处理,其工作原理是:初始化摄像头后开启一个摄像头获取图像信息,然后以10Hz的频率对图像进行处理,处理结果以ImageResult信息发布出去,其具体数据可以根据需要自行定制。
决策对应的文件夹为control,负责机器人的决策制定。
比赛控制器对应的文件夹是gamectrl,负责获取比赛控制器的信息并将关键信息以话题的方式发布出来,同时还负责向比赛控制器回发信息。
仿真对应的文件夹为simulation,负责机器人仿真,仿真平台使用的是Webots。仿真平台的控制器对应的功能是player的功能和摄像头。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。