[硬件]Robot运动控制
1.个人资源索引2.SLAM学习笔记(1)基本概念3.SLAM学习笔记(2)SLAM算法4.[ROS]2 尝试编译OrbSLAM5.[ROS]1 小乌龟6.SLAM最近的工作7.SLAM学习笔记(3)相关概念8.[SLAM]2D激光线特征提取9.[SLAM] GMapping SLAM源码阅读(草稿)10.[QGLViewer]First Demo11.SLAM数据集12.[SLAM]2D激光扫描匹配方法13.[g2o]一个备忘14.[ROS] slam_gmapping15.[ROS]3 Linux编程练习16.Linux学习和ROS安装(1)17.小豆包的学习之旅:机器人定位18.小豆包的学习之旅:传感器观测模型19.Kinect2.0相机标定20.小豆包的学习之旅:里程计运动模型21.小豆包的学习之旅:入门篇22.Kinect2.0点云数据获取
23.[硬件]Robot运动控制
24.[硬件]Urg_viewer数据读取25.[硬件]三维点云数据获取26.Kinect2.0获取数据27.ndt histogram_direction28.rplidar & hector slam without odometry29.rplidar测试30.[原创]NDT方法在SLAM中的应用31.[SLAM]Karto SLAM算法学习(草稿)32.ROS学习备忘33.[ROS]激光驱动安装34.OrbSLAM2采集点云数据35.Cartographer源码阅读(8):imu_tracker36.[硬件]点云数据采集237.Cartographer源码阅读(9):图优化的前端——闭环检测38.Cartographer源码阅读(7):轨迹推算和位姿推算的原理39.Ethzasl MSF源码阅读(3):MSF_Core和PoseMeasurement40.Ethzasl MSF源码阅读(2):百川汇海41.Ethzasl MSF源码阅读(1):程序入口和主题订阅42.Cartographer源码阅读(6):LocalTrajectoryBuilder和PoseExtrapolator43.Cartographer源码阅读(5):PoseGraph位姿图44.Cartographer源码阅读(4):Node和MapBuilder对象245.Cartographer源码阅读(3):程序逻辑结构46.Cartographer源码阅读(2):Node和MapBuilder对象47.Cartographer源码阅读(1):程序入口48.实时Cartographer测试(1) - rplidar49.Cartographer安装50.ROS安装(2)51.[ROS]一些传感器数据读取融合问题的思考52.小豆包的学习之旅:占用概率栅格地图和cost-map53.小豆包的学习之旅:开发记录54.[概述]移动机器人自主探索55.MRPT编译思考问题:机器人运动控制如何与图形界面交互?
不得不说,先锋机器人的软件做的真不怎么样。图形界面交互用户体验很差。
现在我遇到一个很现实的问题: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函数:检查当前是否有键盘输入。
激光数据接收肯定要占用一个线程。
通过界面控制机器人在主线程或者再开一个线程。
作者:太一吾鱼水
文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。
欢迎大家留言交流,转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2014-03-22 [Axiom 3D]3.SceneManager场景管理器
2014-03-22 [Axiom 3D]2.Axiom 基本概念
2012-03-22 水晶报表CrystalReports很强大也很简单!