门户手机网站源码技能培训中心网站建设

pingmian/2026/1/24 13:12:35/文章来源:
门户手机网站源码,技能培训中心网站建设,上海工程相关的公司,网页视频提取本项目基于Qt5开发#xff0c;基于CMake进行构建#xff0c;可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址#xff1a; https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS…本项目基于Qt5开发基于CMake进行构建可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址 https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS2环境并进行构建实现ROS通信与界面隔离 软件所有功能均为自行绘制实现,因此可以轻松运行在一些性能比较低的边缘设备 功能/TODO: 功能状态备注ROS1/ROS2通信✅全局/局部地图显示✅机器人实时位置显示✅机器人速度仪表盘✅机器人手动控制✅机器人重定位✅机器人单点/多点导航✅机器人全局/局部规划轨迹显示✅机器人拓扑地图功能✅电池电量显示✅地图编辑功能✅机器人导航任务链✅地图加载✅地图保存✅基于protobuf的通信️鹰眼视图️3D图层显示️相机图像显示️拓扑点位的路径规划️ 大家如果有什么有意思的界面/功能性需求,可以提在此处,如有Bug请提在issues,必将尽快修复!请在也欢迎大家发起Merge Request一起参与项目建设~ 此仓库国内加速镜像链接:gitee 目录 文章目录 目录 一,Release 版本下载使用二,编译1,环境安装2,克隆/下载本项目:3,编译项目4,运行项目 三,IDE配置说明(QtCreator/Vscode)3.1 QtCreator打开项目教程 四,使用说明4.1,多机通信配置4.2,配置文件4.3,重定位位姿态发布4.4,地图编辑4.4.1 拓扑地图(机器人导航点设置)4.4.2 橡皮擦4.4.3 画笔4.4.4 线段绘制4.4.5 地图保存4.4.6 地图加载 4.5,手动控制机器人4.6,速度仪表盘4.7,电池电量显示4.8 多点连续导航 一,Release 版本下载使用 如果您只想使用本软件,并不想了解具体的代码实现,用户可以选择下载编译好的Release版本不用自行手动编译,下载即用 使用Release版本的前提:系统ROS环境已安装,并且source到环境变量中 本仓库使用CI自动生成各平台的Release版本(目前只有X86_64版本,Arm环境需要自行编译),在项目的Release页面下载最新对应ROS版本的Release版本理论上解压后即可使用。 使用方法: 在终端进入解压后的文件夹路径,执行如下命令: sudo chmod ax ./ros_qt5_gui_app ./ros_qt5_gui_app 如果Release版本下载后使用不了可以参考二,编译进行自行编译使用 二,编译 注意为了保证此项目同时兼容ROS1与ROS2此项目不使用ROS1/ROS2的catkin_make/colcon构建系统进行够建而是使用标准CMake进行构建这也就意味着本项目不会被ROS自动识别为功能包 可以参考以下教程从0开始构建/运行此项目: 1,环境安装 理论上只需要安装如下基础包就可以编译此项目: sudo apt-get update sudo apt-get install qtbase5-private-dev libqt5svg5-dev -y如果以上安装后还不行可以执行如下指令安装全部依赖: sudo apt-get install qtbase5-dev qt5-qmake qtbase5-dev-tools libqt5svg5-dev qtbase5-private-dev libeigen3-dev libgtest-dev -y 2,克隆/下载本项目: mkdir -p ~/qt_ws cd ~/qt_ws git clone https://github.com/chengyangkj/Ros_Qt5_Gui_Appnote:如果github下载过慢,可以使用以下指令从gitee拉取 git clone https://gitee.com/chengyangkj/Ros_Qt5_Gui_App 3,编译项目 可以手动执行如下命令进行编译(会根据环境变量自动识别ROS1还是ROS2环境): cd ~/qt_ws/ROS2_Qt5_Gui_App mkdir -p build cd build cmake .. make 或者执行如下脚本手动指定ROS版本并进行一键编译: cd ~/qt_ws/ROS2_Qt5_Gui_App ROS1: sh ./build_ros1.sh ROS2 sh ./build_ros2.sh4,运行项目 cd ~/qt_ws/ROS2_Qt5_Gui_App/build ./ros_qt5_gui_app 软件配置文件路径(运行一次软件后会自动生成在可执行程序相对路径下): ~/qt_ws/ROS2_Qt5_Gui_App/build/config.json 三,IDE配置说明(QtCreator/Vscode) 此部分为针对新手做的温馨提示,如果你已经是一个ROS/C/Qt老手,可以跳过此部分 很多ROS初学者学习Qt都存在一个误区:拼命的去下载QtCreator,如果QtCreator有问题安装失败,就卡在这,影响学习进度,但是其实QtCreator与Vscode一样,可以把他当作一个纯文本编辑器. 实际上Ubuntu系统默认都自带的有Qt库,就比如前面的3,编译项目,并没有要求安装QtCreator,只需要使用apt-get安装一些系统缺失的,没有默认安装的qt库,就能正常编译通过 当然安装QtCreator时也会同时下载一些Qt库,但是他仅仅是下载,如果你没有将下载的库添加到环境变量中(通常也不建议自己将下载的qt库添加到环境变量中,这样需要处理系统默认的qt库与你添加的qt库的冲突问题),所以,在没有额外配置的情况下,虽然下载了QtCreator,但是在编译代码时用的还是系统默认的库. 那么,我们为什么还要去额外下载QtCreator呢? 因为我们需要使用QtCreator去编辑我们的(.ui),(.resource)文件 本项目所有的界面,都是在代码中去手动创建,如果打开代码中的mainwindow.ui可以发现什么都没有,因为所有界面都是代码动态创建添加上去的. 本人在开发本项目的流程为: 使用系统的Qt库,如果需要使用的qt库不存在,则使用apt-get安装即可所有ui界面均使用代码动态创建,并添加到主窗口中,没有使用qtcreator拖拽生成项目的开发IDE使用vscode,仅安装了基础的c/c插件做代码提示如果需要编辑资源文件(.qrc),手动打开qtcreator,再打开qrc文件进行编辑保存编译时在终端使用make指令进行编译运行时在终端使用./ros_qt5_gui_app指令进行运行 可以发现,开发此项目只有需要编辑资源文件时才会用到QtCreator(一般图片添加上去后也不会做频繁的编辑) 虽然本人开发使用的Vscode,但是为了方便部分习惯使用QtCreator做开发的用户,这里介绍下如果使用QtCreator作为IDE开发此项目: 3.1 QtCreator打开项目教程 首先需要按照3,编译项目将项目成功编译,如果编译失败,则QtCreator打开后项目不会正常展开 本项目为标准CMake项目,因此按照在QtCreator中打开CMake项目的方式,打开本项目的根目录Cmakelist.txt即可(不区分ROS1/ROS2) 1.安装QtCreator sudo apt-get install qtcreator 2.打开qtcreator 终端输入(必须终端打开): qtcretor打开后选择文件-打开文件或项目: 接着选择项目根目录下的Cmakelist.txt文件,点击打开即可: 接着会自动识别我们前面编译的build目录,选择config: 项目成功展开,点击绿色三角形编译并运行: 四,使用说明 4.1,多机通信配置 针对于ROS新手的温馨提示:此项配置,如果是单机使用即本软件运行在机器人身上,没有跨机器使用就不用配置直接跳过即可.如果需要将本软件运行在自己的笔记本上,去连接远程的机器人的情况下需要进行配置 ROS1/ROS2的多机通信完全依赖ROS原生(环境变量添加ROS_MASTER_URI与ROS_IP/ROS_DOMAINID),不再由用户手动指定,减轻新手使用负担 ROS1: 配置参考多机通讯教程csdn 博客 ROS2: 环境变量多机配置相同的ROS_DOMAINID 4.2,配置文件 第一次运行后会在可执行程序同级目录生成config.json,修改此配置文件即可(需要注意Json格式),修改后重启生效,具体配置说明详见配置文件说明 4.3,重定位位姿态发布 程序可以拖动式的设置机器人初始位置重定位,相对于Rviz,拖动时可以实时查看激光匹配情况,重定位更加精准(左键按住拖动,右键旋转方向) 注意:如果设置无效,需要检查config.json中设置 {display_name: Reloc,topic: /initialpose,enable: true }为自己机器人监听的重定位Topic名称 4.4,地图编辑 程序支持地图编辑功能: 4.4.1 拓扑地图(机器人导航点设置) 并且程序支持拓扑地图功能,可以拖动式的设置机器人导航目标点导航使用gif说明如下: 注意:如果导航点位发布无响应设置无效,需要检查config.json中设置 {display_name: NavGoal,topic: /move_base_simple/goal,enable: true }为自己机器人监听的导航目标点Topic名称 4.4.2 橡皮擦 点击橡皮擦后,可以擦除地图中的障碍物,使用gif说明如下: 4.4.3 画笔 画笔功能 4.4.4 线段绘制 线段绘制 4.4.5 地图保存 地图编辑完成后并不会自动保存,需要点击保存按钮,保存地图到指定文件夹,如果需要在ROS中使用需要将该地图替换到自己对应导航包的map中 目前保存地图有如下: *.pgm 图片数据*.yaml 地图描述文件*.topology 程序自定义的拓扑地图 保存了点位等信息 4.4.6 地图加载 地图加载同理 用户选择对应的PGM地图文件即可加载并进行编辑 4.5,手动控制机器人 软件支持发布实时速度到底盘 对应按钮上的文字可以由键盘对应按钮同步调用 注意:如果设置无效,需要检查config.json中设置 {display_name: Speed,topic: /cmd_vel,enable: true } 为实际机器人监听的速度控制话题 4.6,速度仪表盘 软件支持实时显示机器人速度 注意:如果设置无效,需要检查config.json中设置 {display_name: Odometry,topic: /odom,enable: true }为机器人时机发布的里程计话题 4.7,电池电量显示 软件支持实时显示机器人电量,在配置中配置话题名电池电量的Topic类型为:sensor_msgs::BatteryState {display_name: Battery,topic: /battery,enable: true }4.8 多点连续导航 软件支持多点连续导航,使用方法如下: 点击Start Task Chain即可开始任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设流程总结网站做关键词库的作用

前言 紧接上一篇博客,学习tensorboard可视化训练过程。 国际惯例,参考博客: MNIST机器学习入门 Tensorboard 详解(上篇) Tensorboard 可视化好帮手 2 tf-dev-summit-tensorboard-tutorial tensorflow官方mnist_…

天津建设网站安全员考试成绩查询域名申请网页制作网站建设

系统架构设计师之缓存技术:Redis与Memcache能力比较

吉林市做网站的公司湖北城乡建设部网站首页

学习交流加(可免费帮忙下载CSDN资源):个人微信(进微信群加): LyyCoder学习交流资源分享qq群1(已满): 962535112学习交流资源分享qq群2(已满): 780902027学习交…

广州网站建设方案案例齐齐哈尔市网站建设

*这种题好像不用写题解... 题意: 一个人要改动别人的实验记录,实验记录记录是一个集合 实验记录本身满足:$max(X)-min(X)<2$ 改动结果要求: 1.新的集合平均值和之前的一样 2.新的集合,$max(Y)<max(X),min(Y)>min(X)$ 求新一个和之前相同数值最少的新记录 题解: 首先考…

福州医院网站建设公司餐饮品牌网站建设

ChatGPT在智能游戏和游戏AI领域具有广泛的应用潜力&#xff0c;可以为游戏体验增添智能和交互性&#xff0c;同时也有助于游戏开发者创造更丰富、更引人入胜的游戏内容。以下将详细探讨ChatGPT在智能游戏和游戏AI中的应用。 ## 1. 游戏角色的智能化 在角色扮演游戏&#xff0…

马鞍山市网站建设公司wordpress 4.5 中文版

umount /mnt/logicvolumntest卸载挂载。 lvremove /dev/vgname/my_lv可以删除逻辑卷&#xff0c;其中vgname是指定逻辑卷所在的卷组名称&#xff0c;my_lv是逻辑卷的名称。 注意&#xff1a;使用lvremove命令会永久删除逻辑卷和其中的数据&#xff0c;因此请在使用之前进行适当…

太原搭建网站的公司哪家好西安微信平台网站建设

问题的提出&#xff1a;我用的手机是HTC magic&#xff0c;sd卡用的是金士顿的&#xff0c;不知道什么原因&#xff0c;总是有时能找到sd卡&#xff0c;有时找不到。我个人总有一些数据文件&#xff0c;想固定放在手机的系统上&#xff0c;而不是sd卡上(/sdcard)&#xff0c;那…

建设干部培训中心网站做海产品的外贸网站

最近在做华为机试体验题&#xff0c;遇到一个“找零钱”的题目&#xff0c;如下 想起之前在牛客网上看到左程云老师讲过的动态规划问题&#xff0c;很像&#xff0c;题目如下&#xff1a; 有数组penny&#xff0c;penny中所有的值都为正数且不重复。每个值代表一种面值的货币&…

做网站域名重要吗唐山网站建设七彩科技

#3456. 城市规划 设fnf_nfn​为nnn个点的的点的简单无向连通图数目&#xff0c;gng_ngn​为nnn个点的简单无向图个数&#xff08;不要求联通&#xff09;。 对于gng_ngn​显然有gn2n(n−1)2g_n 2 ^{\frac{n(n - 1)}{2}}gn​22n(n−1)​&#xff0c;共有n(n1)2\frac{n(n 1)}…

锦州滨海新区城市建设规划网站网站发布之后上传文件路径变了

一、什么是 pointer-events: none&#xff1f; pointer-events: none 是一个强大的 CSS 属性&#xff0c;它控制元素是否响应鼠标/触摸事件&#xff08;如点击、悬停、拖拽&#xff09;。当设置为 none 时&#xff0c;元素会变得“透明”&#xff0c;事件会直接穿透到下方的元…

做毕业设计免费网站建设外发加工单表格范本

路由器是任何计算机网络的构建块&#xff0c;引导网络中的流量&#xff0c;管理员需要确保路由器已配置并正常工作&#xff0c;以确保网络安全。 监控路由器中的用户活动 在网络安全方面&#xff0c;与路由器相关的风险是一个严重的问题。具有松散安全策略的网络使入侵者可以…

做网站需要什么服务器上海网站建筑公司

cos45度√2/2。角A的邻边比斜边叫做角A的余弦&#xff0c;记作cosA(由余弦英文cosine简写得来)&#xff0c;即cosA等于角A的邻边/斜边(直角三角形)。二倍角公式sin2α2sinαcosαtan2α2tanα/(1-tan^2(α))cos2αcos^2(α)-sin^2(α)2cos^2(α)-11-2sin^2(α)积化和差公式sinα…

dw网站根目录怎么做广告设计公司行业地位

健康生活应用&#xff0c;主要功能包括&#xff1a; 用户可以创建最多6个健康生活任务&#xff08;早起&#xff0c;喝水&#xff0c;吃苹果&#xff0c;每日微笑&#xff0c;刷牙&#xff0c;早睡&#xff09;&#xff0c;并设置任务目标、是否开启提醒、提醒时间、每周任务频…

微网站与微信网站网站开发属于什么专业

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,15,7] …

厦门个人网站建设软件平台公司

文章目录 概述一、硬件系统二、基础配置设置主机名配置主机名与IP地址解析关闭防火墙与selinux时间同步(ntp)升级系统内核配置内核转发及网桥过滤*安装ipset及ipvsadm关闭SWAP分区 三、Containerd准备Containerd获取下载解压Containerd配置文件生成并修改Containerd启动及开机自…

做网站群广州免费建站排行

RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available在使用rman duplicate复制standby数据库的时候&#xff0c;由于standby数据库实例必须处于非mount状态&#xff0c;所以主数据库直接连接是会报错的&#xff0c;需要在standby数据库服务上的监听器…

南京建设局网站首页什么是网络营销策划

场景&#xff1a;后端更新数据推送到客户端(Java部分使用Tomcat服务器)。后端推送数据的解决方案有很多&#xff0c;比如轮询、Comet、WebSocket。1. 轮询对于后端来说开发成本最低&#xff0c;就是按照传统的方式处理Ajax请求并返回数据&#xff0c;在学校的时候实验室的项目一…

黄页网站大全在线看免费榆林市横山县建设局官方网站

适用版本 Axure 8.1.0.3377 zdfans.com gP5uuK2gHiIVO3YFZwoKyxAdHpXRGNnZWN8Obntqv7FF3pAz7dTu8B61ySxli 转载于:https://www.cnblogs.com/mengjianzhou/p/11226260.html

常州做网站企业猎头公司怎么找

在使用AlarmManager实现闹钟需要注意的是&#xff0c;intent和pendingintend的context如果是activity&#xff0c;那么当activity回收之后&#xff0c;context对象则不能被AlarmManager用于发送广播打开service之类等等&#xff0c;即使是applicationContext也只是进程唯一&…

申请免费个人网站空间怎么做新网站上线通稿

使用Apache Kafka路由消息 本示例向您展示了如何使用LangChain的标准聊天功能&#xff0c;并通过Apache Kafka来回传递聊天消息。 目标是模拟一个架构&#xff0c;其中聊天前端和LLM作为需要通过内部网络相互通信的独立服务运行。 这是一种替代通过REST API请求模型响应的典…