• [硬件]Robot运动控制


    思考问题:机器人运动控制如何与图形界面交互?

    不得不说,先锋机器人的软件做的真不怎么样。图形界面交互用户体验很差。

    现在我遇到一个很现实的问题:SLAM需要采集激光数据和机器人的位姿,同时我还要再这个界面中控制机器人的运动。这个想来真是一个复杂的问题。


    测试使用ArRobot分别直接在MFC的WinApp和Dialog中进行初始化,执行runSync则报错,不执行则连接直接退出。ArRobot内置了线程,不知到是不是导致了失败。

    然后测试服务和客户端模式,socket编程,用了自带的serverDemo,但是客户端请求的命令去确无法执行。自带的客户端demo也是内置了线程和键盘处理,没有成功。

    不过我坚信这个问题肯定是可以解决的,因为MobileEye里面就实现了。


    通过与利曼售后工程师的沟通,目前初步实现了通过图形界面进行先锋机器人的运动控制。 现在采用的是C/S模式,socket编程。当然主要还是使用的SDK里面的函数实现的。

    主要的技巧是多开了一个线程。

    通过UI界面开一个线程pThread,在该线程中初始化客户端对象(客户端内置了线程Thread3,执行runSync方法会开启新的线程)。

    将UI的键盘消息通过flag在pThread中进行分发,让Thread3中对应执行相应的回调函数。此时不在Thread3中执行键盘检测函数,因为已经在UI线程中侦测了。

    问题算是有了解决方案,思考如果直接应用程序连接机器人呢,这种技巧是不是也可以用呢?


    kbhit函数:检查当前是否有键盘输入。

    激光数据接收肯定要占用一个线程。

    通过界面控制机器人在主线程或者再开一个线程。

  • 相关阅读:
    SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)
    Web Api 跨域解决方案
    Web Api Session开启会话支持
    Web Service 学习
    省市选择器
    如何创建圆形头像和圆角图片
    E
    二叉树
    素数筛法
    Color Me Less
  • 原文地址:https://www.cnblogs.com/yhlx125/p/6599072.html
Copyright © 2020-2023  润新知