自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 【C++】互斥锁(Mutex)和原子操作(Atomics)

详细探讨 C++ 中的并发、多线程、互斥锁(Mutex)和原子操作(Atomics)的概念及其区别,并附带代码示例。

2025-03-27 20:34:43 852

原创 【C++】 动态内存管理

用于存储局部变量、函数参数、函数返回地址等。由编译器自动分配和释放,速度快,但空间有限。变量的生命周期与其作用域绑定。也称为自由存储区 (Free Store)。用于存储程序运行时动态分配的内存。程序员需要手动请求分配(使用new)和释放(使用delete空间较大,但分配/释放速度相对较慢,且管理不当容易出错。用于存储全局变量和静态变量 (static)。在程序整个运行期间存在。存储常量字符串等。动态内存管理主要关注堆内存的使用。

2025-03-27 20:32:22 885

原创 【C++】五大内存分区

1. **栈区 (Stack)**2. **堆区 (Heap)**3. **全局/静态存储区 (Global/Static Storage Area)**4. **常量存储区 (Constant Storage Area / Read-Only Data)**5. **代码区 (Code Area / Text Segment)**

2025-03-26 10:31:26 1188

原创 【C++】内存泄露查询和诊断

能检测内存泄漏、堆栈和全局变量的缓冲区溢出、使用已释放内存(use-after-free)、使用已离开作用域的栈内存(use-after-scope)、*ASan 是一个快速的内存错误检测器,作为编译器的一部分提供。提供了强大的内存诊断工具(调试 -> 性能探测器 -> 内存使用情况)。在实际项目中使用需要更健壮的实现,或者考虑使用现成的库。报告通常包含清晰的分配和访问(或释放)的堆栈跟踪。通过结合良好的编程实践和强大的检测工具,可以有效地管理 C++ 程序的内存,减少和消除内存泄漏问题。

2025-03-26 10:03:47 961

原创 【C++】友元函数与友元类

友元函数和友元类提供了一种灵活的方式来允许特定的外部函数或类访问类的私有成员。虽然它们破坏了类的封装性,但在某些情况下(如运算符重载、紧密合作的类)是很有用的。然而,过度使用友元会降低代码的可维护性和可读性,因此应该谨慎使用,并仔细考虑是否有更好的替代方案(例如,通过公共接口或使用继承)。这意味着友元函数可以访问类的私有 (private) 和保护 (protected) 成员,就像类的成员函数一样。当两个类之间存在紧密合作关系,并且一个类的实现需要直接访问另一个类的内部细节时,可以使用友元类。

2025-03-21 10:18:13 377

原创 【C++】操作符与运算符重载

运算符重载是 C++ 中一项强大的功能,它允许你为自定义类型赋予更直观、更自然的语法。通过合理地重载运算符,可以使代码更易读、更易维护,并提高代码的可重用性。C++ 允许我们对大多数内置运算符进行重载,以便让它们能够操作用户自定义的数据类型(类或结构体)。运算符重载本质上是一种特殊的函数重载,它允许你为类的对象定义运算符的特定行为。C++ 提供了丰富的操作符(Operators),用于执行各种运算和操作。好的,我们来详细探讨 C++ 的操作符、运算符重载,并通过代码示例进行讲解。

2025-03-21 10:12:35 930

原创 【ROS】ROS1与ROS2详解及使用案例

ROS2通过使用DDS作为中间件,实现了去中心化、实时、可靠的通信。理解DDS的原理和QoS策略,对于开发高性能、高可靠性的ROS2应用至关重要。通过ROS2提供的API,可以方便地使用DDS的功能,而无需深入了解DDS的底层细节。可以通过设置环境变量。ROS2采用DDS作为中间件,实现了去中心化的通信,提高了系统的鲁棒性和可扩展性。ROS2默认使用DDS作为中间件,但它对DDS进行了一层抽象,提供了更易于使用的API。ROS2引入了节点生命周期管理的概念,允许对节点的状态进行更精细的控制。

2025-03-20 09:11:12 1552

原创 【C++】常用关键字

希望这个详细的分类、解释和示例对你有所帮助!

2025-03-20 09:01:35 558

原创 【 C++】函数重载(overoad)与函数重写(overide)

详细介绍 C++ 中的函数重载(Overload)和函数重写(Override),并附上代码示例。

2025-03-20 09:00:35 680

原创 【C++】继承、虚函数、多态

详细介绍C++的继承、虚函数、多态以及虚函数表,并通过代码示例说明

2025-03-19 14:36:35 1144

原创 【 C++】构造函数和成员函数

详细探讨 C++ 中的构造函数和成员函数(方法),并通过代码示例进行说明。

2025-03-19 14:01:06 339

原创 【 C++】类和对象

下面将详细介绍 C++ 中的类和对象,并通过代码示例进行说明。

2025-03-19 13:53:09 356

原创 【C++】STL容器

c++ stl容器学习,详细介绍顺序容器、关联容器以及容器适配器等

2025-03-19 09:50:36 1022

原创 ROS/MoveIt 的使用以及源码核心解读

MoveIt 是 ROS 中一个非常强大的软件包,用于机器人运动规划、操作、3D 感知、运动学、控制和导航。它提供了一个易于使用的平台,可以处理复杂的机器人操作任务。下面详细说明 ROS/MoveIt 的使用和示例,并提供一些代码片段。

2025-03-06 15:13:52 630

原创 多轴联动机器人控制技术详解

多轴联动通过运动规划、逆运动学求解、插补算法和控制算法实现,涉及多种算法和工具,广泛应用于多个领域。未来随着技术进步,多轴联动将更加智能化和高效化。

2025-03-04 14:25:03 1238

原创 机械臂路径规划:全局与局部的艺术与实践

机械臂的路径规划是一个复杂的问题,涉及到环境建模、搜索算法、优化等多个方面。全局路径规划算法和局部路径规划算法各有优缺点,适用于不同的场景。

2025-03-04 10:56:40 702

原创 Drake动力学框架详解与案例

Drake框架提供了强大的工具,适用于机器人、机械系统等动力学系统的建模、仿真和控制。通过上述案例,可以快速上手Drake的基本功能。

2025-03-04 10:20:24 729

原创 如何使用YOLO训练图像数据并转换为ncnn模型

使用YOLO训练图像数据并转换为ncnn模型,同时介绍使用LabelImg软件标注

2025-03-03 17:01:06 302

原创 末端力传感器原理介绍、场景选型分析及实例应用

末端力传感器是机器人系统中重要的感知部件,可以显著提高机器人的性能和安全性。在选择力传感器时,需要根据具体的应用场景和需求考虑传感器的精度、量程、响应速度、通信方式等因素。

2024-11-09 15:21:26 1576

原创 在Ubuntu 20.04 上安装 CoppeliaSim

帮助您成功安装 CoppeliaSim

2024-10-16 14:14:22 1089

原创 在Ubuntu 20.04上下载并使用Docker的详细步骤及示例

本指南将详细介绍如何在Ubuntu 20.04系统上下载、安装和使用Docker,并通过一个简单的Web服务器示例演示其基本操作。首先,在您的本地机器上创建一个新的Conda环境,并安装应用程序所需的依赖项。Docker是一个功能强大的工具,还有很多东西需要学习。这将启动一个新的容器,并将容器的8080端口映射到主机的8080端口。希望这可以帮助您将Conda环境和应用程序打包成Docker镜像!如果一切正常,您将看到一条消息,表明Docker能够下载并运行。,您应该可以看到Nginx的默认欢迎页面。

2024-10-14 09:06:32 6652

原创 C++设计模式学习详解(23种)

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

2024-10-11 10:52:22 2932

原创 结合大语言模型的机械臂抓取操作学习

结合了机器人学、计算机视觉和自然语言处理技术,实现了基于大语言模型的机械臂抓取操作。通过合理的Prompt设计和API定义,可以利用LLM强大的代码生成能力,实现更加灵活和智能的机器人控制。

2024-10-10 18:49:23 3349 3

原创 简单介绍如何选择合适的抓取算法、抓取位姿以及抓取方式进行控制

选择合适的机械臂抓取算法和抓取策略在“pick and place”任务中至关重要。以下是具体的步骤和代码示例,说明如何选择抓取算法、抓取位姿、抓取方式以及如何实现力位混合控制。

2024-10-10 17:58:13 1636

原创 结合大语言模型的机械臂抓取操作简单介绍

大语言模型是基于深度学习技术构建的自然语言处理模型,能够生成、理解和处理文本信息。这些模型通过训练大量的文本数据,学习语法、上下文和常识,能够执行多种任务,如文本生成、问答、翻译等。目标检测使用YOLOv5实时检测视频流中的物体。指令生成通过大语言模型生成关于抓取物体的指令。机械臂控制通过ROS发布目标坐标,控制机械臂移动到指定位置。在实际应用中,需要实现相机坐标与机械臂坐标之间的转换函数,以确保机械臂能够准确到达目标物体。

2024-10-02 15:05:33 1796 1

原创 手部姿态映射到远程操作机器人

要将手部姿态数据映射到远程操作机器人,可以使用 Python 和一些库(如mediapipe和numpy)来i简单实现这个功能。以下是一个具体的实现步骤,主要包括手部姿态检测、数据处理和关节位置映射。

2024-10-02 14:53:38 936

原创 RealSense、ZED 和奥比中光Astra几款主流相机介绍及应用

以上是对三种不同厂家相机的基本信息对比及二次开发示例,可作为小白简单了解和熟悉。不同的项目需求可以选择不同的相机,根据具体应用场景进行开发。

2024-09-27 17:55:07 3524

原创 基于RealSense D435相机实现手部姿态重定向

手部姿态重定向通常涉及将实时手部关键点映射到虚拟环境或另一个坐标系中(通常需要映射到机器人坐标系中)。可以使用以下步骤实现基本的手部姿态重定向:获取关键点坐标:使用手部追踪库(如 MediaPipe)获取手部关键点的坐标。具体包括数据获取和手部特征识别。首先选择合适的相机,如RGB相机、深度相机(如Kinect或RealSense),或高帧率摄像头获取实时图像或深度数据;

2024-09-25 10:03:46 1851 2

原创 基于 RealSense D435相机实现手部姿态检测

整合了 RealSense D435i 和 Mediapipe 的手部检测

2024-09-24 15:45:11 1709 4

原创 如何使用YOLOv5进行物体检测,并通过GraspNet进行6D位姿估计,从而实现机械臂的抓取规划

上述代码展示了如何使用YOLOv5进行物体检测,并通过GraspNet进行6D位姿估计,从而实现机械臂的抓取规划。每种方法和库都有其特定的优缺点,6D位姿估计确保机械臂能够精确地定位物体,不同的应用场景和物体特性需要调整算法和代码。

2024-09-12 20:38:53 4993 13

原创 NVIDIA Orin AGX 开发环境部署

为 NVIDIA Orin AGX 部署开发环境,包括安装 Ubuntu 22.04 系统、配置显卡驱动、CUDA 12.1、PyTorch 以及 ROS2 等开发环境

2024-09-11 21:59:57 2254

原创 使用MoveIt中的RRT算法进行机械臂的轨迹规划、插值和控制

使用MoveIt中的RRT算法进行机械臂的轨迹规划、插值和控制。首先,通过配置RRT算法的参数进行规划;然后,使用插值技术优化轨迹;最后,将规划和优化后的轨迹发送到控制器以执行。这样可以确保机械臂以平滑、准确的路径进行运动。

2024-09-11 21:19:54 2363 8

原创 【位姿估计】几种位姿估计方法总结

几种在端侧设备上表现良好的位姿估计方法,包括FoundationPose、SAM6D、GigaPose以及PoseNet等,将详细介绍这些方法的开源代码、使用方法、优缺点以及如何部署到系统中

2024-09-10 16:34:11 2419

原创 如何使用YOLO训练抓取模型

这里将详细介绍如何使用YOLOv5或YOLOv8这两个版本的YOLO进行训练,进行物体检测,应用于抓取任务

2024-09-09 14:41:44 1026

原创 Linux系统监控显卡使用情况的几种方法

如果你使用的是NVIDIA显卡,并且已经安装了NVIDIA驱动,可以使用 nvidia-smi 命令来查看显卡的利用情况。对于Intel集成显卡,你可以使用 intel-gpu-tools 包中的 intel_gpu_top 工具。如果你使用的是AMD显卡,可以使用 radeontop 工具来监控显卡利用情况。以上这些方法可以帮助获取有关显卡利用情况的详细信息,选择最适合所用显卡类型的方法来监控其性能。这个命令会显示显卡的状态,包括GPU利用率、显存使用情况、温度等信息。

2024-09-05 15:45:05 3553

原创 记录MoveIt自定义算法实现过程:moveit+ompl+自定义规划算法测试

在ros melodic上安装编译moveit、opml以及自定义规划算法测试

2024-09-05 10:09:22 1532 2

原创 【ubuntu20.04部署RTX4090显卡驱动和CUDA环境】

在Ubuntu 20.04系统上重新部署RTX 4090显卡驱动和CUDA环境的过程包括以下几个步骤:卸载旧的驱动和CUDA版本、下载和安装最新的显卡驱动、安装CUDA Toolkit,并配置相关的环境变量。

2024-09-03 11:08:04 4765

原创 rosdep init 初始化失败问题解决方法

rosdep初始化配置

2024-08-28 20:36:14 610

原创 Ubuntu系统突然无法进入,文件快速备份解决方法

【代码】Ubuntu系统突然无法进入,文件快速备份解决方法。

2024-08-26 20:39:36 667

原创 关于Isaac sim及Orbit强化学习demo测试记录

OmniIsaacGymEnvs以及Orbit测试

2024-08-25 21:13:04 783

CoppeliaSim安装包

CoppeliaSim_Edu_V4_6_0_rev18_Ubuntu20_04.tar.xz

2024-10-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除