- 博客(28)
- 收藏
- 关注
原创 不同分辨率下搜狗输入法输入图标过大
笔记本是2k屏外接1080p显示器,分辨率不同导致搜狗输入法在笔记本显示器上显示正常,而在1080p显示器下图标很大过大,一打字就显得很尴尬。这时再在低分辨率显示器上打字应该就没那么大的图标了。找到以上三个可执行文件,分别右键打开。
2024-04-22 14:42:22 1438 2
原创 【ROS+amcl+Movebase】多机器人导航
学过单机器人在已知地图中的导航后,想到如果有多个机器人在同一地图如何导航,于是在网上学习了下,主流方案即在单机器人导航的基础上引入命名空间。参考文章1参考文章2参考文章3一、实验环境Ubuntu1804(虚拟机)ROS(melodic)Navigation(move_base+amcl)gazebo(9.0.0)vscode二、目录结构可以看出,基本和之前单机器人导航没什么区别,改动主要集中在launch目录下,gazebo差速器仿真部分也需要修改,rviz下有少量插件配置变动不是学
2024-03-14 17:39:37 960 6
原创 【ROS2+slamtoolbox+nav2】实时地图构建和导航
本文主要用于记录学习slam建图与navigation2导航的过程,区别于之前学习的在已知地图中的导航,此文记录的是未知地图中的导航。学习资源主要是小鱼的ros2教程和navigation2教程,为避免复制粘贴影响认知,部分代码中变量名称等做了改动。
2024-02-20 16:50:38 2905 10
原创 远程主机可能不符合 glibc 和 libstdc++ Vs Code 服务器的先决条件
不要再想升级glibc了。卸载当前vscode版本。
2024-02-04 09:17:09 4328 3
原创 ROS2如何查看某个主题是由哪个节点发布的
Dead Sink: 当一个节点订阅了一个主题但没有正确处理接收到的消息,或者节点已经停止运行而未取消订阅时,我们可能会将该节点称为接收端的“死坑”或“dead sink”。这意味着尽管有消息发布到该主题,但由于没有活动的订阅者进行处理,这些消息实际上被忽略了,造成了一种资源浪费。也就是说,这个主题可能被节点订阅并处理,但它不作为数据源供其他话题使用。在话题层级关系上,它处于叶子节点的位置,没有子节点。注意图中的选项,如果只有发布节点而没有订阅节点,那么一定不要勾选。如果主题消息有发布节点有订阅节点。
2024-01-23 17:04:20 1110 2
原创 ros2启动文件.launch.py中的moveit_config
看启动文件时,初看觉得简单,但仔细斟酌,找对应的路径时,发现文件对不上号,此篇以官方教程给出的move_group.launch.py为例,记录文件对应关系。
2023-12-20 10:23:27 525 1
原创 urdf标签理解
origin指几何中心,xyz即中心坐标(距离原点距离,单位米),rpy分别对应roll横滚角(绕x),pitch俯仰角(绕y),yaw航向角(绕z)geometry指几何形状,常见box立方体,sphere球体,cylinder圆柱体等,不同的形状有不同的几何描述,较为简单,不再赘述。理解可link是实体后,我们就可以对这个实体进行描述,一个实体可以从很多方面去描述,我们大致分为几类,joint可以理解为两个link之间的关节,但他是抽象出来的,并不是实体,更像是一种属性。然后具体来看每一个的详细信息。
2023-11-20 15:25:53 286
原创 ubuntu16安装ROS
不同版本的Ubuntu都有对应的ROS版本,不要强行安装不对应的版本,否则遇到问题会很难找到解决方法。此教程也只是基于Ubuntu1604和kinetic版本的ROS。
2023-11-07 17:17:58 399
原创 C++11右值引用理解
C++11之前只有引用这个概念,不存在什么左值引用右值引用。C++11后更新了众多新特性,其中右值引用较为重要,这里对右值引用做一个学习记录。
2023-09-27 10:09:16 94
原创 ffmpeg命令自用
提取音频ffmpeg -i test.mp4 -acodec copy -vn output.aac上面的命令,默认mp4的audio codec是aac,如果不是,可以都转为最常见的aac。ffmpeg -i test.mp4 -acodec aac -vn output.aac提取h264ffmpeg -i 2018.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 tmp.264-i 2018.mp4: 是输入的MP4文件-codec cop
2022-05-11 16:14:41 378
原创 vs2019附加库、包含目录等配置
对于vs2019这种功能强大的软件,学习成本过高,并不适合大多数人,比如我。记录下新建项目后附加库、包含目录、附加依赖项等操作及区别。一、vc++目录尤其注意图中圈出的地方,你配置的项目和你运行的项目是不是同一平台,别傻啦吧唧配置半天x64,回头搁x86上一顿调试发现怎么操作都不生效。debug和release也要分清。对于vc++目录应该是全局的,不只是针对你选中的子项目,可能该目录空间下所有项目都会按照该配置执行,这里不建议做任何改动。包含目录:一般指头文件,类似于linux下的/usr
2022-03-29 15:10:24 9452
原创 makefile经验积累
混编.c与.cpp通常是在C++项目引用了纯C语言的接口,需要extern "C"包含C语言接口头文件,且没有C语言库的情况下。这时候c的接口编译需要用gcc,而不是笼统的用g++来编译。参考添加链接描述relocation R_X86_64_32 against `.rodata’ can not be used when making a PIE object; recompile with -fPI具体原理暂不清楚,但可以在报错编译的项目后添加 --no-pie...
2021-08-22 23:07:32 2139
原创 win10此电脑下的6个库文件夹恢复
这里写自定义目录标题win10此电脑下的6个文件夹如何恢复注意,该方法原理为切换用户,切换后当前用户的文件不在恢复后的库文件里,而是在该用户文件夹下,即C:\用户\XXX(当前用户名)\,若要删除当前用户,启用新用户,需备份当前账户下的重要文件原因解决1 添加其他用户2 点击“我没有这个人的登录信息”3 点击“添加一个没有Microsoft账户的用户”4 创建新的用户5 添加新用户后,更改账户类型为管理员6 注销当前用户,用新创建的用户登录win10此电脑下的6个文件夹如何恢复注意,该方法原理为切
2021-04-26 00:40:20 3241 1
原创 拿到一台新的ubuntu该做些什么
修改用户设置设置root密码sudo passwd root连续输入两次密码后即可新增普通用户adduser ddlx修改主机名cd /etc/hostname设置ssh密码登录xshell密码登录需要cd /etc/.ssh/vi sshd_config找到PasswordAuthentication no改为PasswordAuthentication yes免密登陆如vscode免密连接ubuntu安装插件后修改配置文件.ssh/config服务器端或者
2021-02-07 23:00:17 296 1
原创 mqtt通信——EMQ服务器部署与C语言版mqtt库编译
基于ubuntu系统的C语言mqtt库编译(即客户端)(前提:OpenSSL已经安装并且环境变量都已配置完成,执行openssl version -a查看是否安装)1 下载mqtt源码https://github.com/eclipse/paho.mqtt.c上传到ubuntu2 进入目录执行以下命令sudo makesudo make install若成功则在/usr/local/lib/usr/local/include目录下多了几个文件3 代码测试#include &l
2020-09-08 14:11:34 732
原创 win10网络重置后无法发现网络,Wlan选项消失,有线网络不识别
由于种种原因,受网上各种教程干扰,重置了win10网络,开机后找不到任何网络,没有wlan选项,插网线也不识别,什么更新驱动、启动网络发现、更改适配器设置都不行。。最终通过开启几个服务后找回了wlan选项,重新连上了网络。和网络有线连接相关的服务基于以上几次设置后,本人的电脑终于找回了wlan和有线网络识别(之前不起作用的网络发现等设置没有撤销),但并没有理论依据,纯属猜测,仅供参考。...
2020-08-17 22:54:32 9316 1
原创 自定义线程池学习(基础篇)
线程池常用参数:线程池工作流程自定义参数设计corePoolSize 核心线程数量根据每个任务的处理时间s和每秒产生的任务量m以及处理任务要求时间t来确定,如任务处理时间为0.1秒,系统80%时间内每秒产生100个任务,如需在1秒内处理完100个任务,则需要10个核心线程。计算公式:m*s/tworkqueue 任务队列长度核心线程数量/每个任务处理所需时间*2maximumPoolSize 最大线程数量(最大任务数量-队列长度)* 每个任务处理所需时间keepAliveTime
2020-06-12 14:47:46 214
原创 java基础学习之集合(Collection、Map)
集合与数组数组长度不可变,在某些情况下需要数组扩容时非常消耗内存,所以引入集合数组形式:int[] a = new int[3];int[] b = new int[]{1,2};int[] c = {1,2,3};集合(以ArrayList为例):ArrayList<Integer> a= new ArrayList();//只能存放引用类型,基本类型需要用对应封装类Collection(java.util)子类有:List接口(有序,可重复)ArrayList底
2020-05-31 20:37:59 294 2
原创 java基础常用API之String
概述java.lang包下,不须引用常用构造方法//1、String s = new String("value");public String(String original);//2、char[] ch = {'v','a','l','u','e'};String s = new String(ch);public String(char[] value);//3、char[] ch = {'v','a','l','u','e'};String s = new String(ch,2,2)
2020-05-29 21:52:32 119
原创 java基础常用api学习
Math(java.lang)概述final修饰且构造方法为private,故不能有子类且无法实例化,成员方法均为静态方法常用成员方法public static double max(double a,double b) //最大值public static double min(double a,double b)//最小值public static double abs(double a)//绝对值public static double random()//返回一个随机数,范围[0,1)
2020-05-29 15:27:11 220
原创 MySQL字段长度理解
随笔记知识在设计数据表时,无论通过表格设计还是sql语句设计,都会涉及到字段长度的设计,字段长度即数据类型后括号内的数值,如int(10),varchar(10),字段长度在不同的数据类型下意义是不同的,此处仅以MySQL中的int以及varchar类型做说明,其余请自行学习。int 类型int类型的长度只表示显示宽度,对实际存储无影响,如int(10)和int(11)的数据都占4个字节,只...
2020-04-30 23:55:32 1968
原创 自学hadoop集群安装教程
hadooop安装第一步 给自己创建的用户root权限第二步 配置基础网络1. 配置网络连通2. 配置网络地址与主机名的对应关系(可选可不选)3. 关闭防火墙第三步 设置免密登录第四步 jdk安装第五步 hadoop安装第六步 文件配置第一步 给自己创建的用户root权限1.以管理员身份登录虚拟机,右键—>在终端中打开,打开后界面如下:2 输入命令:vim /etc/...
2019-04-01 20:48:11 447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人