- 博客(110)
- 收藏
- 关注
原创 强化学习第一讲:强化学习是什么,强化学习分类
在强化学习里,“模型” (Model)并不是指机器人的 3D 模型,而是一个**“预言家”**。现在的状态(比如:车在路中间,速度 60)。准备做的动作(比如:猛打左方向盘)。下一秒会发生什么(比如:车会侧翻)。Model-Free (无模型):机器人没有这个预言家。它必须真的猛打一下方向盘,翻车了,它才知道“哦,这样不行”。Model-Based (有模型):机器人脑子里住着这个预言家。它想打方向盘之前,先问预言家:“我这样干会怎样?”预言家说会翻车,机器人就不干了。Model-Free。
2026-01-05 20:20:22
1196
原创 python3语法学习
返回的是一个“迭代对象”(Iterator),它不会在内存中真的创建一个包含所有数字的列表,而是在循环到哪一步时才计算出哪一个数。:它是类的“初始化办公室”。你希望这个类一诞生就拥有的数据(如机械臂 IP、模型路径),都放在这里。,这不是强制的,但在工程中能极大提高代码可读性,防止传错数据。(可选):步长,即相邻两个数之间的间隔,默认为 1。:函数执行完后交出的“果实”。(可选):序列的起始数值,默认为 0。处理数据的函数(方法)**打包在一起。,如果调用时不传,就用默认值。(必选):序列的终止数值。
2026-01-05 19:16:02
452
原创 python3语法学习
返回的是一个“迭代对象”(Iterator),它不会在内存中真的创建一个包含所有数字的列表,而是在循环到哪一步时才计算出哪一个数。:它是类的“初始化办公室”。你希望这个类一诞生就拥有的数据(如机械臂 IP、模型路径),都放在这里。,这不是强制的,但在工程中能极大提高代码可读性,防止传错数据。(可选):步长,即相邻两个数之间的间隔,默认为 1。:函数执行完后交出的“果实”。(可选):序列的起始数值,默认为 0。处理数据的函数(方法)**打包在一起。,如果调用时不传,就用默认值。(必选):序列的终止数值。
2026-01-05 17:36:01
816
原创 c++语法学习
本文摘要: C++动态数组vector与命名空间、类的基本概念解析。vector是能自动调整大小的动态数组,相比普通数组更灵活;命名空间用于解决命名冲突问题,类似文件路径分类;类通过封装实现数据保护,包含构造函数、析构函数、静态成员等特性,支持访问控制(public/private/protected)。文章详细对比了C++与Python在类语法上的差异,包括访问控制、内存管理等核心区别。
2026-01-05 17:35:29
796
原创 代码随想录学习笔记
不同编程语言的内存管理是不一样的,以C++为例,在C++中二维数组是连续分布的。数组可以方便的通过下标索引的方式获取到下标对应的数据。那么二维数组直接上图,大家应该就知道怎么回事了。
2026-01-05 17:34:58
190
原创 做一个项目的完整流程应该是什么样
本文介绍了一个基于AI的智能交互系统开发流程。系统包含5个核心模块:音频录制模块(audio_recorder.py)负责采集语音并反馈状态;视觉识别模块(yolo_see.py)通过YOLO算法识别物体并计算3D坐标;思考决策模块(listen_and_think.py)整合Whisper语音识别和LLM思考功能;动作控制模块实现机械臂的精准抓取;主控模块(main.py)负责整体流程调度。系统强调结构化数据流(YOLO输出字典、LLM强制JSON格式)和模块化设计,通过配置文件集中管理参数,提升了系统的
2026-01-05 13:44:27
658
原创 一份通用的手眼标定代码, 手把手实现你的第一次机械臂实体抓取
在采集标定板与位姿数据的时候。建议让标定板占据摄像机画面的二分之一,且一定每次要较大幅度更换末端执行器位姿,且尽量让标定板处于更多的一个倾斜状态。将手眼标定矩阵,与物体在相机坐标系下的坐标(打开RealSense Viewer悬浮到物体上查看)填入compute_in_hand.py。核心算法部分(compute_in_hand.py)通常不需要修改,因为它使用OpenCV的标准手眼标定算法,与具体硬件无关。千万注意单位,以及机械臂末端抓取位姿的表达格式(四元数,欧拉角,还是弧度)(米还是毫米)
2025-12-30 23:32:02
889
原创 眼在手上外参标定保姆级教学(vscode + opencv)
1. 标定板——使用棋盘格(如 9x6 内角点),尺寸需已知(单位:米或毫米)2. 相机内参——提前完成相机标定,获取 camera_matrix 和 dist_coeffs参考。
2025-12-23 20:03:27
1141
原创 眼在手上外参标定保姆级教学---离线手眼标定(vscode + opencv)
手眼标定的本质就是记录多组数据。所以也可以不用配置那么复杂的环境,直接在实验室中拖动机械臂本体,然后记录当前位姿,然后拍摄图片就行了,然后再把这些数据送到一个简单的算法执行器求解机械臂末端与相机的变换矩阵里就行了。
2025-12-20 10:45:45
1261
原创 在虚拟机上面无法正启动机械臂的控制launch文件
在使用虚拟机(如 VirtualBox 或 VMware)运行大族 Elfin E03 机械臂的 ROS Melodic 环境时,启动 elfin_ros_control.launch 文件会报错,例如 “Could not initialize ethercat driver” 和 “Could not initialize SOEM”,导致节点崩溃(process has died with exit code -6)。这阻止了获取机械臂末端位姿数据,影响手眼标定等应用。
2025-12-20 10:42:34
548
原创 眼在手上外参标定保姆级教学(Ubuntu 18.04 + ROS)
安装所需包(visp_hand2eye_calibration、aruco_ros、realsense2_camera、elfin_robot)标定的精度依赖数据量和姿态分布,关键是 “让机械臂移动到不同位置,采集足够多的独立姿态”。如果报错,检查 IP、端口或重新 catkin_make。成功后,您的手眼标定就完成了!标定后必须验证精度,否则无法确定转换矩阵是否可用。标定板务必测量并记录格子尺寸(精确到 0.1mm)(相机固定在机械臂末端,标定板固定在外部)(而非 3.10.2)。
2025-12-20 10:31:29
1223
原创 5分钟带你彻底弄明白---手眼标定理论讲解(相机内参与外参标定)
把相机想象成 “你的眼睛”,相机坐标系就是以 “眼球光学中心” 为基准建立的 3D 空间坐标系 —— 它描述了「现实世界中的物体,相对于相机的 3D 位置」(比如 “杯子在我眼睛右边 5cm、下方 3cm、前方 20cm 处”)相机坐标系描述的是「真实物理空间的位置」,所以单位是毫米手眼标定是一个实验过程,得到的结果是「手眼矩阵 X」。手眼矩阵 X是什么求解(眼在手上,Eye-in-Hand)或者求解(眼在手外,Eye-to-Hand)
2025-12-20 10:29:23
1323
原创 如何跑通,吃透一个开源项目?
告诉他,当前的硬件情况,环境情况与软件情况,让他给出,环境配置的相关文档与步骤,先把环境给搭建出来。环境的搭建过程中,错误是各种各样的,就是要你耐心去寻找解决办法,慢慢来,这个是没有固定解决方案的,每一次都可能不一样。再问他如何才能跑通起来,应该在哪执行什么程序,硬件应该如何连接,把日志发送给他验证自己的每一步是否执行正确了。先丢给cc,让他阅读。
2025-12-19 23:34:56
115
原创 做项目的时候
不要担心,这些东西必定会有官方文档教程与github源码,与教学。做项目的时候你可能会接触很多新技术,新设备,新功能包,新软件。去官网找,去github搜索,他们公司肯定会出一些资料的。
2025-12-18 15:53:33
75
原创 环境配置错误
沉静下来,耐心一个一个解决。多跟ai交互,把报错历程做成一个思维导图,防止自己迷路,因为极有可能在解决一个报错的过程中又报错,不断循环嵌套,就导致你都忘记了你最初要干什么。安装包的时候,sudo apt install 命令安装的包是全局起作用的,不需要考虑在哪个路径下执行,都一样。在配置环境的时候,你会遇到千奇百怪的各种错误。你告诉 ROS 管家(rosdep):“扫描我。),只帮我买现成的系统级依赖包(文件夹里的所有 ROS 包(),找不到的小众依赖就算了(),不用问我,直接下单(
2025-12-18 12:10:16
151
原创 虚拟机上由于网络问题无法正常git clone
报错“这是问题原因:你的系统Git使用GnuTLS库进行HTTPS连接,在某些网络环境(尤其是中国大陆)下与GitHub的TLS握手失败。
2025-12-18 11:38:28
452
原创 无法定位包: apt 安装(预编译二进制包)与源码编译(自己手动编译)
sudo apt install librealsense2-dkms librealsense2-utils librealsense2-dev 等价于。
2025-12-18 11:25:16
303
原创 用matlab对相机进行标定获取相机内参
内参是相机自身的固有参数(如焦距、主点、畸变系数)作用是将图片中的像素坐标转换为相机坐标系下的 3D 坐标,修正相机畸变(比如鱼眼镜头的图像变形)相机的内参虽然是固定的,但实际出厂时会有误差,所以必须先(比如 OpenCV 的标定工具),得到准确的 fx、fy、cx、cy内参用一个 3×3 的矩阵表示,结构是:就像你用手机拍杯子时:fx 决定了 “杯子在屏幕左右方向上的放大程度”;fy 决定了 “杯子在屏幕上下方向上的放大程度”。
2025-12-17 15:10:47
607
原创 在虚拟机中 如何使用Annaconda创建虚拟环境
项目 A 需要 Python 3.8 + PyTorch 1.10;项目 B 需要 Python 3.6 + TensorFlow 2.0;如果都装在系统 / Anaconda 的 base 环境里,会出现版本冲突(比如 PyTorch 1.10 不支持 Python 3.6)。而在 Anaconda 的安装目录()下创建一个名为pytorch的文件夹;在该文件夹中独立安装 Python 3.8 解释器,以及 Python 3.8 的基础依赖包;
2025-12-17 11:52:21
800
原创 虚拟机Ubuntu18.04磁盘空间剩余不足怎么办--博主亲测有用的
首先,需要将虚拟机关机。进入到虚拟机的设置界面,如下图:如图,虚拟机的磁盘容量最大为:40G。进入磁盘扩展界面,如下,修改扩展后的磁盘容量为:41G,保存。
2025-12-17 11:51:39
205
原创 E: Unable to locate package 无法定位包
E: Unable to locate package是APT包管理工具中常见的错误信息,表示系统无法找到请求安装的软件包。3. 如果你在某些地区可能会遇到软件源访问速度慢或不可用的问题,可以考虑使用其他镜像源。例如,使用清华大学的镜像源,打开。文件,删除所有内容,再替换成适用于你系统,版本的软件源。2. 如果软件包名称正确,但仍然出现错误,可能是因为系统未更新软件包索引。当使用APT包管理器安装软件包时,系统会从配置的软件源中查找相应的软件。更新完成后,再次尝试安装所需的软件包。
2025-12-16 17:14:52
249
原创 虚拟机vmware linux的piix4_smbus : SMBus Host Controller not enabled
虚拟机内存不足了,无法正常启动进入命令行模式,删除部分内容后重新启动选择“Advanced options for Ubuntu”选择“… (recovery mode)”这项:选择“root": 进入命令模式。
2025-12-16 17:02:41
199
转载 Ubuntu执行apt-get update报错:W: 无法下载 http://cn.mirrors.ustc.edu.cn/ubuntu/dists/bionic/InRelease 连接失败
https://blog.youkuaiyun.com/qq_45629857/article/details/107097475?fromshare=blogdetail&sharetype=blogdetail&sharerId=107097475&sharerefer=PC&sharesource=weixin_71849365&sharefrom=from_link
2025-12-16 15:23:36
52
原创 ubuntu以前可以联网,突然无法上网了
首先,尝试重启Network Manager服务。这通常可以解决大多数网络连接问题。再打开火狐浏览器,看卡能不能正常上网。查看右上角网络连接图标是否恢复正常。
2025-12-16 15:21:13
304
原创 基于深度学习的机械臂抓取
虚拟抓姿不是 “固定的平面姿势”,而是 **“绑定在物体自身上的‘相对姿势’”**;真实物体不管怎么倾斜、有多少自由度,只要能算出它的 6DOF 位姿(找到它的自身坐标系),就能通过 “坐标变换” 把虚拟抓姿适配到真实物体的任意状态上。步骤 4:生成标签,攒成数据集6DOF 位姿:记录 “抓这个物体的 3 个位置 + 3 个旋转角度”(精准的空间抓姿);平面抓取矩形框:在 2D 照片里,画个矩形框标出 “抓的区域”。相机内参是相机自身的固定参数。
2025-12-14 17:29:13
822
原创 论文自查错误修改心得
上面是一篇latex文献,你是xxxxx领域的水平很高的审稿人与教授,请你发现指出我论文中的格式问题.包括但不限于核心拼写是否有错误 时态不一致(学术写作时态统一) 术语 / 格式是否统一 单复数错误(术语 / 逻辑匹配) 用词不当 / 冗余(学术写作规范) 标点 / 格式错误(LaTeX / 学术规范) 可疑 / 需确认的关键问题(逻辑 / 理论完整性) 1.术语未定义 2.变量不一致 3.公式编号缺失 4.系数异常 5.文献引用重复 6.引用缺失 7.公式格式。3.1.1 小小节标题。
2025-12-10 11:42:00
241
原创 如何快速安全地在系统上配置好github项目的环境配置
Docker 是一个开源的容器化平台,用于打包、分发和运行应用程序及其依赖项。它通过轻量级容器技术,将应用与其运行环境(操作系统、库、配置文件等)封装成一个独立的单元,确保应用在任何环境中都能一致运行。关键比喻:Docker 容器就像一个"标准化的集装箱"——无论运输到哪里(开发环境、测试环境、生产环境),应用内容都保持不变,无需重新组装。特性虚拟环境 (venv, conda)Docker 容器 (Docker, Podman)隔离级别依赖包、项目配置整个操作系统环境(除了内核)环境一致性低。
2025-12-01 21:36:32
886
原创 如何查看期刊的中科院分区?如何免费下载外刊论文?
在SCI/SSCI期刊的浩瀚海洋中,仅仅依靠影响因子(Impact Factor)这一单一数值来判断期刊水平,往往会产生偏差。因此,学术界诞生了两套极具影响力的评价体系——和。这两套体系,如同两把功能不同的“标尺”,从不同维度为期刊的学术影响力“划重点”。
2025-11-29 12:58:36
332
原创 基于智能仿生的路径规划算法--蚁群算法(Ant Colony Optimization, ACO)
plaintext初始化环境建模→设置参数→蚂蚁置于起点↓每轮迭代开始:所有蚂蚁并行搜索路径(概率选路→到达终点/无路可走)↓筛选有效路径,计算每条路径长度↓全局信息素挥发→有效路径信息素增强(含精英策略)↓检查终止条件?→是→输出最优路径→否→重置蚂蚁位置,进入下一轮迭代。
2025-11-29 12:57:47
969
原创 路径跟踪算法概述
路径跟踪算法是自主系统的核心技术,选择合适算法需综合考虑应用场景、硬件资源、控制精度要求和环境特性。几何类算法简单高效适合入门应用;模型类算法精度高但复杂度大,适合高端场景;智能类算法适应性强,代表未来发展方向。实际应用中,可根据需求组合多种算法,形成优势互补的解决方案。
2025-11-29 12:57:39
1496
原创 五次多项式轨迹优化算法详解
是机械臂运动控制中常用的在机械臂轨迹规划(优化/生成)中,通常都会给出以下6个约束条件。假设我们需要生成的轨迹是s=f(t),那么jerk就是f(t)的三阶导。,我们的目标就是在这6个约束之下,找到一个f(t)使得其在【0,T】时间内,jerk的绝对值的变化尽可能小。这个问题的数学模型如下:而这个数学模型的答案就是“f(t)应该是一个五次多项式”(具体推导过程省略,想知道的可以观看。
2025-11-25 15:48:37
109
原创 多目标路径规划A*算法(MOA*)(Multi-Objective A*)算法
MOA*(Multi-Objective A*)是。在机械臂场景中,它解决了 “路径长度、运动能耗、避障安全性” 等多个相互冲突目标的权衡问题,输出(即没有哪个解在所有目标上都优于其他解,每个解都是某一方面的最优)
2025-11-25 12:44:40
90
原创 RRT Connect(双向快速扩展随机树)算法详解
RRT Connect 是,其核心创新是,通过 “树与树之间的连接” 大幅提升路径规划的收敛速度(比原生 RRT 快 2-5 倍)。
2025-11-25 12:44:16
308
原创 丝滑快速拓展随机树 S-RRT(Smoothly RRT)算法核心原理与完整流程
参数取值 / 说明作用Pgoal目标定向采样概率阈值平衡目标导向与随机探索Pbest0.6调节随机扩展的方向比例αmin90°最大曲率约束的最小路径夹角ε探索步长控制节点扩展的步长大小碰撞检测库高效检测机械臂与障碍物碰撞拟合方法三次 B 样条生成曲率连续的光滑轨迹。
2025-11-25 12:43:24
129
latex软件资源,安装教程,学习教程
2025-12-06
【机器人系统架构】基于ROS2的多组件协同仿真系统设计:融合YOLOv8视觉检测与机械臂控制的集成框架
2025-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅