- 博客(399)
- 收藏
- 关注
原创 龙芯2k0300 - 走马观碑组Gazebo仿真环境搭建
搭建Gazebo仿真环境对于智能车比赛(特别是涉及视觉巡线、强化学习等算法开发)来说,不是可选项,而是最优解。以下是需要搭建仿真环境的核心理由,以及它能解决的实际问题。我们可以先创建工程目录,创建目录car_ws;car_ws/├── src/│ ├── car_description/ # 功能包1:机器人URDF模型│ ├── car_gazebo/ # 功能包2:Gazebo仿真│ └── car_vision/ # 功能包3:视觉算法在ROS的开发规范中,src/下的每个子目录叫功能包(
2026-04-05 17:58:00
316
原创 龙芯2k0300 - 走马观碑组Gazebo仿真环境搭建(上)
搭建Gazebo仿真环境对于智能车比赛(特别是涉及视觉巡线、强化学习等算法开发)来说,不是可选项,而是最优解。以下是需要搭建仿真环境的核心理由,以及它能解决的实际问题。我们可以先创建工程目录,创建目录car_ws;car_ws/├── src/│ ├── car_description/ # 功能包1:机器人URDF模型│ ├── car_gazebo/ # 功能包2:Gazebo仿真│ └── car_vision/ # 功能包3:视觉算法在ROS的开发规范中,src/下的每个子目录叫功能包(
2026-04-05 17:58:00
480
原创 龙芯2k0300 - 走马观碑组PWM驱动移植
在《2k030021》中我们使用了DRV8701双路电机驱动,DRV8701双路电机驱动采用门极驱动芯片DRV8701EN-MOS管TPH1R403NL方案,输入电源5.9V ~ 28V均可使用,带过流保护功能。
2026-03-31 22:26:00
306
原创 ROS2之Gazebo物理仿真平台
接下来,我们将对Gazebo图形用户界面进行介绍。我们将学习到一些基本操作,例如按钮的功能以及如何在场景中导航。启动GazeboGazebo交互界面由许多组成部分,接下来将逐一介绍。我们在《ROS2之URDF建模》设计好的URDF模型此时还不能直接放到Gazebo中,需要我们做一些优化。这里给大家介绍一个URDF文件格式的升级版本——XACRO文件。我们就通过XACRO文件对移动机器人的模型做一下优化,我们首先要使用这句命令安装必要的功能包;同样也是对机器人URDF模型的创建,XACRO。
2026-03-30 19:21:00
280
原创 龙芯2k0300 - 走马观碑组MPU6050驱动移植
在《2k030021》中我们介绍到我们的开发板使用了MPU6050陀螺仪,MPU6050XYZXYZMPU6050陀螺仪采用I2CMPU6050陀螺仪采用I2C通信方式,与龙芯2K0300开发板的连接关系需严格对应,确保I2C通信与GPIO0x680x69。
2026-03-30 15:31:00
325
原创 龙芯2k0300 - 久久派开发环境搭建及内核升级(下)
在《2k0300》我们对久久派开发板以及uboot、内核、文件系统的编译进行了介绍,本节主要介绍固件的升级,以及驱动移植。
2026-03-28 17:05:00
292
原创 龙芯2k0300 - 走马观碑组ST7735驱动移植
这里采用了FBTFT框架,一个基于fbdev的辅助框架,位于,专门为小尺寸SPI/并口LCD控制器(如ST7735ILI9341SSD1306等)设计;维度FBTFT层次底层框架基于 fbdev 的中间件复杂度需要实现完整的fb_ops只需配置结构体,框架代劳适用范围所有显示硬件小尺寸 SPI/并口 LCD 控制器输出产物驱动直接注册/dev/fbX驱动通过 FBTFT 注册/dev/fbX代码量较大极少(通常几百行)例子下的各种驱动以驱动为例,它没有直接调用,而是通过宏将设备描述结构体传递给。
2026-03-24 18:53:00
226
原创 龙芯2k0300 - 走马观碑组VL53L0X驱动移植
VL53L0X是一款由ST(意法半导体)生产的红外传感器,通常用于测量物体与传感器之间的距离。VL53L0X是ST推出的第二代技术的飞行时间传感器,与传统的测距传感器不同,它使用时飞行时间(TOF)测量原理,可以实现精确、快速的非接触式测量。无论目标颜色和反射率如何,都可以进行距离测量,抗干扰能力更强。VL53L0X激光测距模块的原理是利用激光脉冲的飞行时间来测量距离。该模块通过发射一束激光脉冲,并测量该激光脉冲从发射到被接收的时间来计算出物体与传感器之间的距离。更多相关资料参考:《STM32。
2026-03-24 12:47:00
223
原创 龙芯2k0301 - 龙邱核心板开发环境搭建
2K0301龙芯2K0301这颗芯片,它是一颗专为工业控制和物联网设计的高能效低功耗处理器。VMware。
2026-03-18 22:04:00
475
原创 龙芯2k0300 - 久久派核心板开发环境搭建
龙芯2K0300处理器官网地址:《https://www.loongson.cn/index.php/product/show?id=33龙芯2K0300数据手册;龙芯2K0300处理器用户手册。
2026-03-18 22:04:00
556
原创 龙芯2k0300 - 久久派开发环境搭建及内核升级
龙芯2K0300处理器官网地址:《https://www.loongson.cn/index.php/product/show?id=33龙芯2K0300数据手册;龙芯2K0300处理器用户手册。久久派2K0300核心板默认配套的是PMON固件以及linux 4.19的内核,PMON是一个兼有BIOS和部分功能的开放源码软件,多用于嵌入式系统。基于龙芯的系统采用PMON作为类BIOS兼,并在其基础上做了很多完善的工作,支持BIOS启动配置,内核加载,程序调试,内存寄存器显示、设置以及内存反汇编等。
2026-03-18 22:04:00
376
原创 龙芯2k0300 - 久久派开发环境搭建及内核升级(上)
龙芯2K0300处理器官网地址:《https://www.loongson.cn/index.php/product/show?id=33龙芯2K0300数据手册;龙芯2K0300处理器用户手册。龙芯系统有两套不兼容的LoongArch生态,核心差异在底层标准、内核、软件兼容、发行版、使用场景。龙芯的旧世界(ABI 1.0)和新世界(ABI 2.0)是两套不兼容的软件生态体系。简单来说,旧世界是龙芯早期仓促推出的、未能完全融入开源主线的“过渡方案”;
2026-03-18 22:04:00
334
原创 ROS2之URDF建模
URDF,统一机器人描述格式)是一种XML格式的文件,用于从物理和逻辑上描述一个机器人模型。机器人由哪些零件(连杆、关节)组成;这些零件长什么样(形状、尺寸、颜色);零件之间如何连接(位置、旋转、运动类型);零件的物理属性(质量、惯性);
2025-12-22 22:31:00
885
原创 ROS2之TF介绍
TF是ROS中的一个系统,全称叫transform记录各个坐标系之间的关系;帮你把一个坐标从A转换到B;每个箭头之间代表坐标变换。从map到odom:表示机器人在地图中的真实位置;从odom到base_link:表示机器人认为自己在哪从base_link到:表示摄像头安装在哪;这个结构像什么?像一棵树,每个坐标系都是一个节点,每条边是一种连接关系,所以我们叫它TF树。
2025-12-21 10:09:00
829
原创 ROS2之Launch介绍
在前面的ROS2学习中,每当我们运行一个ROS节点,都需要打开一个新的终端运行一个命令。机器人系统中节点很多,每次都这样启动好麻烦。有没有一种方式可以一次性启动所有节点呢?答案当然是肯定的,那就是Launch启动文件,它是ROS系统中多节点启动与配置的一种脚本。ROS2的launch文件有三种格式,pythonxmlyaml。其中ROS2官方推荐的时python方式编写launch文件。原因在于,相较于XML和YAMLPython是一个编程语言,更加的灵活,我们可以利用Python。
2025-12-20 15:02:00
475
原创 ROS2概念之DDS
DDS的全称是,也就是数据分发服务,2004年由对象管理组织OMG发布和维护,是一套专门为实时系统设计的数据分发/订阅标准,最早应用于美国海军, 解决舰船复杂网络环境中大量软件升级的兼容性问题,现在已经成为强制标准。DDS强调以数据为中心,可以提供丰富的服务质量策略,以保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。这里也提一下对象管理组织OMG,成立于1989年,它的使命是开发技术标准,为数以千计的垂直行业提供真实的价值,比如我们可能听说过的统一建模语言SYSML和UML。
2025-12-17 21:37:00
419
原创 ROS2概念之分布式通信
智能机器人的功能繁多,全都放在一个计算机里,经常会遇到计算能力不够、处理出现卡顿等情况,如果可以将这些任务拆解,分配到多个计算机中运行岂不是可以减轻压力?这就是分布式系统,可以实现多计算平台上的任务分配。
2025-12-16 23:59:00
548
原创 ROS2核心概念之参数
在前面的文章,我们已经介绍了话题题、服务、动作三种通信机制,接下来呢我们再来介绍一种ROS系统中常用的数据传输方式——参数。类似C++编程中的全局变量,可以便于在多个程序中共享某些数据,参数是ROS机器人系统中的全局字典,可以运行多个节点中共享数据。
2025-12-15 21:51:00
786
原创 ROS2核心概念之动作
我们使用的动作并不是ROS中的标准定义,我们通过进行自定义。我们在文件夹下创建子文件夹action,接着新建文件;bool enable # 定义动作的目标,表示动作开始的指令---bool finish # 定义动作的结果,表示是否成功执行---int32 state # 定义动作的反馈,表示当前执行到的位置enable为true时,表示开始运动;finish为true,表示动作执行完成;第三块是动作的周期反馈:表示当前机器人旋转到的角度。完成定义后,还需要在功能包的......
2025-12-14 23:36:00
421
原创 ROS2核心概念之通信接口
接口的概念在各个领域随处可见,无论是硬件结构还是软件开发,都有广泛的应用。所以什么是接口,它是一种相互关系,只有彼此匹配,才能建立连接。回到ROS的通信系统,它的主要目的就是传输数据,那就得让大家高效的建立连接,并且准确包装和解析传输的数据内容,话题、服务等机制也就诞生了,他们传输的数据,都要符合通信接口的标准定义;比如摄像头驱动发布的图像话题,由每个像素点的RGB三原色值组成;控制机器人运动的速度指令,由线速度和角速度组成;进行机器人配置的服务,有配置的参数和反馈的结果组成等等;
2025-12-13 00:19:00
961
原创 ROS2核心概念之服务
话题通信可以实现多个ROS节点之间数据的单向传输,使用这种异步通信机制,发布者无法准确知道订阅者是否收到消息,本节我们将一起学习ROS另外一种常用的通信方法——服务,可以实现类似你问我答的同步通信效果。
2025-12-12 16:59:00
986
原创 ROS2核心概念之节点和话题
类似的,在ROS机器人开发中,我们针对机器人某些功能进行代码开始时,各种编写的代码、参数、脚本等文件,也需要放置在某一个文件夹里进行管理,这个文件夹在ROS系统中就叫做工作空间。所以工作空间是一个存放项目开发相关文件的文件夹,也是开发过程中存放所有资料的大本营。ROS系统中一个典型的工作空间结构如图所示,这个dev_ws就是工作空间的根目录,里边会有四个子目录,或者叫做四个子空间;src:代码空间,未来编写的代码、脚本,都需要人为的放置到这里;build:编译空间,保存编译过程中产生的中间文件;
2025-12-11 23:23:00
871
原创 ROS2概述和基于RK3588的环境搭建
ROS2------目标:客户端发送给服务器的目标值,小海龟应该旋转到的目标角度(弧度);结果:动作完成后服务器返回的最终结果,实际旋转的角度变化量(弧度);反馈:动作执行过程中服务器发送的进度反馈,距离目标还有多少角度剩余(弧度)。
2025-12-07 23:33:00
909
原创 STM32F103直流有刷电机速度闭环控制
在《matlab》我们介绍了速度闭环控制的实现,其采用的是PID控制算法,本节我们就基于STM32F103来实现直流电机的增量式PID速度闭环控制。
2025-12-01 21:57:00
476
原创 直流有刷电机的速度闭环控制
首先,让我们理解什么是自动控制系统。顾名思义,它就是能在没有人的直接干预下,自动地使某个设备或过程(我们称之为“被控对象”)按照预定规律运行的系统。一个简单的例子是电热水壶。你设定一个目标(100℃沸腾),它就能自动加热并在达到温度后断开电源。这里面就包含了一个简单的自动控制系统。自动控制系统是为实现某一控制目标所需要的所有物理部件的有机组合体。在工程上,自动控制系统主要分为两大类:开环控制系统和闭环控制系统。PID是(比例)、Integral(积分)、(微分)的首字母缩写;
2025-11-22 22:02:00
384
原创 基于STM32直流有刷电机的速度闭环控制以及matlab仿真
首先,让我们理解什么是自动控制系统。顾名思义,它就是能在没有人的直接干预下,自动地使某个设备或过程(我们称之为“被控对象”)按照预定规律运行的系统。一个简单的例子是电热水壶。你设定一个目标(100℃沸腾),它就能自动加热并在达到温度后断开电源。这里面就包含了一个简单的自动控制系统。自动控制系统是为实现某一控制目标所需要的所有物理部件的有机组合体。在工程上,自动控制系统主要分为两大类:开环控制系统和闭环控制系统。PID是(比例)、Integral(积分)、(微分)的首字母缩写;
2025-11-22 22:02:00
461
原创 基于直流有刷电机的速度闭环控制以及matlab仿真
首先,让我们理解什么是自动控制系统。顾名思义,它就是能在没有人的直接干预下,自动地使某个设备或过程(我们称之为“被控对象”)按照预定规律运行的系统。一个简单的例子是电热水壶。你设定一个目标(100℃沸腾),它就能自动加热并在达到温度后断开电源。这里面就包含了一个简单的自动控制系统。自动控制系统是为实现某一控制目标所需要的所有物理部件的有机组合体。在工程上,自动控制系统主要分为两大类:开环控制系统和闭环控制系统。PID是(比例)、Integral(积分)、(微分)的首字母缩写;
2025-11-22 22:02:00
370
原创 Rockchip RK3588 - Mali-G610 GPU驱动(mesa+Panthor)
在两年前,我们介绍了如何移植的开源驱动到NanoPC-T4开发板,具体可以参考《Rockchip RK3399 - Mali-T860 GPU今天呢,我们就来谈一谈如何将开源驱动到开发板。
2025-11-03 20:53:00
1672
原创 IEC 61850 ICD文件解析
SCL(Substation Configuration Language):变电站配置描述语言,这是IEC 61850标准系列中专门用于描述变电站自动化系统配置的XML语言,统一了不同厂商设备的配置规范,包含IED能力描述文件(ICD)、系统规格描述文件(SSD)等核心组件。ICD: IED能力描述文件,它本质上是一个遵循SCL语言的XML文件。它是由IED设备制造商提供的,描述了单个IED设备的功能和能力。你可以把它理解为这个设备的“简历”或“产品说明书”
2025-10-21 13:36:00
1210
原创 Java进程CPU异常问题排查
近期在进行日常巡检时发现,线上部分应用服务器的CPU突然比以往高出很多,经过登录机器排查确认是C2 CompilerThread线程始终长时间运行消耗了CPU。
2025-06-27 11:06:00
1109
原创 霍尔编码器测速
一、编码器介绍编码器,是一种用来测量机械旋转或位移的传感器。这种传感器能够测量机械部件在旋转或直线运动时的位移位置或速度等信息, 并将其转换成一系列电信号。编码器是工业中常用的传感器之一,广泛应用于工业生产当中需要对机械系统进行监视或控制的场景, 包括工业控制、机器人、照相机镜头、雷达平台以及部分计算机输入设备例如轨迹球和鼠标滚轮等等。编码器可以根据不同的方式分出很多种类型。例如:根据...
2025-02-10 23:36:00
1305
原创 直流有刷电机驱动设计
在《直流有刷电机及机械特性》我们对直流有刷电机的工作原理、机械特性以及电动机的启动、制动、调速进行了详细的介绍。本节主要介绍电机的驱动器以及调速控制方案的实现。一、电机介绍由于我们需要学习直流有刷电机的控制,所以我们手里必须要有一款直流有刷电机。这里我在淘宝购买的电机为:常规775 高速电机吹风机马达电动机双滚珠轴承高转速调速 12V~24V。具体型号信息:电压为24V,转速一分钟200...
2025-02-07 14:01:00
2834
原创 直流有刷电机
一、基础知识回顾1.1 电路定律1.1.1 基尔霍夫电流定律在集总参数电路中的任一节点处,所有支路电流的代数和在任何时刻恒等于零,即\(\sum i=0\)。对于正弦稳态交流电路,其相量形式为\(\sum {\dot I}=0\)。其中,当支路电路的参考方向为流入、流出节点时,支路电流分别取相反的符号。该定律也适用于包含几个节点的闭合面,即流出闭合面的电路等于流入该闭合面的电路,这称...
2025-02-04 19:31:00
2169
原创 java进程内存占用分析
一、背景1.1 问题描述不知道大家在开发过程中有没有遇到过类似的问题,明明通过JVM参数-Xmx256m设置了最大堆内存大小为256m,但是程序运行一段时间后发现占用的内存明显超过了256m,却并没有出现内存溢出等问题,那是什么东西占用了额外的内存空间呢?通过ps查看java进程项目启动命令为:java -jar -Xmx256m -Xms128m -XX:+UseParNewGC -X...
2025-01-22 17:15:00
1037
原创 Spring Boot -- Netty搭建MQTT协议的服务端
一、Channel、ChannelPipeline、ChannelHandler、ChannelHandlerContext之间的关系在编写Netty程序时,经常跟我们打交道的是上面这几个对象,这也是Netty中几个重要的对象,下面我们来看看它们之间有什么样的关系。Netty中的Channel是框架自己定义的一个通道接口,Netty实现的客户端NIO套接字通道是NioSocketChanne...
2025-01-21 08:04:00
1970
原创 Rockchip RK3588 - 板级支持包之RKNPU
----------------------------------------------------------------------------------------------------------------------------开发板 :ArmSoM-Sige7开发板eMMC :64GBLPDDR4 :8GB显示屏 :15.6英寸HDMI接口显示屏u-boot :2017...
2025-01-12 09:49:00
2413
原创 STM32F103 I2C软件模拟(AT24C02)
有关I2C通信协议我们在《通信协议-I2C》已经进行了详细的介绍,因此这一节不再重复介绍。一、软件/硬件I2C想要控制STM32产生I2C方式的通讯,可以采用软件模拟或硬件I2C这两种方式。1.1 软件模拟所谓软件模拟,即直接使用CPU内核按照I2C协议的要求控制GPIO输出高低电平。如控制产生I2C的起始信号时, 先控制作为SCL线的GPIO引脚输出高电平, 然后控制作为SDA线的G...
2024-12-29 14:36:00
1866
原创 STM32F103 SPI软件模拟(SSD1306)
有关SPI通信协议我们在《通信协议-SPI》已经进行了详细的介绍,因此这一节不再重复介绍。一、软件/硬件SPI想要控制STM32产生SPI方式的通讯,可以采用软件模拟或硬件SPI这两种方式。1.1 软件模拟所谓软件模拟,即直接使用CPU内核按照SPI协议的要求控制GPIO输出高低电平。1.2 硬件SPI硬件SPI是指直接利用STM32芯片中的硬件SPI外设,该硬件SPI外设跟USAR...
2024-12-23 23:58:00
1622
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅