- 博客(225)
- 资源 (31)
- 收藏
- 关注
原创 QtCreator源码学习——概要(索引汇总)
QtCreator源码学习——概要(索引汇总)文章目录引言文章汇总初入源码引言回头一看已经写了五六篇关于QtCreator源码学习的文章了,顺手写个汇总专栏方便自己也方便大家检索。之所以开始QtCreator源码的学习其实是看了软件架构模式(software-architecture-patterns 在下边第一篇博文中有pdf下载链接),根据书中所描述的几种架构总结近些年的开发过程,发现写的软件都是按照分层架构设计的,对于其它架构使用和了解的并不多,所以会有进一步学习了解架构模式的想法作为以后设计
2021-03-04 20:21:19 1528 6
原创 ROS开源机器人操作系统学习记录——概要(索引汇总)
本文是博主自己在用树莓派学习ros教程的记录,对于linux/unix系统应该是通用的,对于零散的技术点做个结构化梳理~一、树莓派3 Raspbian-jessie编译安装ROS Indigo二、快速启动ROS小乌龟三、ROS Topics(话题)四、rosservice、rosparam、rosconsole和roslaunch的使用五、使用rosed编辑ROS中的文件六、创建ROS消息和ROS服务七、编写并运行简单的消息发布器和订阅器(C++)八、编写并运行简单的服务器和客户端 (C++
2020-08-21 10:25:46 925 1
原创 简单易懂23种设计模式——概要(索引汇总)【含C++代码实例】
对于设计模式的学习主要参考文献为——设计模式,可复用面向对象软件的基础(Design Patterns Elements of Reusable Object-Oriented SoftWare Erich.)什么是设计模式? 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人...
2019-02-20 18:51:46 2724 2
原创 Linux共享网络给其它主机
本机有无线和有线网卡,无线能上网有线不能上网,有线网段内其它主机共享网络本机有多有线网卡,其中一个网段能上网,共享网络给另一网段内其它主机具体配置过程如下。此时配置的无网主机已经能够连接到网络里了,大家也可以在此基础上再做进一步的配置,有问题欢迎留言交流。【让云服务器更灵活】iptables转发tcp/udp端口请求_iptables udp转发-CSDN博客↩︎linux下4g模块共享网络给内网_quectel-cm 源码-CSDN博客↩︎。
2024-03-29 01:30:24 388
原创 Nomachine远程黑屏通用处理方法
NoMachine是一种远程桌面软件,它允许用户通过互联网或局域网连接到远程计算机,并在本地计算机上使用远程计算机的桌面环境和应用程序。它提供了高性能的图形渲染和低延迟的响应,使用户可以像在本地计算机上一样操作远程计算机。NoMachine支持跨平台,可以在Windows、Mac、Linux和移动设备上使用。它提供了安全的连接,支持加密和身份验证,确保数据传输的安全性。用户可以远程访问自己的文件、应用程序和桌面环境,方便进行远程办公、远程教育、技术支持等工作。
2024-03-24 22:37:41 409
原创 vscode中转(跳板)连接目标主机
即可实现多机跳转的需求,一般来说使用过公网主机跳私有ip的主机,通过主机内部iptables&route管理跳转。↩︎。
2024-03-21 23:39:15 706
原创 如何快速用docker run启动一个linux环境(debian/ubuntu)
如何快速启动一个docker环境用于调式或相关用途,该环节具备某一特定系统所有相关组件及依赖库,并将本地目录挂载到目标路径,配置本地网络同时host映射到容器中。本文主要用来说明如何快速启动一个容器,并挂载文件到容器中。Debian(Linux)系统更换国内镜像源_linux debian换源-CSDN博客↩︎。
2024-03-21 12:33:18 565
原创 ROS2 launch rs_launch.py的说明(设置分辨率、配准、pcl图等)
本文目的是记录下当前ROS2版本apt install 的 realsense-ros的rs_launch文件中参数有哪些及如何配置。
2024-03-13 22:37:48 321
原创 Python互斥锁实例(包含超时解锁)
最近遇到一个小需求,大概是请求机器人&自动化设备执行某些功能,这些功能之间有共同操作资源或在业务逻辑上有冲突,如何保证多线程的请求不会同时执行造成损失。直接返回等待拿到锁,继续执行等待拿到锁,继续执行或超时返回虽然这篇文章写的比较基础,但是实际使用中大家可能都会用的到,整理记录于此。
2024-03-13 22:14:53 367
原创 如何使用Pyhon最简单实现&使用读写锁(pip官方库)(防死锁超时保护)
读写锁(Readers-Writer Lock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。读读不互斥、读写互斥、写写互斥1。看到很多文章是自己实现的锁,通过Mutex或者threading等方式,这里写一个简单的方法来实现读写锁,import官方库来实现2。该库不仅实现了读-写锁问题,而且还符合python锁定interface,包括对超时的支持。
2024-03-12 23:44:43 478
原创 ROS2 Python导入三方库及自定义python程序
本文主要讲解ROS2建立pyhon包时如何导入三方库文件(.so),及自定义的python程序。关键区别在于是否有"."# 通常我们在导入python程序时如下# 在导入自定义python文件时如下# 去掉点会报错。
2024-03-12 23:14:20 272
原创 三维不同坐标系下点位姿态旋转平移变换
3D相机坐标系下长方体物体,有本身坐标系,沿该物体长边方向移动一段距离,并绕长边轴正旋转方向转90度,求解当前物体中心点在相机坐标系下的位置和姿态多关节机器人末端沿工具坐标系,朝y向移动一段距离,并绕y轴正向旋转90度,求解当前点在机器人坐标系下的位置和姿态其实综合起来说便是在基坐标系O下有一个点A,A点有自己的用户坐标系O’,A点在自己用户坐标系O’下发生三维平移、旋转变换,变换完成后该点B在基坐标系O下的位置姿态求解。
2024-03-10 18:21:56 970
原创 一文学会python实现四元数、欧拉角、旋转矩阵变换
本文主要是将python实现四元数、欧拉角、旋转矩阵变换的所有转换做了一个整理,方便大家调用实现变换。
2024-03-10 00:42:05 322
原创 【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 6
本篇文章在上篇文章的基础上主要讲解双轴机器人驱动怎么编写双轴机器各个轴风别用不同的驱动器控制1,实际应用场景可能是机器人地轨与机械臂控制器是两个控制单元,需要分别实现底层驱动控制。对于Hardware Interfaces常见接口可见《ROS2 Control hardware_interface说明》。这里就是example6的整体解说了,主要讲如何分别配置两个轴的控制器,对于controller及其定义以及如何调试运行都做了说明,整个项目代码避免有小伙伴写错已上传至gitee代码库,地址如下**
2024-03-08 18:01:33 1280
原创 raspberry4B安装realsenseD435驱动及ROS2调用
最近有一个需求是开发raspberry在树莓派上实现realsense D435相机驱动的开发,没有现成的驱动需要手动编译,并且网上查到的大多是树莓派安装Ubuntu 22.04或20.04等系统,需要重新下载树莓派镜像刷系统,博主树莓派当前已经安装了官方的系统,所以想是否能够docker方式实现环境配置安装。本文主要记录如何实现再现有系统下实现驱动编译安装。本文用来记录arm硬件如何安装实现realsense驱动。
2024-03-08 18:00:23 348
原创 【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 5
本篇文章在上篇文章的基础上主要讲解双轴机器人驱动怎么编写机器人完整包含所有方向的外部/内部(扭矩、压力)传感器数据反馈1,如何在硬件接口中集成传感器。对于Hardware Interfaces常见接口可见《ROS2 Control hardware_interface说明》。这里就是example4的整体解说了,主要讲如何配置位置控制器及接入外部扭矩传感器,对于controller及其定义以及如何调试运行都做了说明,整个项目代码避免有小伙伴写错已上传至gitee代码库,地址如下**Bing Lee。
2024-03-07 21:35:30 920
原创 ROS2快速实现ament_lint_auto自动代码审查
本文用来记录ROS2如何快速实现代码自动审查测试。本文提供一种在ROS2 程序CI编译时自动自动审查测试的方法,也可以单独设置等1,其中还有有一些规范设置等参数,感兴趣的朋友可以自行研究。↩︎。
2024-03-07 21:23:06 284
原创 【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 4
本篇文章在上篇文章的基础上主要讲解双轴机器人驱动怎么编写机器人外部/内部(扭矩、压力)传感器数据反馈1,如何在硬件接口中集成传感器。对于Hardware Interfaces常见接口可见《ROS2 Control hardware_interface说明》这里同时引入一个Broadcaster2,负责将来自机器人或传感器的力/扭矩状态以topic方式发布。发布的消息类型为。
2024-03-06 22:20:47 825
原创 ros2 launch如何控制node的启动顺序
本文用来说明如何控制ros2 launch 节点的先后顺序,我们有时候需要一个节点启动完成后再启动其它节点。
2024-03-06 22:19:58 1115
原创 ROS2 Control hardware_interface说明
hardware_interface是ROS control控制使用的硬件接口,用来向硬件发送 ( write() ) 命令并从其接收 ( read() ) 各轴的状态。本文主要对ROS control常用的hardware_interface做了整理汇总统一说明,方便后续查阅了解使用。
2024-03-05 16:07:26 1105
原创 ROS2 Python环境变量PYTHONPATH设置
创建python包时,有时候会涉及外部库的导入,这里讲解一下如何配置PYTHONPATH变量让程序顺利找到外部库。设置,这种方法不但能导入.py程序,同时动态库、静态库也可通过此方法导入并找到。或者新建一个目录更新PYTHONPATH环境变量,使用。放同级,在写程序时通过import即可,例如导入一个。此处以ROS2 Humble版本为例。如果依赖库是py程序,与。app.py应当如下所示。
2024-03-04 21:09:52 315
原创 【ros2 control 机器人驱动开发】双关节多控制器机器人学习-example 3
本篇文章在上篇文章的基础上主要讲解多个控制器interface的双轴机器人驱动怎么编写配置1分别是位置、速度、加速度、扭矩控制。这里就是example3的整体解说了,对于controller及其定义以及如何调试运行都做了说明,整个项目代码避免有小伙伴写错已上传至gitee代码库,地址如下**Bing Lee**,请期待下一篇此系列文章。↩︎。
2024-03-04 18:25:29 1192
原创 【让云服务器更灵活】iptables转发tcp/udp端口请求
路由转发是计算机网络中的一种重要概念,特别是在网络设备和系统之间。它涉及到如何处理和传递数据包,以及决定数据包应该发送到哪个网络设备或路由表中的哪条路径,iptables是本文主要应用的软件技术。12本机端口转发到本机其它端口本机端口转发到其它机器本地服务器搭建samba共享文件夹,挂载到云服务器本地服务器搭建gitlab服务器,挂载到云服务器本地搭建的其它服务器挂载到云服务指定端口。
2023-12-21 16:22:34 2221 2
原创 【ros2 control 机器人驱动开发】简单双关节机器人学习-example 1
为系统、传感器和执行器创建以URDF文件的形式创建机器人描述加载配置并使用启动文件启动机器人控制RRBot的两个关节(两旋转关节机器人)六自由度机器人的控制实现机器人的控制器切换策略使用中的关节限制和传输概念先把当前完成部分更新到博客,运行结果截图如上所示,这两天继续完善。↩︎↩︎。
2023-12-18 20:48:41 1537
原创 ROS2 Control分析讲解
是一个使用(ROS 2)进行机器人(实时)控制的框架。它的软件包重写了ROS(机器人操作系统)中使用的软件包。的目标是简化新硬件的集成并克服一些缺点。1本文对于做了总体的介绍,后续会做一个真实机器人controller driver的实现,用于针对不同的硬件做控制驱动。↩︎。
2023-12-14 20:28:15 1435
原创 ROS 1到ROS 2项目移植的一些转换点
这些指南展示了如何将现有的ROS 1软件包转换为ROS 2。如果您是ROS 1和ROS 2之间移植的新手,建议您按顺序阅读指南。
2023-12-12 20:49:04 747
原创 ROS2 LifecycleNode讲解及实例
本文用来记录什么是LifecycleNode,做背景介绍及基本原理的介绍及分析如何使用。1这是节点在实例化后立即处于的生命周期状态。这也是节点在发生错误后可能返回的状态。节点可以经由configure转换转换到Inactive状态节点可以经由shutdown转换转换到Finalized状态本文对于LifecycleNode做了整体的说明和测试,说明了中间的变换关系,方便大家理解和用于实际使用中。↩︎↩︎ROS2----LifecycleNode生命周期节点总结↩︎。
2023-12-12 20:39:57 1329
原创 Gitlab CI如何实现安全获取ssh-key拉取依赖项目,打包成品
当前的项目编译需要依赖别的项目协同编译,如何将别的项目也pull到该项目里,编译成品如何打包镜像并保存到registry中。本文主要写在某项目进行CI流程编译时,如何拉取该项目依赖项目,中间会涉及到gitlab-runner的配置,runner运行服务器的配置,CI(.gitlab-ci.yml)流程文件编写,Dockerfile文件编写等。本篇博文整理一种相对简单实现目标需求的方法,其实还有使用CI Job token1,生命周期短并且可以通过设置该token作用范围。通过去设置。
2023-11-16 23:08:14 1870
原创 debian/ubuntu/linux如何快速安装vscode
这里写一篇简短的文字用来记录如何在Linux发行版上快速安装VScode,主要使用的一个软件snap,做一个简单介绍:Snap Store 是 Ubuntu、Debian、Fedora 和其他几个 Linux 发行版中的一个应用商店,提供了数千个应用程序和工具的安装。Snap Store 使用 Snap 包格式,这是一种通用的 Linux 软件包格式,使得在不同的 Linux 发行版中安装和管理软件变得更加容易。Snap Store 中的应用程序是由开发者直接上传的,可以是开源也可以是专有软件。
2023-11-16 18:55:13 1090
原创 debian/ubuntu/windows配置wiregurad内网服务器(包含掉线自启动)
本文主要用来讲解如何配置wireguard服务器、客户端及掉线自启动的全套流程。WireGuard 是一种轻量级的虚拟专用网协议,旨在提供快速、安全、简单的网络连接。它是由 Jason Donenfeld 在 2015 年发明的,并于 2018 年正式发布。WireGuard 与其他常见的协议相比,有许多优点,如更小的代码库、更快的速度、更低的系统资源消耗、更简单的架构和更安全的加密方式。
2023-11-09 21:56:58 2739
原创 linux如何获取当前连接的ssh用户信息
linux ubuntu debian如何获取当前连接的ssh用户信息。安装完成后通过下边的指令获取。可以通过下边指令可以获得。可以通过下边指令可以获得。
2023-10-17 20:46:58 1602
原创 gitlab git lfs的替代软件整理汇总及分析
尝试解决但是发现基本是无解的,不知道什么异常导致服务器上的lfs文件丢失了,重新上传,强制上传都提示文件已存在,所以其中一部分文件就这样完全丢失了。当时在开启gitlab lfs服务时也有看到对于lfs的吐槽的文章,但由于二进制文件如果直接commit到git中会导致repo快速增大,且在pull的时候项目整体体积变得很大,那么有没有什么替代软件呢,博主查到如下几个:git-annex、git-fat、git-media、git-symGit推出大文件储存工具Git LFS,但它真的好用吗?
2023-10-11 23:07:17 1269
原创 五年记--
这一年对于自己、对于公司、对于行业、对于技术都有了更多的认识,从去年充满挑战的环境到今年完全无序的环境适应了不短的一段时间,规律要自己去寻找,规则要一点点建立起来,遇到了形形色色的人,看到了各种各样的事,在这样的环境里去逐渐把稳自身,推动各项事情的发展确实不是一件容易的事,但是已经身处此地,尽最大的努力去思考和做成想做的事,尽最大的努力去学习和成长,别给这段时光留下遗憾。不知道新的一年会怎样,但是博主应该会比今年成长多一点吧,在此也祝愿各位看到文章的朋友身体健康、事业顺利~
2023-10-09 21:58:16 405 1
原创 一文学会配置Fanuc控制柜端ROS2驱动
本文用来记录如何配置Fanuc机器人控制器ros驱动,目的是后续实现ROS2控制实体机器人运动。本文讲解了如何配置Fanuc机器人控制柜端的程序,后续会在此基础上讲解如何配置ROS端的软件程序。
2023-08-18 19:16:39 1350 6
原创 debian11 apt快速安装状态栏图标显示“top-icons-plus“
博主在安装`barrier`共享鼠标键盘、飞书等软件后经常出现最小化后找不到的情况,本文用来记录如何给debian11安装状态栏图标显示
2023-08-16 14:27:16 510
原创 Linux常用命令学习
报名参加了@大虾好吃吗的linux基础及shell脚本学习,希望能通过这次学习更加熟悉全面了解基础操作及进阶操作本文一方面记录常见命令,一方面对这些常见命令做一些扩展仍在补充中。
2023-06-30 18:30:21 604
原创 一文学会使用键盘控制moveit2机械臂模型
在之前文章的基础上相信大家已经学会了如何搭建一个机械臂模型,那么我们如何对其进行控制呢,上网检索了一下没找到能清晰指导实现整套流程的文章,所以自己摸索着写了一篇希望能帮到大家这篇文章会分享记录如何实现用键盘控制之前我们建立的gp110机械臂的全套流程,想要学习搭建机械臂模型可参考–一文学会MoveIt Setup Assistant搭建moveit2机械臂模型。
2023-06-28 18:09:22 1519 2
原创 简单易用多git服务器ssh密钥配置管理
快速理解如何配置管理多个git服务器的ssh,当我们有多个git帐号时会涉及如何管理不同的remote使用不同的git账户登陆推送当前repo的origin remote是github,我们在推送时直接自动调用github的ssh密钥当前repo的gitee remote是gitee,我们在推送时自动调用gitee的ssh密钥如此不管多少个git服务器被使用,那么都能很灵活管理ssh-keySSH-key是SSH协议用于身份验证的一种方式,用于加密和解密数据。它由一个公钥和一个私钥组成。
2023-06-26 17:22:49 1350
原创 作为软件工程师对Docker的认知和看法
两年前我还没有接触过Docker,也不理解Docker在自动化工程应用中有什么帮助,但随着逐渐深入学习体会到了它的优点,这篇文章就从一个软件工程师角度来说说我在使用中哪些场景下发现了哪些易用点。以上就是博主想要分享给大家的内容,即使在机器人自动化这类相对比较传统的行业中,Docker的使用也极大推动了研发效率、降低了维护的难度、且极大弱化了本地操作系统环境的影响。
2023-06-13 21:35:33 1721 2
sokit-1.3-windows版本
2023-08-18
VSCode 1.78 linux ubuntu debian .deb安装包
2023-05-04
MobaXterm-Portable-v23.0 终端管理神器,免费版
2023-02-21
ROS2 service&client pub&sub action 实现源代码
2022-02-16
LeeRestLifeCounter.zip
2021-07-14
osg_qt4.zip
2021-06-27
beginner_helloworld.zip
2021-04-24
qtcreator-ros-xenial-latest-offline-installer.run
2021-03-25
qgraphicsDemo2.zip
2021-03-10
LeeBaseStruct.zip
2021-03-10
rosdistro.7z
2021-03-08
QtSocketChatLee.zip
2021-03-02
QtSingleApplication.zip
2021-03-02
qt子目录项工程模板及动态库二进制兼容测试实现
2020-12-07
QListPopBackTest.zip
2020-10-19
FileReleated.zip
2020-10-19
qt-creator-1.0.0-src.zip
2020-10-09
QGraphicsView QGraphics 窗口自适应
2020-09-25
QCustomPlot2.0.1类和函数说明.xmind
2020-09-10
CustomPlotTest.zip
2020-09-10
qgraphicsDemo1.zip
2020-05-13
arduino-1.8.12-windows.zip
2020-03-15
Sense-HAT-B-Demo.7z
2020-03-11
bcm2835-1.63.tar.gz
2020-03-11
cmake 3.12.1 linux版打包下载
2018-09-25
vtk linux&unix;源代码7.1.1
2018-09-25
windbg下载win7&8&8.1合集
2018-09-11
Qt多工程调用单例实现,带线程锁
2018-09-04
QCustomPlot: Item Demo的实现
2018-08-29
机器人人工智能未来可能的形态
2023-05-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人