社区
Qt
帖子详情
Linux环境下的qt打包好的程序在其他的Linux(未安装)系统上运行的时候出错
无名小卒000001
2017-11-28 02:27:09
http://blog.csdn.net/hjl_1991/article/details/50365927
按照上面这个教程的步骤打包的
然后在其他系统上运行的时候提示,illegal instruction
求解决!
...全文
204
回复
打赏
收藏
Linux环境下的qt打包好的程序在其他的Linux(未安装)系统上运行的时候出错
http://blog.csdn.net/hjl_1991/article/details/50365927 按照上面这个教程的步骤打包的 然后在其他系统上运行的时候提示,illegal instruction 求解决!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
嵌入式
Linux
应用
程序
开发标准教程(第2版全)
《嵌入式
Linux
应用
程序
开发标准教程(第2版)》主要分为3个部分,包括
Linux
基础、搭建嵌入式
Linux
环境
和嵌入式
Linux
的应用开发。
Linux
基础部分从
Linux
基础、基本操作命令讲起,为
Linux
初学者能快速入门提供了保证。接着
系统
地讲解了嵌入式
Linux
的
环境
搭建,以及嵌入式
Linux
的I/O与文件
系统
的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动
程序
的开发以及嵌入式图形界面的开发等,并且还安排了丰富的实验内容与课后实践,使读者能够边学边用,更快更好地掌握所学知识。 《嵌入式
Linux
应用
程序
开发标准教程(第2版)》可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式
Linux
的教材,也可供希望转入嵌入式领域的科研和工程技术人员参考使用,还可作为嵌入式培训班的教材和参考书。 第1章
Linux
快速入门 1.1 嵌入式
Linux
基础 1.1.1
Linux
发展概述 1.1.2
Linux
作为嵌入式操作
系统
的优势 1.1.3
Linux
发行版本 1.1.4 如何学习
Linux
1.2
Linux
安装
1.2.1 基础概念 1.2.2 硬件需求 1.2.3
安装
准备 1.3
Linux
文件及文件
系统
1.3.1 文件类型及文件属性 1.3.2 文件
系统
类型介绍 1.3.3
Linux
目录结构 1.4 实验内容——
安装
Linux
操作
系统
1.5 本章小结 1.6 思考与练习 第2章
Linux
基础命令 2.1
Linux
常用命令 2.1.1 用户
系统
相关命令 2.1.2 文件相关命令 2.1.3 压缩
打包
相关命令 2.1.4 文件比较合并相关命令 2.1.5 网络相关命令 2.2
Linux
启动过程详解 2.2.1 概述 2.2.2 内核引导阶段 2.2.3 init阶段 2.3
Linux
系统
服务 2.3.1 独立
运行
的服务 2.3.2 xinetd设定的服务 2.3.3
系统
服务的其他相关命令 2.4 实验内容 2.4.1 在
Linux
下解压常见软件 2.4.2 定制
Linux
系统
服务 2.5 本章小结 2.6 思考与练习 第3章
Linux
下C编程基础 3.1
Linux
下C语言编程概述 3.1.1 C语言简单回顾 3.1.2
Linux
下C语言编程
环境
概述 3.2 常用编辑器 3.2.1 进入vi 3.2.2 初探emacs 3.3 gcc编译器 3.3.1 gcc编译流程解析 3.3.2 gcc编译选项分析 3.4 gdb调试器 3.4.1 gdb使用流程 3.4.2 gdb基本命令 3.5 make工程管理器 3.5.1 makefile基本结构 3.5.2 makefile变量 3.5.3 makefile规则 3.5.4 make管理器的使用 3.6 使用autotools 3.6.1 autotools使用流程 3.6.2 使用autotools所生成的makefile 3.7 实验内容 3.7.1 vi使用练习 3.7.2 用gdb调试
程序
的bug 3.7.3 编写包含多文件的makefile 3.7.4 使用autotools生成包含多文件的makefile 3.8 本章小结 3.9 思考与练习 第4章 嵌入式
系统
基础 4.1 嵌入式
系统
概述 4.1.1 嵌入式
系统
简介 4.1.2 嵌入式
系统
发展历史 4.1.3 嵌入式
系统
的特点 4.1.4 嵌入式
系统
的体系结构 4.1.5 几种主流嵌入式操作
系统
分析 4.2 ARM处理器硬件开发平台 4.2.1 ARM处理器简介 4.2.2 ARM体系结构简介 4.2.3 ARM9体系结构 4.2.4 S3C2410处理器详解 4.3 嵌入式软件开发流程 4.3.1 嵌入式
系统
开发概述 4.3.2 嵌入式软件开发概述 4.4 实验内容——使用JTAG烧写NandFlash 4.5 本章小结 4.6 思考与练习 第5章 嵌入式
Linux
开发
环境
的搭建 5.1 嵌入式开发
环境
的搭建 5.1.1 嵌入式交叉编译
环境
的搭建 5.1.2 超级终端和minicom配置及使用 5.1.3 下载映像到开发板 5.1.4 编译嵌入式
Linux
内核 5.1.5
Linux
内核源码目录结构 5.1.6 制作文件
系统
5.2 U-Boot移植 5.2.1 Bootloader介绍 5.2.2 U-Boot概述 5.2.3 U-Boot源码导读 5.2.4 U-Boot移植主要步骤 5.3 实验内容——创建
Linux
内核和文件
系统
5.4 本章小结 5.5 思考与练习 第6章 文件I/O编程 6.1
Linux
系统
调用及用户编程接口(API) 6.1.1
系统
调用 6.1.2 用户编程接口(API) 6.1.3
系统
命令 6.2
Linux
中文件及文件描述符概述 6.3 底层文件I/O操作 6.3.1 基本文件操作 6.3.2 文件锁 6.3.3 多路复用 6.4 嵌入式
Linux
串口应用编程 6.4.1 串口概述 6.4.2 串口设置详解 6.4.3 串口使用详解 6.5 标准I/O编程 6.5.1 基本操作 6.5.2 其他操作 6.6 实验内容 6.6.1 文件读写及上锁 6.6.2 多路复用式串口操作 6.7 本章小结 6.8 思考与练习 第7章 进程控制开发 7.1
Linux
进程概述 7.1.1 进程的基本概念 7.1.2
Linux
下的进程结构 7.1.3
Linux
下进程的模式和类型 7.1.4
Linux
下的进程管理 7.2
Linux
进程控制编程 7.3
Linux
守护进程 7.3.1 守护进程概述 7.3.2 编写守护进程 7.3.3 守护进程的
出错
处理 7.4 实验内容 7.4.1 编写多进程
程序
7.4.2 编写守护进程 7.5 本章小结 7.6 思考与练习 第8章 进程间通信 8.1
Linux
下进程间通信概述 8.2 管道 8.2.1 管道概述 8.2.2 管道
系统
调用 8.2.3 标准流管道 8.2.4 FIFO 8.3 信号 8.3.1 信号概述 8.3.2 信号发送与捕捉 8.3.3 信号的处理 8.4 信号量 8.4.1 信号量概述 8.4.2 信号量的应用 8.5 共享内存 8.5.1 共享内存概述 8.5.2 共享内存的应用 8.6 消息队列 8.6.1 消息队列概述 8.6.2 消息队列的应用 8.7 实验内容 8.7.1 管道通信实验 8.7.2 共享内存实验 8.8 本章小结 8.9 思考与练习 第9章 多线程编程 9.1
Linux
线程概述 9.1.1 线程概述 9.1.2 线程机制的分类和特性 9.2
Linux
线程编程 9.2.1 线程基本编程 9.2.2 线程之间的同步与互斥 9.2.3 线程属性 9.3 实验内容——“生产者消费者”实验 9.4 本章小结 9.5 思考与练习 第10章 嵌入式
Linux
网络编程 10.1 TCP/IP概述 10.1.1 OSI参考模型及TCP/IP参考模型 10.1.2 TCP/IP协议族 10.1.3 TCP和UDP 10.2 网络基础编程 10.2.1 socket概述 10.2.2 地址及顺序处理 10.2.3 socket基础编程 10.3 网络高级编程 10.4 实验内容——NTP协议实现 10.5 本章小结 10.6 思考与练习 第11章 嵌入式
Linux
设备驱动开发 11.1 设备驱动概述 11.1.1 设备驱动简介及驱动模块 11.1.2 设备分类 11.1.3 设备号 11.1.4 驱动层次结构 11.1.5 设备驱动
程序
与外界的接口 11.1.6 设备驱动
程序
的特点 11.2 字符设备驱动编程 11.3 GPIO驱动
程序
实例 11.3.1 GPIO工作原理 11.3.2 GPIO驱动
程序
11.4 块设备驱动编程 11.5 中断编程 11.6 按键驱动
程序
实例 11.6.1 按键工作原理 11.6.2 按键驱动
程序
11.6.3 按键驱动的测试
程序
11.7 实验内容——test驱动 11.8 本章小结 11.9 思考与练习 第12章
Qt
图形编程基础 12.1 嵌入式GUI简介 12.1.1
Qt
/Embedded 12.1.2 MiniGUI 12.1.3 Microwindows、TinyX等 12.2
Qt
/Embedded开发入门 12.2.1
Qt
/Embedded介绍 12.2.2
Qt
/Embedded信号和插槽机制 12.2.3 搭建
Qt
/Embedded开发
环境
12.2.4
Qt
/Embedded窗口部件 12.2.5
Qt
/Embedded图形界面编程 12.2.6
Qt
/Embedded对话框设计 12.3 实验内容——使用
Qt
编写“Hello,World”
程序
12.4 本章小结
嵌入式
Linux
应用
程序
开发详解
目录 第1章
Linux
快速入门 1 1.1 嵌入式
Linux
基础 1 1.1.1
Linux
发展概述 1 1.1.2
Linux
作为嵌入式操作
系统
的优势 2 1.1.3
Linux
发行版本 3 1.1.4 如何学习
Linux
4 1.2
Linux
安装
5 1.2.1 基础概念 5 1.2.2 硬件需求 7 1.2.3
安装
准备 7 1.2.4
安装
过程 8 1.3
Linux
文件及文件
系统
11 1.3.1 文件类型及文件属性 11 1.3.2 文件
系统
类型介绍 13 1.3.3
Linux
目录结构 14 1.4 实验内容——
安装
Linux
操作
系统
17 本章小结 17 思考与练习 18 第2章
Linux
基础命令 19 2.1
Linux
常用操作命令 19 2.1.1 用户
系统
相关命令 20 2.1.2 文件目录相关命令 27 2.1.3 压缩
打包
相关命令 38 2.1.4 比较合并文件相关命令 40 2.1.5 网络相关命令 45 2.2
Linux
启动过程详解 50 2.2.1 概述 51 2.2.2 内核引导阶段 51 2.2.3 init阶段 52 2.3
Linux
系统
服务 54 2.3.1 独立
运行
的服务 55 2.3.2 xinetd设定的服务 56 2.3.3 设定服务命令常用方法 56 2.4 实验内容 57 2.4.1 在
Linux
下解压常见软件 57 2.4.2 定制
Linux
系统
服务 58 本章小结 60 思考与练习 60 第3章
Linux
下的C编程基础 61 3.1
Linux
下C语言编程概述 61 3.1.1 C语言简单回顾 61 3.1.2
Linux
下C语言编程
环境
概述 62 3.2 进入Vi 63 3.2.1 Vi的模式 63 3.2.2 Vi的基本流程 63 3.2.3 Vi的各模式功能键 65 3.3 初探Emacs 66 3.3.1 Emacs的基本操作 67 3.3.2 Emacs的编译概述 70 3.4 Gcc编译器 71 3.4.1 Gcc编译流程解析 71 3.4.2 Gcc编译选项分析 74 3.5 Gdb调试器 77 3.5.1 Gdb使用流程 78 3.5.2 Gdb基本命令 81 3.6 Make工程管理器 86 3.6.1 Makefile基本结构 86 3.6.2 Makefile变量 87 3.6.3 Makefile规则 90 3.6.4 Make管理器的使用 91 3.7 使用autotools 92 3.7.1 autotools使用流程 92 3.7.2 使用autotools所生成的Makefile 96 3.8 实验内容 98 3.8.1 Vi使用练习 98 3.8.2 用Gdb调试有问题的
程序
99 3.8.3 编写包含多文件的Makefile 101 3.8.4 使用autotools生成包含多文件的Makefile 103 本章小结 105 思考与练习 105 第4章 嵌入式
系统
基础 106 4.1 嵌入式
系统
概述 106 4.1.1 嵌入式
系统
简介 106 4.1.2 嵌入式
系统
发展历史 107 4.1.3 嵌入式
系统
的特点 108 4.1.4 嵌入式
系统
的体系结构 108 4.1.5 几种主流嵌入式操作
系统
分析 109 4.2 ARM处理器硬件开发平台 111 4.2.1 ARM处理器简介 111 4.2.2 ARM体系结构简介 113 4.2.3 ARM9体系结构 113 4.2.4 S3C2410处理器详解 116 4.3 嵌入式软件开发流程 121 4.3.1 嵌入式
系统
开发概述 121 4.3.2 嵌入式软件开发概述 122 4.4 实验内容——使用JTAG烧写NAND Flash 128 本章小结 131 思考与练习 132 第5章 嵌入式
Linux
开发
环境
的搭建 133 5.1 嵌入式开发
环境
的搭建 133 5.1.1 嵌入式交叉编译
环境
的搭建 133 5.1.2 超级终端和Minicom配置及使用 135 5.1.3 下载映像到开发板 142 5.1.4 编译嵌入式
Linux
内核 145 5.1.5
Linux
内核目录结构 149 5.1.6 制作文件
系统
149 5.2 U-Boot移植 153 5.2.1 Bootloader介绍 153 5.2.2 U-Boot概述 155 5.2.3 U-Boot源码导读 156 5.2.4 U-Boot移植主要步骤 163 5.2.5 U-Boot常见命令 164 5.3 实验内容——移植
Linux
内核 164 本章小结 165 思考与练习 165 第6章 文件I/O编程 166 6.1
Linux
系统
调用及用户编程接口(API) 166 6.1.1
系统
调用 166 6.1.2 用户编程接口(API) 167 6.1.3
系统
命令 167 6.2
Linux
中文件及文件描述符概述 168 6.3 不带缓存的文件I/O操作 168 6.3.1 open和close 168 6.3.2 read、write和lseek 170 6.3.3 fcntl 173 6.3.4 select 178 6.4 嵌入式
Linux
串口应用开发 183 6.4.1 串口概述 183 6.4.2 串口设置详解 184 6.4.3 串口使用详解 191 6.5 标准I/O开发 194 6.5.1 打开和关闭文件 194 6.5.2 文件读写 197 6.5.3 输入输出 198 6.6 实验内容 201 6.6.1 文件读写及上锁 201 6.6.2 多路复用式串口读写 204 本章小结 207 思考与练习 207 第7章 进程控制开发 208 7.1
Linux
下进程概述 208 7.1.1 进程相关基本概念 208 7.1.2
Linux
下的进程结构 210 7.1.3
Linux
下进程的模式和类型 210 7.1.4
Linux
下的进程管理 211 7.2
Linux
进程控制编程 212 7.3
Linux
守护进程 224 7.3.1 守护进程概述 224 7.3.2 编写守护进程 224 7.3.3 守护进程的
出错
处理 229 7.4 实验内容 232 7.4.1 编写多进程
程序
232 7.4.2 编写守护进程 235 本章小结 238 思考与练习 239 第8章 进程间通信 240 8.1
Linux
下进程间通信概述 240 8.2 管道通信 241 8.2.1 管道概述 241 8.2.2 管道创建与关闭 242 8.2.3 管道读写 244 8.2.4 标准流管道 246 8.2.5 FIFO 249 8.3 信号通信 253 8.3.1 信号概述 253 8.3.2 信号发送与捕捉 255 8.3.3 信号的处理 258 8.4 共享内存 264 8.4.1 共享内存概述 264 8.4.2 共享内存实现 265 8.5 消息队列 267 8.5.1 消息队列概述 267 8.5.2 消息队列实现 268 8.6 实验内容 272 8.6.1 管道通信实验 272 8.6.2 共享内存实验 275 本章小结 277 思考与练习 278 第9章 多线程编程 279 9.1
Linux
下线程概述 279 9.1.1 线程概述 279 9.1.2 线程分类 280 9.1.3
Linux
线程技术的发展 280 9.2
Linux
线程实现 281 9.2.1 线程基本操作 281 9.2.2 线程访问控制 288 9.3 实验内容——“生产者消费者”实验 298 本章小结 302 思考与练习 303 第10章 嵌入式
Linux
网络编程 304 10.1 TCP/IP协议概述 304 10.1.1 OSI参考模型及TCP/IP参考模型 304 10.1.2 TCP/IP协议族 305 10.1.3 TCP和UDP 306 10.2 网络基础编程 308 10.2.1 socket概述 308 10.2.2 地址及顺序处理 309 10.2.3 socket基础编程 314 10.3 网络高级编程 322 10.4 ping源码分析 326 10.4.1 ping简介 326 10.4.2 ping源码分析 327 10.5 实验内容——NTP协议实现 345 本章小结 352 思考与练习 352 第11章 嵌入式
Linux
设备驱动开发 353 11.1 设备驱动概述 353 11.1.1 设备驱动简介及驱动模块 353 11.1.2 设备文件分类 354 11.1.3 设备号 355 11.1.4 驱动层次结构 355 11.1.5 设备驱动
程序
与外界的接口 355 11.1.6 设备驱动
程序
的特点 356 11.2 字符设备驱动编写 356 11.3 LCD驱动编写实例 363 11.3.1 LCD工作原理 363 11.3.2 LCD驱动实例 365 11.4 块设备驱动编写 374 11.4.1 块设备驱动
程序
描述符 374 11.4.2 块设备驱动编写流程 375 11.5 中断编程 381 11.6 键盘驱动实现 382 11.6.1 键盘工作原理 382 11.6.2 键盘驱动综述 383 11.6.3 键盘驱动流程 384 11.7 实验内容——skull驱动 394 本章小结 398 思考与练习 399 第12章
Qt
图形编程 400 12.1 嵌入式GUI简介 400 12.1.1
Qt
/Embedded 401 12.1.2 MiniGUI 401 12.1.3 Microwindows、Tiny X等 402 12.2
Qt
/Embedded开发入门 402 12.2.1
Qt
/Embedded介绍 402 12.2.2
Qt
/Embedded信号和插槽机制 405 12.2.3 搭建
Qt
/Embedded开发
环境
409 12.2.4
Qt
/Embedded窗口部件 410 12.2.5
Qt
/Embedded图形界面编程 414 12.2.6
Qt
/Embedded对话框设计 416 12.3 实验内容——使用
Qt
编写“Hello,World”
程序
420 本章小结 428
Qt
编程先导篇(
Qt
5
环境
搭建,配置)
Qt
是由
Qt
Company开发的主流跨平台C++图形用户界面应用
程序
开发框架。
Qt
是面向对象的框架、容易扩展,并且允许真正地组件编程,既可以开发GUI
程序
,也可用于控制台工具和服务器。其跨平台集成开发
环境
Qt
Creator 全面支持Windows ,mac、
Linux
、iOS、Android、WP等。本课程主要帮助学员熟练掌握
Qt
5框架下的Winodws ,
Linux
C++开发
环境
搭建及配置详解,通过讲解
Qt
5.14.2 在Windows上的
安装
,
Qt
5搭配编译器mingGW, VS2017 ,VS2019 ,以及 使用VS2019开发
Qt
程序
,
Linux
上
Qt
搭配gcc编译器的演示,迅速帮助学员理解
Qt
与各种编译器的关系与配置,为学习
Qt
打下坚固的基础!
网管教程 从入门到精通软件篇.txt
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,
安装
时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在
系统
出现一些意外情况下的一种非常有效的诊断和测试以及恢复
系统
功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 Bootcfg bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。 含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。 用法: bootcfg /default 设置默认引导项。 bootcfg /add 向引导列表中添加 Windows
安装
。 bootcfg /rebuild 重复全部 Windows
安装
过程并允许用户选择要添加的内容。 注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 扫描用于 Windows
安装
的所有磁盘并显示结果。 注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。 bootcfg /list 列出引导列表中已有的条目。 bootcfg /disableredirect 在启动引导
程序
中禁用重定向。 bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings] 在启动引导
程序
中通过指定配置启用重定向。 范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings hkdsk 创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。 含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。 vol [drive:] [ chkdsk [drive:] [/p] [/r] 参数 无 如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p 即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r 找到坏扇区并恢复可读取的信息。隐含着 /p 参数。 注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows
安装
CD 中找到它。如果有多引导
系统
的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart 创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。 diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size] 参数 无 如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。 /add 创建新的分区。 /delete 删除现有分区。 device_name 要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称: DeviceHardDisk0 drive_name 以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例: D: partition_name 以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例: DeviceHardDisk0Partition1 大小 要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。 范例 下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F: 下例将在硬盘上添加一个 20 MB 的分区: diskpart /add Device HardDisk0 20 Fixboot
送餐机器人产品设计.pdf
送餐机器⼈产品设计 ⼀、
系统
设计 关键部件: 器件 器件 选型 选型 2 关键技术选型 2.1 基于⼆维码+轮⼦⾥程计的机器⼈定位⽅案 主流⽅案 主流⽅案 效果 效果 循线 根据电磁线⾏⾛存在路线固定的问题 纯视觉 室内相似场景较多,存在重定位问题 纯激光 成本⾼,存在漂移,
环境
中移动物体过多时容易
出错
UWB 定位误差⼗⼏厘⽶,信号容易遮挡 视觉⼆维码 + 轮⼦⾥程计 对⽐后最优⽅案是 视觉⼆维码+轮⼦⾥程计 基于⼆维码+轮⼦⾥程计⽅法,主要的传感器数据来源是机器⼈顶部的摄像头采集到的⼆维码图像信息以及轮⼦⾥程计在⼀个时间⽚内的脉 冲数。轮⼦⾥程计信息属于⾼频信息,图像为低频信息。 根基机器⼈运动学来将轮⼦信息计算得到机器⼈的速度和位置,从图像信息中提取⼆维码的ID与位置,同时结合之前的⼆维码信息以及上⼀ 时刻的机器⼈位置来估计机器⼈坐标与新观测到的⼆维码坐标。 估计⼆维码的坐标通常采集的两幅图像之间会有⼗⼏帧轮⼦的信息,为降低计算量,我们可以采⽤滑动窗⼝的⽅法将采集的图像与轮⼦⾥程 计数据放⼊窗⼝内,假设⼀个窗⼝中总共有⼗帧有效图像,将窗⼝中的机器⼈基于图像推测的状态和基于轮⼦信息推测的状态进⾏最⼩⼆乘 优化,为降低计算量,可以采⽤⾕歌的ceres库和eigen库来进⾏计算。 2.2 机器⼈建图⽅案 所谓建图就是定⼀个原点,然后测量出室内所有⼆维码标签相对于原点的空间坐标。 在选择机器⼈的位置后,通过控制机器⼈在室内移动,来实时计算机器⼈的位置以及室内⼆维码的位置,实现⼆维码slam的过程。 将机器⼈⾛的轨迹以及⼆维码坐标都保存在图⽚中。 建图技巧:在建图时最好让机器⼈⾛的轨迹形成⼀个闭环,这样slam算法会将机器⼈位置与整个地图中的⼆维码标签坐标进⾏优化,从⽽ 提⾼地图的精度。同时在建图过程中先让机器⼈⾛⼀些⼩环,然后再⾛⼀些⼤环,会⽐只⾛⼀个⼤环的效果要好。建图过程中⾛的轨迹要尽 量远离障碍物, 2.3 机器⼈避障⽅案 ⽅案⼀: 深度相机 在机器⼈下⽅
安装
深度相机,保证深度相机的视野可以覆盖机器⼈下⼀个控制周期内可以到达的位置空间。为了充分利⽤深度相机的视野, 通常将相机斜向上30-45度
安装
,可以检测到地⾯以上的障碍物和空中的⼲扰物体。 ⽅案⼆:激光雷达 2.4 主控
系统
⽅案 ⽅案⼀:采⽤⼯控机 +
linux
+ ros +
qt
,该⽅案适合应⽤于前期的功能验证,但是后期随着附加功能增多,开发效率会降低,成本变⼤。 ⽅案⼆:全志arm主板+android + app,该⽅案便于后期的运维以及良好的⼈机交互体验,基于Java开发app也可以简单快捷。将上⾯开 发的机器⼈定位导航
系统
打包
成可执⾏
程序
,然后将机器⼈位置以及相关交互信息通过Restful接⼝与应⽤层
程序
进⾏通信。 在android中通过开发者模式进⼊调试⼯具中来调试⽇志,⽤户模式来给⽤户进⾏⼈脸识别,点餐送餐,点歌曲等app的使⽤。 2.5 机器⼈底盘⽅案 底盘包括电⽓控制和机械结构。 采⽤单⽚机作为底盘的嵌⼊式控制器,以说stm32f4系列为例,需要具备电机编码器接⼝,CAN接⼝,串⼝,电源管理
系统
,电机控制接 ⼝等。 2.6 相机⾃标定
系统
(应⽤于⼤批量⽣产中) 2.7 机器⼈定位校准
系统
(应⽤于⼤批量⽣产中) 2.8 机器⼈建图交互和地图修改软件(应⽤于⼤规模推⼴中) 2.9 配送app开发(餐厅实际使⽤中) 2.10 多机调度
系统
(应⽤于多机器⼈在拥挤室内⼯作) 2.11 机器⼈⼤数据管理
系统
(将机器⼈⽇常的数据采集到云端)
Qt
16,173
社区成员
26,583
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章