- 博客(122)
- 收藏
- 关注
原创 如何使用windows自带的远程桌面传输文件
然后输入目标IP,连接后打开目标的计算机,打开文件管理器即可看到共享的盘符。1. win+R 后输入。2. 在搜索框中输入。选择驱动器,全部勾上。
2025-03-26 17:01:17
142
原创 hpp文件和.h文件的区别
h 和 .hpp 的主要区别在于命名约定,而不是功能上的差异。.hpp 文件:当你明确知道你的头文件只会在C++环境中使用,并且可能利用了C++特定的功能(如模板、STL容器等),使用 .hpp 可以作为一种提示给开发者,表明这个文件依赖于C++特性。如果你的项目需要兼容C语言,或者你正在编写一个库,希望它可以被C和C++项目共同引用,那么使用 .h 是合适的。对于纯粹的C++项目,使用 .hpp 可能有助于快速识别出哪些头文件是专门为C++设计的,但这并不是强制性的要求。
2025-03-11 15:37:45
171
原创 如何写软件开发设计文档
不要试图像你读过的学术论文那样写作。它们是为了给期刊审稿人留下深刻印象而写的。你的文档是为了描述你的解决方案并获得队友的反馈而写的。具体的例子,例如“用户 Alice 连接了她的银行账户,然后...”项目符号列表和/或编号列表。
2025-02-24 18:26:49
190
原创 pycharm安装
例如:pip install -i https://mirrors.aliyun.com/pypi/simple/ numpy。中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/清华:https://pypi.tuna.tsinghua.edu.cn/simple。阿里云:http://mirrors.aliyun.com/pypi/simple/豆瓣:http://pypi.douban.com/simple/大家如果发现下载速度很慢,可以使用国内的镜像。
2025-02-21 09:41:18
298
原创 中文论文意见回复模板
有的审稿人要求增加参考文献,也许这是审稿人唯一显示他私心的地方——比如要求引用他的文章,不是很离谱的情况下也可以照办,或者打个折嘛,要求引用三篇最后加上一篇嘛。第五,审稿意见里面经常出现的问题是要求补充信息,比如更多的实验结果或者与该文章相关的另外的一些信息。对于审稿人提出的不合理的建议,可以心平气和地找个客观的理由委婉地拒绝或者提供一些参考资料,不要让审稿人觉得你对他的问题视而不见。第三,有的审稿人与文章的研究方向有差异,或者没有认真读文章,导致对文章的理解有误,从而提出一些莫名其妙的问题。
2025-02-20 10:38:43
718
原创 anaconda安装
根据步骤把anaconda安装好,finish后设置环境变量。下载anaconda,anaconda的官网是。cmd输出以下结果,就表明安装成功。conda install 包名。
2025-02-19 18:28:17
360
原创 为啥数组指针指向一个数组时需要使用&符号
因此,使用p = &a;可以确保类型匹配。&a指向整个数组,而不是数组的第一个元素。这样可以正确赋值给p。
2024-09-19 22:15:31
331
原创 workbench的使用
闪电图标未选中时运行的是所有的代码,选中时运行的是选中的部分;第二个是运行光标所在处的行的代码。单击就可以登录,如果需要编辑的话,右键选择edit connection。Hostname 是数据库的地址,本地的话就默认是127.0.0.1。connection name 是可以任意取的。选择store in value来存储密码。点击测试连接test connection。第一个是新建脚本,第二个是打开保存的脚本。ctrl +s可以保存脚本。MySQL查询器的使用。
2024-09-18 21:50:26
356
原创 在ubuntu系统中对于msg文件编译后生成的头文件,在程序中include时是用<>还是““,哪个检索文件的效率更高
在 Ubuntu 系统中,对于 ROS 中的消息(msg)文件编译后生成的头文件,在程序中包含(include)时应使用。来包含用户自定义或本地头文件。对于 ROS 消息生成的头文件,它们通常被视为用户自定义头文件,因此应该使用。来包含生成的消息头文件是更合适的做法,因为这些头文件通常是在项目中自动生成的,并不在标准目录中。因此,如果您的头文件是自定义的或本地的,并不在标准目录中,应该使用。通常,在 C/C++ 中,使用。总的来说,在 ROS 中使用。来包含标准库头文件,使用。关于效率的问题,使用。
2024-08-24 15:06:05
248
原创 ubuntu20.04自带的火狐浏览器无法播放B站等其他视频怎么办
ubuntu-restricted-extras 是一个包含各种基本软件,如 Flash 插件、unrar、gstreamer、mp4、Ubuntu 中的 Chromium 浏览器的编解码器等的软件包。由于这些软件不是开源软件,并且其中一些涉及软件专利,因此 Ubuntu 默认情况下不会安装它们。安装解码器的过程中出现了一个package configuration的界面,先按“Tab”键高亮“ok”,然后按回车确认即可。事实上我们只是缺一个解码器而已,输入以下命令。上面的包很大,实际并不是每个都需要。
2024-07-31 13:31:20
936
原创 如何在linux中安装搜狗输入法
上述sudo dpkg -i 命令可用于任何deb格式的软件安装,操作类似,比如qq等。安装完毕,重启电脑,ctrl+space调出搜狗输入法,shift切换中英文。然后打开安装包所在位置的终端,输入。4.卸载系统ibus输入法框架。3.设置fcitx开机自启动。在官网下载搜狗输入法安装包,1.更新源:在终端输入。
2024-07-31 11:42:53
7415
3
原创 怎么查看自己电脑是arm还是x64(x86)
如果输出是 x86_64,那么你的系统是 64 位的 x86 架构(通常我们称之为 x64)。如果输出是 armv7l 或者以 arm 开头的其他值,那么你的系统是 ARM 架构。
2024-07-31 10:18:40
4255
原创 启动ubuntu20.04跳出SGX disable by BIOS
tensions”,是“现代 Intel® CPU 提供的基于硬件的隔离和内存加密机制”。如果该选项不存在,您可以通过 BIOS 升级来获取它。否则,如果您想删除该消息,请添加到 grub 默认值中(请参阅。关于如何添加参数)。您也可以放心地忽略该消息,因为 SGX 是良性的,不是必需的。SGX 代表“Intel。
2024-07-30 19:36:17
1665
原创 控制周期与控制频率
控制频率是指控制系统中执行控制循环的频率,即每秒钟执行控制循环的次数。然而,较高的控制频率也会增加计算和通信的负担,可能对硬件和资源要求提出更高的要求。控制频率的选择需要综合考虑系统的需求、控制算法的计算复杂度以及硬件和通信的限制。在实时控制系统中,常见的控制频率范围从几赫兹到几十赫兹不等,具体取决于应用领域和系统的要求。较短的控制周期可以提高系统的响应速度,但也增加了计算和通信的负担。控制周期的选择需要综合考虑系统的要求、控制算法的计算复杂度以及实际硬件和通信的限制。
2024-07-08 11:05:54
960
原创 arxiv上的论文可以看到他是投了哪个期刊吗
成为IEEE的Senior Member需要满足一定的资格要求,包括具有工程或科学领域的本科或更高学位,至少10年的相关工作经验,并且在技术领域有一定的工程、研究、教育或管理方面的成就。在ArXiv上的论文一般会提供一份论文的摘要、作者信息和联系方式等,但通常不包含已接受或发表在哪个期刊上的信息。IEEE是全球最大的专业技术学会之一,致力于推动电气和电子工程领域的创新和发展。成为IEEE的Senior Member是对个人在专业领域中的认可和荣誉,显示了其在电气和电子工程领域的专业能力、贡献和经验。
2024-03-25 20:49:35
3242
原创 eigen::matrix类型的一维数组,既可以使用(),也可以使用【】吗
无论使用圆括号还是方括号,都可以读取和写入数组元素。然而,需要注意的是,使用圆括号。可以按照线性索引来访问数组元素,其中索引从0开始逐个增加。则可以使用类似于C++原生数组的方式来访问元素。进行访问时,索引值超出数组范围会导致运行时错误;进行访问时,超出范围的索引会导致未定义的行为。类型的一维数组时,优先选择使用圆括号。进行访问,但它们的行为略有不同。类型的一维数组可以使用圆括号。,并确保使用有效的索引值。类型的一维数组,可以使用。类型的一维数组,可以使用。
2024-03-08 09:55:22
575
原创 Eigen::Matrix<double,3,1> F;Eigen::MatrixXd F (3, 2);这两行代码有什么区别?
如果您的矩阵大小在编译时已知且不会改变,那么使用静态大小矩阵可以提供更好的性能和内存效率。如果您的矩阵大小在运行时可能会变化,或者您需要根据需要调整矩阵的大小,那么使用动态大小矩阵会更灵活。因此,区别在于静态大小矩阵在编译时已知并且不能改变,而动态大小矩阵在运行时可以根据需要进行调整。这是一个静态大小的矩阵,其维度在编译时确定。这是一个动态大小的矩阵,其维度在运行时确定。这行代码创建了一个3x2的动态大小矩阵。这两行代码的区别在于定义的矩阵。这行代码创建了一个3x1的矩阵。
2023-11-12 11:06:12
391
原创 为什么说使用#define PI 3.1415926后,程序会在编译预处理的时候将所有的PI替换成3.1415926,但PI就不是程序中的名字了,随后的编译无法发现它引起的数据类型误用的错误,这是为啥
使用#define定义常量替换后,会直接进行文本替换,将符号文本替换为常量值。这导致以下问题:1. 替换后,PI不再是一个符号,编译器无法再检查其类型。2. 如果原代码中,PI被当做了其他类型使用(如PI+=1),编译预处理后就成了一个语法错误(3.1415926+=1)。3. 但由于预处理是文本替换,编译器不会发现PI原本的误用。4. 导致这个错误被“隐藏”起来,编译可能通过,但执行结果错误。所以,更好的方法是使用const定义常量,保留其符号性质,可以被编译器正常类型检查。// PI作为整数使用。
2023-11-09 09:38:05
674
原创 为啥会有些发表在arxiv上的论文
综上所述,arXiv具有上传快速、开放获取、版本控制等优势,许多作者会选择与期刊投稿同时发表到arXiv或仅发表到arXiv,这是论文出现在arXiv上的主要原因。6. 部分作者可能把未提交期刊的论文先发到arXiv,吸引同行评议,待修改成熟后再考虑投稿。2. 投稿顶级期刊周期很长,arXiv可以让作者快速公布研究成果,建立优先权。3. 即使论文被期刊录用,作者也可以同时在arXiv公开论文,扩大论文影响力。4. 对于一些高质量的会议,也鼓励或要求作者把论文开源到arXiv。
2023-11-08 10:14:48
3559
原创 cmake中的find_package
orocos_kdl库是可选的,如果没找到也不报错,只是不导入。所以:find_package(Eigen3 REQUIRED)find_package(Eigen3 REQUIRED) ######添加这一行,添加Eigen库。- Eigen3库是必需的,如果没找到会报错。find_package(orocos_kdl QUIET)- 指定该库是必需的,如果没有找到,会终止CMake过程并报错。- 查找失败也不会终止CMake,仅仅是不导入该库。QUIET - 可选库,找不到不报错。
2023-11-02 21:57:37
682
原创 log函数解释
log函数是指数函数y = bx 的反函数,用于求数字以某个数为底的对数。log函数的定义:设b>0,b≠1,对于任意实数x > 0,如果存在唯一的实数y,使得 b^y = x,则称y为以b为底x的对数,记为:y = log_b(x)这里b称为对数的底数。对数运算的底数通常取10和e。loga x = logb x / logb alog函数为递增函数,定义域为正实数,值域为全体实数。它广泛应用于科学、工程计算中,可以将乘法运算转换为加法运算,简化计算。log x 表示以10为底的对数。
2023-10-24 13:17:04
2430
原创 MATLAB中保存工作空间所有变量
3. 保存到指定路径save '/User/data' data.mat;4. 保存为文本格式save data.txt x y z -ascii以纯文本格式保存变量x,y,z。这条命令的作用就是将当前workspace中所有的变量保存到当前目录下的data.mat文件中。5. 保存结构体save data.mat struct1保存结构体变量struct1。6. 保存并压缩save data.mat x y z -v7保存并使用压缩级别7压缩。. 只保存指定变量save data.mat x y z;
2023-10-22 20:23:06
3957
原创 机械臂的零力拖动和直接示教
机械臂的零力拖动(Zero Force Control)指的是在机械臂的关节没有输出扭矩的状态下,利用外力使其产生运动的一种方式。5. 再将记录的轨迹转换为正常的运动控制指令,就可以使机械臂重复刚才的被动运动。- 检测机械臂关节故障通过零力拖动的被动运动,可以获得丰富的机械臂状态信息,是机器人标定与诊断的有效手段之一。3. 区别在于,直接示教是在正常控制模式下进行的,关节控制器 aktiv,以匹配外力运动。1. 直接示教是利用外力带动机械臂运动,记录其关节角位置,作为控制的示教信息。
2023-10-16 14:05:10
2315
原创 论文当中的i.e.是啥意思
在学术论文写作中,i.e. 是拉丁文 id est 的缩写,英文意思是“that is”,中文意思是“即”或“也就是说”。另外,e.g. 是 exempli gratia 的缩写,意思是“for example”,用于给出示例或举例进一步说明。在使用i.e. 和 e.g.时,要注意两者含义的不同,正确地应用到论文的叙述中。这里i.e. 表示其后内容是对前文 CNN 的详细解释和指定,指明使用的具体 CNN 模型是 AlexNet。i.e. 用来进一步解释前文的内容,给出更明确或更详细的说明。
2023-10-13 14:52:31
892
原创 引理和定理啥区别
7. 定理是理论框架的关键构成部分,而引理具有辅助作用。良好的定理应具有广泛适用性。综上,引理与定理相辅相成,共同推进数学理论体系的发展。引理为定理提供支持,定理才能表达出重要的深刻结论。4. 定理是建立在公设、公理、已知定理等基础上的,而引理常常是建立在一个定理的基础上,用来推导这个定理的证明。5. 在文章和论文中,定理要用“定理”来表示,而引理则可用“引理”、“命题”或“性质”来表示。引理表达的结论可能比较细微或属于定理证明过程中的步骤。1. 定理具有更高的地位,表示一个重要的结论或命题。
2023-09-26 21:04:15
1930
原创 中科院预警名单
8. 不排除个别预警期刊通过努力改进,脱离预警名单的可能。综合来说,一般不建议优先选择预警期刊投稿,除非确信该刊真的达到了一定的学术标准。7. 但是偶尔也有真正的高质量论文被误认为预警期刊。3. 预警期刊发表论文的学术影响力比较有限,不容易为作者带来高引用率和知名度。5. 如果论文存在漏洞而通过预警期刊发表,可能会受到学术批评和质疑。2. 这类期刊的学术质量参差不齐,接受论文的学术标准可能不严格。1. 预警期刊一般审稿周期长,容易出现迟迟不见回音的情况。6. 部分预警期刊存在版费高、学术不诚信等问题。
2023-09-21 19:16:03
9885
3
原创 Ubuntu下apt install命令的软件安装位置
下使用 apt-get install 或 apt install 下载安装软件,安装的软件位置在/usr/share。
2023-09-14 13:14:21
1829
原创 更换有该包的软件源,如官方源,这个怎么更换
6. 就可以使用新的软件源了。7. 如果要恢复原来的源,将 sources.list 替换回 sources.list.bak 的备份即可。这样就可以方便地换成官方源或其他可用的源,来解决一些软件包无法找到的问题。
2023-09-13 21:36:21
423
原创 aruco码DICT几乘几是啥含义,aruco.getPredefinedDictionary
DICT_5X5_100表示该字典使用5x5像素的marker,一共有100个不同ID的marker。所以当我们使用aruco.getPredefinedDictionary(aruco.DICT_5X5_100)时,就是获取一个包含100个ID,且每个marker大小为5x5像素的预定义字典。- DICT_5X5_1000: 5x5像素,1000个markers通过指定不同的字典,我们可以生成和检测不同大小和数量的ArUco marker。- 5X5:表示ArUco标记是5x5像素大小的正方形格子组成。
2023-09-13 09:15:17
1104
1
原创 cv2.calibrateCamera函数
这个函数里的obj_points和img_points是同一相机不同视角下20张图片的角点,那这个函数返回的旋转向量r_vecs和位置矢量t_vecs是指什么,因为20张图像,棋盘格码的位置都不一样,它这个返回的旋转向量和位置矢量是指哪一张图?- t_vecs: 是一个位移向量数组,长度也是图片张数,表示每张图片相机光心相对于第一个画面的位置变换。- mtx: 是相机的内参矩阵,针对所有的图片通用。这个函数会利用所有的点对进行相机标定,返回的标定结果适用于所有的图片,而不是仅针对单张图片。
2023-09-12 14:49:07
1185
原创 pyrealsense2包中的这个对齐模式下,是深度图对齐彩色图还是彩色图对应深度图,为啥对齐模式下彩色内参和深度内参相同,坐标变换相同。但不是对齐模式下时,内参就不同,坐标变换也不同
对齐过程会计算出一个从深度相机坐标系到彩色相机坐标系的变换矩阵,并应用这个矩阵将深度图重新投影到彩色图的视角中。这样对齐后的深度图和彩色图就是精确对应了,一个像素点的颜色值和深度值代表的是场景中同一个三维点。而未对齐时,深度图和彩色图有独立的内参和坐标变换,需要分别处理才能映射到三维空间中。所以对齐的目的是为了方便处理,直接将深度图投影到彩色图视角中,统一两者的几何属性,从而简化两者的配准和处理流程。这样两个图像的几何属性就统一了。- 坐标变换:对齐后深度图到相机坐标系的变换会与彩色图的相同。
2023-09-12 14:46:57
330
原创 同一个相机拍的不同图片的畸变系数是不是都不同,但相机内参矩阵是相同的
所以通常我们可以认为,同一台相机不同图片的内参矩阵相同,畸变系数虽会存在误差但可以看作相等。3. 但是在标定过程中,由于自变量条件和噪声的影响,计算出的畸变系数会存在误差,不同图片标定结果也会有细微波动。对同一台相机拍摄的不同图片,相机内参矩阵应该是相同的,而畸变系数可能存在一定差异,但通常也是相近的。1. 相机内参矩阵代表了相机的几何特性,包括焦距、主点坐标等,这些参数是固有的,不会因拍摄不同图片而改变。4. 但只要标定条件充分,这种波动应该很小,可以视为相同相机的畸变参数相等。
2023-09-11 20:55:21
429
原创 cv2.getOptimalNewCameraMatrix和cv2.calibrateCamera都能获得相机的内参矩阵,哪一个才是我应该用来作为aruco.estimatePoseSingleMar
所以正确的方法是:使用cv2.calibrateCamera()估计得到的原始内参矩阵作为aruco.estimatePoseSingleMarkers()函数的内参矩阵参数,才能进行正确的姿态估计。在使用aruco标记进行姿态估计时,应该使用cv2.calibrateCamera()得到的原始内参矩阵,而不是cv2.getOptimalNewCameraMatrix()去畸变后的内参矩阵。4. 一般流程是先检测标记获取2D坐标,然后使用原内参矩阵计算标记在相机坐标系中的3D坐标来恢复姿态。
2023-09-11 19:44:36
661
原创 关于运行franka_ros包中的franka_gazebo报错VMware: vmw_ioctl_command error 无效的参数.
这应该是虚拟机的bug,毕竟使用虚拟机和真实的物理机上是有差别的。这种方法简单粗暴,但是没有了3D图形加速功能意味着我们的虚拟机不能使用主机的GPU,而我们做仿真是需要GPU做图形加速的,所以这种方案长期来看不可取。第二个错误是Rviz的交互标记(interactive marker)包含未规范化的四元数,这会导致视觉效果异常。但每次都要这样就会很麻烦,因此建议放入.bashrc文件中,这样每次打开终端都提前运行了。我个人的建议是采用第三种更佳 ,第一种有点丢了西瓜捡了芝麻的感觉,第二种有点小题大做了。
2023-09-11 15:39:38
745
原创 虚拟机ubuntu18.04系统的终端无法粘贴来自windows端复制的内容
sudo apt-get install open-vm-tools-desktop //安装open-vm-tools-desktop。sudo apt-get install open-vm-tools //安装工具open-vm-tools。sudo apt-get autoremove open-vm-tools //卸载已有的工具。解决办法是先安装VMtools工具。
2023-09-11 12:36:24
1415
原创 franka_ros中的一些子包的使用
franka_visualization包该软件包包含连接到机器人并发布机器人和夹爪关节状态以在 RViz 中进行可视化的发布者。可以选择是否加载夹爪。
2023-09-09 21:05:21
582
原创 ERROR: your rosdep installation has not been initialized yet
这个错误表示你的 rosdep 还没有初始化。rosdep 是一个 ROS 中的系统依赖管理工具,用于安装和配置需要的系统依赖包。在使用 rosdep 之前,需要先通过。这个命令会连接远程服务器来更新 rosdep 的数据源,以获取所有支持的 ROS 版本和平台的依赖信息。rosdep 的初始化最好在安装新版本 ROS 后直接完成,以后再使用 rosdep 时就不用每次都更新了。这样可以避免因 rosdep 没有初始化导致的错误。来更新 rosdep 的数据源。
2023-09-08 16:32:43
1982
原创 echo $ROS_PACKAGE_PATH
当你执行类似 roslaunch、rosrun 等命令运行 ROS 程序时,系统需要根据包名找到对应的包路径。ROS_PACKAGE_PATH 指定了这些包的根目录。ROS_PACKAGE_PATH 环境变量用来指定 ROS 中包的搜索路径。以下命令可以查看这个环境变量可以判断 ROS 编译环境是否设置正确。
2023-09-07 19:23:50
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人