logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【CUDA】ubuntu环境下安装cuda

软硬件匹配问题下面的三个问题是一体的,直接看具体实现就行,是完整安装cuda的流程,在新安装的ubuntu系统中已跑通笔者环境:ubuntu 22.04,显卡GTX 1650,cuda 12.2,显卡驱动 535。

文章图片
#深度学习#ubuntu#python +2
[最优控制]MPC模型预测控制

pid作为一种通用的泛用的控制方案,在某些工况下还是难以满足需求,比如动作模仿、轨迹规划、调速控制等,只要控制目标涉及到运动的动态过程,pid的效果总是差强人意;因此,需要引入MPC(模型预测控制),直接针对运动过程中的加速度/速度/位置等状态量直接控制,在更大程度上控制运动的动态。

#线性代数#概率论#机器人 +1
[Docker] 解决幽灵容器

幽灵容器现象本质上是Docker 内存状态、磁盘元数据目录与内核挂载点三者之间失去同步导致的“逻辑死锁”。如果容器频繁进行大量的 IO 操作(比如写日志、写传感器数据),而刚好遇到一次意外断电或系统 OOM(内存溢出),文件系统的 Journal(日志) 可能会损坏。

#docker#linux#嵌入式 +2
【ROS2】 Python 节点的开发流程

ROS 2 的 Python 节点不会像 C++ 一样编译成二进制程序。安装 package注册 ros2 run 入口安装 package.xml、resource、launch、config 等元信息生成 install/setup.bash 对应的环境信息安装 + 注册不是传统意义上的编译。Python 节点本身不编译成二进制。colcon build 负责安装和注册 Python pack

#python#开发语言#机器人
【ROS2】用launch批量拉起节点(以python为例)Basic

在 ROS2 中,主流的 Launch 文件是用Python编写的要一次性拉起多个功能包中的多个节点,最标准的做法是创建一个专门的启动功能包(通常命名为,在这个包里集中管理所有的 Launch 文件和参数配置。

#python#开发语言#机器人
[Docker] 解决幽灵容器

幽灵容器现象本质上是Docker 内存状态、磁盘元数据目录与内核挂载点三者之间失去同步导致的“逻辑死锁”。如果容器频繁进行大量的 IO 操作(比如写日志、写传感器数据),而刚好遇到一次意外断电或系统 OOM(内存溢出),文件系统的 Journal(日志) 可能会损坏。

#docker#linux#嵌入式 +2
【Linux】使用 epoll 实现 异步IO 多路复用

坑解决方案ET 模式只读一次,剩下数据再也收不到必须= EAGAIN)循环读空ET 模式用阻塞 fd 卡死ET 必须配合O_NONBLOCKeventfd 写完不读,CPU 100% 空转里必须 read 清空计数器close(fd)后忘记一般 close 自动移除,但 fd 被 dup 过时需要手动删信号中断导致epoll_wait返回 -1检查后 continue多线程同时操作同一个 epol

#linux#算法#运维 +3
【ROS2】DDS 底层通信协议与数据流转全链路解析

在应用层数据传输前,底层必须建立通信链路。DDS 使用 RTPS 规范中的简单发现协议 (SDP, Simple Discovery Protocol),该阶段独立于用户数据流。ROS2 的通信体系构建于 DDS (Data Distribution Service) 标准之上。其整体架构自上而下呈现严格的层级划分,每一层仅与相邻层交互。自主导航系统中,激光雷达节点 () 以 10Hz 频率发布。

#机器人
【Python】包接口管理(__init__.py的用法)

在python工程下的文件夹,如果它直接包含了__init__.py,那它就会被认为是一个 python包无论对于多少级的子文件夹,这一条都生效。

#python#开发语言
【CMake】C++系统构建的具体实现

本文介绍了使用CMake构建C++项目的完整流程,通过五个核心阶段解决实际问题:1)定义项目基本信息;2)查找依赖项路径;3)生成编译目标;4)配置编译链接选项;5)处理运行时依赖和安装分发。文章以使用ZeroMQ库为例,详细说明如何解决头文件找不到、链接失败、运行时库缺失等问题,并给出项目组织建议。最后总结了CMakeLists的典型编写顺序,强调这些是惯例而非绝对规则,推荐根据实际需求灵活调整

#c++#开发语言
    共 36 条
  • 1
  • 2
  • 3
  • 4
  • 请选择