自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu20.04安装向日葵

在官网下载了向日葵之后,发现使用sudo dpkg -i S..命令,会出现依赖的错误。而在现在的官方库中,该包已被移除,所以,使用第三方的库,进行对应缺省库的下载。然后,安装向日葵就成功了。

2025-12-03 09:31:31 165

原创 linux自启动

source /home/乾之尧/catkin_ws/devel/setup.bash # 或 colcon 的 install/setup.bash。source /opt/ros/noetic/setup.bash # 或你用的 ROS 版本(如 humble)# 如果你有专门的 roscore 服务,可加:After=roscore.service。ExecStart=/home/乾之尧/start_robot.sh。WorkingDirectory=/home/乾之尧。

2025-11-26 21:48:35 264

原创 深度学习中的张量扩展原理

深度学习中的张量广播机制通过"逻辑扩展"实现维度匹配,而非实际复制数据。广播利用虚拟索引和步长机制,在访问时重复使用原张量数据。可以理解为:原张量是数据容器,目标维度是"蓝海",广播通过标注容器数据在蓝海中的位置来完成扩展。这种机制避免了数据复制,仅通过逻辑映射实现不同维度张量的融合运算。

2025-11-24 16:18:23 207

原创 python多态的简述

Python多态实现:父类定义抽象方法,子类实现具体行为。通过抽象类TaskExecutor定义统一接口execute(),子类NavigationTask和GraspingTask分别实现该方法。调用时只需面向父类编程,运行时自动执行子类具体实现。使用示例:创建子类实例列表,通过run_task()函数统一调用execute(),实现不同子类的差异化执行。这体现了"同一接口,不同实现"的多态特性。

2025-11-24 10:07:25 320

原创 ROS2的探索与实践-----服务

本文介绍了ROS2中的服务(Service)概念及其调试命令。服务是基于请求-响应模式的信息交互方式,与发布-订阅模式不同。文中列举了常用的服务调试命令,包括获取服务列表(ros2 service list)、查询服务类型(ros2 service type)、查看服务详情(ros2 service info)、查找特定类型服务(ros2 service find)、展示接口详情(ros2 interface show)、调用服务(ros2 service call)以及实时监控服务(ros2 servic

2025-11-19 10:33:28 265

原创 ROS2的探索与实践-----话题

摘要:本文介绍了ROS2中话题(topic)的基本概念和常用调试命令。话题是节点间传输信息的载体,通过ros2 run rqt_graph可查看节点与话题的关系。列举了查看话题列表(ros2 topic list)、监听话题内容(echo)、获取话题详细信息(info)、查看消息类型(interface show)、发布话题(pub)、监测发布频率(hz)和带宽(bw)等实用命令。这些命令可帮助开发者快速调试ROS2系统中的话题通信。

2025-11-19 09:33:17 281

原创 ROS2的探索与实践-------节点

在ROS中,节点是一个相当重要的概念,如果学过ROS1,那么对这一点,将会深有感触。节点,其实理解起来还是很简单的,节点,即为信息传输的载体。在ROS中,需要操控机器人运动或者执行特定的功能,都是通过节点来实现的。在一个机器人系统中,一般存在着多个的节点节点之间,通过话题,服务,动作或者参数服务进行数据的传输。相较于ROS1,这种分布式的节点,使得系统的运行状况更加的稳健。

2025-11-18 15:28:58 155

原创 一文搞定 GitHub 私有仓库配置与代码上传

本文介绍了Git仓库初始化和配置SSH免密推送的完整流程:1)初始化本地仓库并提交;2)配置Git用户身份;3)生成SSH密钥并添加到GitHub;4)关联远程仓库并推送代码。遇到远程有README时,需先拉取远程内容再推送。通过这四步,开发者可以快速建立本地项目与GitHub仓库的安全连接,实现免密代码推送。

2025-11-18 11:10:53 306

原创 FastDDs的快速开始

本文介绍了FastDDS的官方容器安装和使用方法。首先通过Docker安装FastDDS套件(v3.2.2),包含FastDDSMonitor、DDSRouter和ShapesDemo等组件。安装后演示了三个主要功能:1)ShapesDemo可视化DDS通信;2)FastDDSMonitor实时监控DDS环境;3)通过HelloWorld示例程序展示基础发布/订阅功能,使用tmux同时运行发布者和订阅者。该套件为开发者提供了完整的FastDDS开发环境和演示工具。

2025-11-17 14:27:21 259

原创 mqtt通信

摘要:MQTT是一种基于发布/订阅模式的物联网通信协议,通过代理服务器(Broker)实现消息中转。发布者发送消息到特定主题,订阅者订阅感兴趣的主题接收消息,实现发布者与订阅者的解耦。本文展示了Python实现的MQTT发布者和订阅者代码示例,使用HiveMQ公共Broker进行通信。协议支持3种服务质量等级(QoS0-2),满足不同场景需求。这种架构特别适合物联网环境,具有设备扩展性强、网络适应性强等特点,有效解决了设备数量多、资源有限等问题。

2025-11-15 15:23:52 217

原创 初试navigation(ubuntu20.04+ROS noetic)

本文介绍了如何使用ROS中的navigation包实现机器人自主导航。首先安装所需的软件包和仿真环境(TurtleBot3),包括建图工具slam-gmapping和键盘控制包。通过键盘控制机器人扫描环境并保存地图(my_map.pgm和my_map.yaml)。最后启动navigation导航栈,加载地图后即可实现目标点导航。整个过程涵盖了从环境搭建、地图创建到自主导航的完整流程,适用于ROS1环境,ROS2需要使用nav2替代。

2025-11-11 20:26:39 244

原创 YAML文件的功用

YAML文件在机器人开发和计算机视觉中具有重要作用。它通过配置文件实现三大功能:1)节点控制(如开关TF发布);2)统一通信设置(如多机器人系统的话题隔离);3)运行时参数调整(如修改机器人转向灵敏度)。此外,YAML还能隔离测试与生产环境的不同配置,将易变的关键参数集中管理,极大提高了调试效率。本质上,YAML是将频繁修改的重要参数抽离出来,形成灵活可调的配置方案。

2025-11-10 19:44:54 116

原创 ROS 开发实战:通过 SSH 高效连接机器人主机,告别卡顿与显示延迟

本文介绍了在ROS开发中使用SSH连接机器人主机的优势及配置方法。通过SSH连接可以流畅运行可视化工具,节省外设部署时间,方便调试。配置要求包括:1)机器人主机与本地开发机处于同一局域网;2)机器人主机已安装并启动SSH服务(安装命令:sudo apt install openssh-server)。连接方式为ssh username@ip地址。这种方法能有效解决机载电脑性能不足导致的卡顿问题,提高开发效率。

2025-11-10 09:43:23 119

原创 linux终端工具terminator

Linux 终端模拟器,用起来非常的方便,所以写一个推文,来专门介绍一下,我是怎么使用的。ctrl+shift+x 取消一个终端。Terminator 是一个功能强大的。ctrl+shift+e 左右分屏。ctrl+shift+o 上下分屏。二、配置成默认终端工具。

2025-11-08 17:18:30 197

原创 moveit2的环境配置

【代码】moveit2的环境配置。

2025-10-24 22:07:54 197

原创 基于face_recongnition的人脸识别

文章摘要:本文详细介绍了在Windows系统下通过WSL安装dlib和face_recognition库的完整步骤,包括Python虚拟环境配置、依赖项安装以及清华源的设置。第二部分展示了face_recognition库的三种典型应用:1)基础人脸检测功能,可定位图像中的人脸位置;2)面部关键点识别,能标注出五官轮廓;3)人脸比对功能,通过建立已知人物图库实现身份识别。文中提供了完整的代码示例和效果截图,并建议有GPU的用户使用深度学习模型提升处理效率。所有示例代码均来自官方GitHub仓库。

2025-10-14 11:35:21 272

原创 wsl2的介绍与使用

本文介绍了WSL2的基本概念和使用方法。WSL2是微软提供的在Windows上运行Linux的技术方案,具有独立的Linux内核、文件系统和网络环境,同时能与Windows系统实现文件共享和程序互调。文章通过"房东-房客"的比喻形象说明其工作原理,并详细讲解了WSL2的安装步骤(包括指定发行版和版本设置)以及文件系统的访问方式(包括Windows和Linux文件的相互访问路径)。这些内容为需要在Windows环境下使用Linux系统的开发者提供了实用指导。

2025-10-14 10:36:28 270

原创 CUDA的介绍和应用简介

CUDA是NVIDIA推出的并行计算平台,通过GPU加速提升计算性能。其核心原理包括主从协作模式、线程层次结构、多级存储体系和SIMT执行模型。在机器人开发中,CUDA广泛应用于计算机视觉、路径规划、运动控制及深度学习等领域,显著提高了图像处理、SLAM建图、算法优化等任务的实时性和效率。随着嵌入式GPU的发展,CUDA将进一步推动机器人技术向高智能、高自主性方向演进。

2025-09-26 11:32:46 929

原创 ROS2学习------ROS2的简介

ROS2是机器人操作系统的重要升级版本,针对ROS1的架构限制进行了全面优化。自2014年启动以来,经过多个版本迭代,已形成成熟的通信架构、工具链和功能模块体系。其核心改进包括:采用DDS通信中间件提升实时性和可靠性;支持多机器人协作;增强安全机制;优化生命周期管理。ROS2的技术演进显著降低了机器人应用开发门槛,从学术研究扩展到工业应用,为自动驾驶等商业化部署提供了坚实基础。这套系统通过模块化设计和标准化接口,实现了机器人技术的民主化,推动了整个行业的创新发展。

2025-08-18 15:22:11 507

原创 在容器下下载vscode

这组命令用于在 Ubuntu 容器中安装 Visual Studio Code。

2025-05-27 11:52:43 274

原创 ROS1学习之激光雷达

Gazebo是一个高保真的物理仿真引擎,它构建了一个可以模拟真实物理规律的数字世界,允许开发者在其中设计机器人的机械结构、传感器配置,甚至模拟复杂环境中的动态交互,比如机器人在崎岖地形行走时车轮与地面的摩擦力、激光雷达在雾天环境中的信号衰减。例如,当机器人执行SLAM建图时,Rviz可以同时显示激光雷达的实时扫描线(红色扇形区域)、逐渐生成的栅格地图(灰白网格)、机器人的运动轨迹(绿色路径箭头),以及摄像头捕捉的街景图像(浮动视窗),这些图层叠加在一起,构成一个动态的数字孪生体。加载PID控制器参数。

2025-04-08 15:03:37 1134

原创 ROS1学习之机器人运动控制

机器人人核心节点向上往往会订阅一个速度控制话题,我们只需要编写速度控制节点,发布包含速度参数的消息到速度控制话题,即可实现对机器人的控制。2.右手握拳,大拇指指向x轴,四指指向便是机器人滚转运动的正方向,大拇指指向y轴,四指指向便是机器人俯仰运动的正方向,大拇指指向z轴,四指指向便是机器人自传运动的正方向。再开启一个终端,输入rosrun wpr_simulation demo_vel_ctrl,即可看到机器人的运动。1.右手打枪姿势,大拇指往上,食指往前,中指往左,即是机器人运动的x,y,z轴。

2025-04-08 10:09:47 1393

原创 ROS1学习之使用launch文件一次启动多个节点

但是,每次使用节点,需要运行大量的终端命令,本篇文章,讲解如何将这些命令转换成.launch文件,实现在.launch文件中一键启用。.launch文件理论上可以放在工作包内的任何位置,且不影响其使用,但为了规范,在catkin_ws工作空间的src文件夹下,新建一个名为launch的文件夹,然后在其下新建jian_lai.launch文件。保存,即可运用roslaunch my_package jian_lai.launch一件启动两个发布者节点和一个订阅者节点。--配置内容 -->

2025-04-07 15:59:47 472

原创 ROS1学习之编写一个Subscriber订阅者节点

其实很简单,根据上述的方法再创建一个功能包,名为ssr_pkg,在其的src文件夹下新建一个节点,名为test1_node,然后一样进行节点的编写,可以更改消息内容。然后,在订阅者节点内,新建一个订阅者,来订阅该消息,并新建回调函数,于是,便可以实现多节点的发布订阅。创建一个工作包,名为your_package,在其src下,创建一个use_node.cpp节点。运行rosrun your_package use_node,订阅者节点启动,订阅消息。我们还可以对订阅者进行改进,添加时间戳,改写回调函数。

2025-04-01 16:18:51 874

原创 ROS1学习之编写一个发布者节点

在编写一个发布者节点之前,首先得需要有一个工作空间,方便进行相关的操作和后续代码的编写。在ROS中工作空间是存放ROS功能包的目录结构,而功能包是ROS中代码和配置文件的基本单元。cd ~/catkin_ws/src/ #进入工作空间。在my_package下的src目录下,创建一个test_node.cpp文件,用作发布者节点的编写。到这里,我们就完成了一个工作空间的建立,和工作环境的配置。打开test_node.cpp,输入如下代码,保存。

2025-03-31 15:43:29 759

空空如也

空空如也

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

TA关注的人

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