自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (16)
  • 收藏
  • 关注

原创 拉普拉斯变换 Laplace Transform

拉普拉斯变换通过将时域微分方程转换为s域代数方程,极大简化了复杂系统的分析过程。其复数变量s=σ+jω同时包含衰减和频率信息,成为外骨骼等控制系统设计的关键工具。该变换不仅实现了数学建模的维度转换,更能通过传递函数分析系统稳定性,避免传统PID调节的盲目试错,为"人体-机器"系统的安全优化提供了理论基础。

2026-03-17 13:13:55 171

原创 一台具备了“观察力”的下肢康复外骨骼机器人

摘要:本文提出了一种智能康复外骨骼系统,通过双向交互机制实现治疗与评估同步进行。系统采用多维度康复指数量化评估患者恢复程度,包括主动出力比例、步态对称性和系统依赖度。算法采用嵌套循环结构,实现毫秒级的步内自适应和跨步的长期参数优化。通过积累患者数据建立群体康复模型,系统能提供个性化的康复预测和科学的脱离外骨骼决策依据。该系统的核心价值在于持续积累的康复数据资产,形成了难以复制的临床竞争优势。

2026-03-16 16:53:16 295

原创 理解并使用佐治亚理工EPIC步态数据集

佐治亚理工学院EPIC Lab发布的开源下肢生物力学数据集为可穿戴机器人、步态分析等领域提供了宝贵资源。该数据集包含22名健康成人在跑步机行走、平地行走、坡道和楼梯等多种场景下的运动数据,采用运动捕捉、测力板、IMU、EMG等多模态传感器同步采集。数据集亮点在于真实多地形覆盖、单个试验完整记录和高精度同步数据,特别适合外骨骼控制、步态识别算法等研究开发。数据格式多样,提供MATLAB友好格式和原始传感器数据,并配套MoCapTools工具箱辅助处理。该数据集已成为下肢辅助机器人和步态分析领域的重要基准资源。

2026-05-06 16:20:01 377

原创 【ROS】机器人的速度/角度/力矩控制是如何实现的

摘要:ROS控制管理器通过接口注册机制读取电机数据,并使用PID算法进行控制计算。在joint_position_controller.cpp中,控制器首先获取当前关节位置和指令位置,计算位置误差,然后根据是否提供速度指令选择不同的PID计算方式(带或不带速度误差项)。PID算法分别计算比例项、积分项和微分项,并综合输出控制指令。积分项还实现了抗饱和处理。最终计算出的控制指令通过setCommand()方法发送给执行器。整个过程实现了从传感器数据读取到控制指令生成的全闭环控制流程。

2026-03-16 13:57:23 101

原创 【C++】构造函数和析构函数

摘要:C++中构造函数和析构函数有三种处理方式:(1)不声明时编译器自动生成默认版本;(2)类内声明后在外部实现具体逻辑;(3)C++11新增的=default/=delete语法,前者显式要求编译器生成默认版本,后者禁止生成。默认构造函数执行成员默认初始化,析构函数自动销毁成员。这些机制为类对象的创建和销毁提供了灵活的控制方式。

2026-03-12 14:30:12 46

原创 理解并使用【Docker】

Docker是一种轻量级容器技术,相比传统虚拟机具有资源占用少、启动快等优势。其核心概念包括镜像(只读模板)和容器(运行时实例)。镜像生命周期涉及构建、存储、分发和删除;容器则从镜像创建,可运行、停止和销毁。常用命令包括拉取镜像(docker pull)、运行容器(docker run)、构建镜像(docker build)等。Docker还支持多容器管理(Docker Compose)和镜像仓库(如Docker Hub)。容器技术通过隔离应用环境,确保跨平台一致性,是现代化应用部署的重要工具。

2026-03-04 16:55:08 550

原创 【C++】【STL算法】深浅拷贝和移动语义

摘要: 本文针对工程决策中的拷贝问题,提出了一套判断规则,涵盖浅拷贝、深拷贝和移动三种操作的适用场景。浅拷贝适用于明确需要共享资源且生命周期可控的情况,如缓存和只读对象;深拷贝适用于需要独立所有权的场景,如跨线程或防御式拷贝;移动则优先用于性能优化,如返回值和资源转移。核心原则是:移动优先,独立则深拷贝,共享才浅拷贝,并附有决策表辅助快速判断。避免在不该共享时使用浅拷贝是减少错误的关键。

2026-02-26 11:29:43 547

原创 小概率事件概率出现的软件缺陷【处理办法】

摘要:下肢外骨骼机器人软件开发中,绝不能关闭小概率缺陷,必须采用系统化处理方法。关闭缺陷会带来严重安全风险,可能导致用户受伤甚至死亡。正确的处理方式包括:根本原因分析、分层安全架构设计(用户意图监控、运动控制监控、硬件监控)、定义故障处理程序和安全状态转换,并建立完善的日志记录机制。安全关键系统开发应遵循"探测-诊断-缓解-记录"的原则,将每个小概率缺陷视为提升系统鲁棒性的机会,确保即使缺陷发生也不会造成伤害。

2026-02-10 09:37:43 613

原创 【C++】【STL算法】参数传递中的 &

本文探讨了C++中引用(&)的本质语义,指出其核心价值在于表达对象关系而非性能优化。文章分析了不同引用形式的关键语义:值传递(T)强调独立性;T&表示对象别名关系,承诺修改可见;const T&是只读借用;T&&则声明一次性对象所有权转移。作者强调引用是接口设计的重要部分,反映了对象生命周期、修改权限和所有权等深层语义。通过对比指针和引用的区别,文章指出引用是语言级别的别名承诺,必须绑定有效对象且不可重新绑定。最后提出引用类型选择应基于明确的语义需求而非语法习惯,将引

2026-02-10 08:14:42 1004

原创 【C++】【STL算法】constexpr和noexcept关键字

本文介绍了C++中constexpr和noexcept两个关键字的工程应用。constexpr允许表达式在编译期求值,不是强制编译期而是允许退化到运行期,适用于变量、函数、构造函数和if条件分支。noexcept保证函数不抛出异常。两者组合使用可提供最强语义保证:编译期可计算且运行期不抛异常。文章给出了工程准则:控制算法使用constexpr+noexcept,实时回调用noexcept,STL容器自定义类型需标记noexcept以避免性能损失。constexpr if在模板编程中特别重要,可实现编译期分支

2026-02-06 08:29:40 255

原创 【C++】【STL算法】纯函数、虚函数及纯虚函数

摘要: 纯函数、虚函数和纯虚函数是计算机科学中的三个不同概念。纯函数(函数式编程)无副作用且输出仅依赖输入,适合数学计算和并发编程。虚函数(面向对象编程)通过virtual关键字实现多态,允许子类重写父类方法。纯虚函数(C++)用=0定义接口,强制子类实现,所在类为抽象类不可实例化。三者分别关注无副作用、多态和接口规范,适用于不同编程范式。

2026-01-28 14:35:50 639

原创 【C++】【STL算法】数据窄化及代码安全性

本文系统探讨了C++工程中数据窄化(narrowing conversion)的隐患与解决方案。数据窄化指将高精度/大范围类型转换为低精度/小范围类型,虽语法合法但会导致静默精度损失。其危险性体现在:错误隐蔽、STL会放大问题、数值错误具有传播性。现代C++要求窄化必须显式声明,文中提出四种工程解决方案:显式转换、边界统一转换、范围检查转换和使用GSL工具。建议在系统边界集中处理窄化,保持计算链路类型一致性,并通过分层策略(建模用double,控制用float)确保数值稳定性。核心思想是让窄化成为清晰可控的

2026-01-27 16:14:29 43

原创 【C++】【STL算法】那些STL算法替代的循环

STL算法可以替代循环实现常见操作,使代码更简洁高效。主要包括:遍历(std::for_each)、查找(std::find/find_if)、统计(std::count_if)、条件判断(std::any_of/all_of/none_of)、转换(std::transform)、过滤(std::copy_if)、删除(std::remove_if)、聚合(std::accumulate)、排序(std::sort)等。STL算法明确表达操作语义,减少错误,且易于并行化。例如用std::transform

2026-01-16 17:14:48 106

原创 2024/2025/2026年该读的书

本文推荐了一系列人工智能和机器学习领域的专业书籍,分为两个部分:前六本聚焦AI工程和大型语言模型(LLM),帮助读者掌握RAG、微调、推理等流行概念;后九本围绕控制、优化与强化学习,形成从经典理论到现代算法的知识闭环。这些书籍涵盖统计学、线性代数、随机过程、最优控制等核心内容,适合有一定数学基础(如统计学和机器学习数学)的读者深入学习。作者建议普通读者了解这些书的存在即可,真正研读需要扎实的理论功底。

2025-12-30 19:51:18 167

原创 论文研读【NS-3】三篇关于网络仿真和强化学习环境

本文摘要对比了主流网络仿真工具(ns-2、OMNet++、ns-3等)的性能表现,并提出ns3-ai模块实现ns-3与AI框架的高效数据交互。同时给出了基于PPO算法的强化学习实现代码,包含Actor-Critic网络结构、经验回放机制和策略更新过程,应用于BipedalWalker环境训练。该实现支持GPU加速,包含奖励归一化、优势函数计算等关键优化,通过周期性策略更新和模型保存实现稳定训练。

2025-11-18 11:04:45 114

原创 【NS3】NS-3入门秘籍

本文介绍了NS-3网络仿真器的基础知识。NS-3采用离散事件模拟技术,能仿真物理层及各类网络协议(如PPP、WiFi等),用于构建定制化虚拟网络。该项目由华盛顿大学和INRIA于2012年创立,提供tutorial、manual等文档系统,并设有邮件列表和延展社区(如Google编程之夏)。NS-3包含DCE、Netanim等关联项目,每个模块都有专用助手类。通过本文可快速了解NS-3的运行原理和资源获取途径。

2025-11-14 14:16:48 193

原创 【NS3】手动下载编译glibc-2.31

该文档记录了glibc 2.31的编译安装过程及NS3-DCE的配置步骤。首先下载并解压glibc源码,创建构建目录后设置编译选项(禁用某些警告),配置安装路径并指定内核版本要求。使用多核并行编译完成后,接着配置NS3-DCE环境,指定glibc路径和NS3路径,最后进行构建并运行DCE-iperf测试。整个流程展示了从glibc编译到网络仿真环境搭建的完整操作链。

2025-10-22 10:25:25 179

原创 【NS3】用Bake编译NS3-DCE

摘要:本文记录了在Ubuntu系统上安装和配置NS-3 DCE(Direct Code Execution)环境的过程。主要包括安装必要的依赖包(如git、g++、python3等)、克隆bake仓库、通过bake工具下载和构建NS-3 DCE组件。文中详细列出了遇到的配置问题及多种解决方案,包括指定glibc路径、ns-3-dev路径等不同参数组合的尝试,最终通过安装libc6-dev等库解决问题。整个过程展示了搭建NS-3 DCE仿真环境时的典型配置挑战和调试方法。

2025-10-14 10:16:32 411 2

原创 【NS3】核心概念和第三个程序例子

本文介绍了NS-3网络仿真中的关键组件和代码实现。首先阐述了随机数生成器在仿真中的重要性,以及NS-3提供的伪随机数生成器(PRNG)。其次说明了NS-3的对象模型基础类(Object、ObjectBase、SimpleRefCount)及其特性(属性系统、聚合系统、智能指针等)。最后通过一个网络拓扑示例代码,展示了如何创建包含点对点、CSMA和WiFi节点的混合网络,配置IP地址,设置UDP回显应用,并实现数据包捕获功能。该代码演示了NS-3中网络设备安装、协议栈配置、移动性模型设置等核心操作流程。

2025-10-10 16:41:03 206

原创 【NS3】重点概念和第一个程序例子

摘要:ns-3网络仿真工具通过将实际网络中的硬件和软件抽象为C++类的概念,如节点(Node)、网络设备(NetDevice)、信道(Channel)和应用(Application)等,实现网络环境的模拟搭建。文中介绍了ns-3的基本概念与对应关系,并展示了一个简单的点对点网络仿真示例代码,包括创建节点、配置链路、安装协议栈、分配IP地址以及设置UDP回显服务应用的过程。该仿真示例通过Helper类简化了拓扑构建,最后启动模拟器完成网络仿真。

2025-09-29 15:14:14 132

原创 claude code环境的搭建(基于wsl)

Why developers love Claude Code.Works in your terminal.Takes action: Claude Code can directly edit....Unix philosophy.Enterprise-ready

2025-07-23 09:38:47 695

原创 【NS3】ns3和ns3-gym环境、ns3-ai环境的搭建

本文详细介绍了NS-3网络模拟器的安装和NS3-Gym扩展的编译过程。首先通过apt安装依赖包,然后从GitLab克隆NS-3源码并编译。接着安装NS3-Gym所需的ZMQ和Protocol Buffers等库,修改相关CMakeLists.txt文件解决编译问题,包括proto文件处理、库命名调整等。最后重新配置并编译NS-3,确保NS3-Gym模块被正确包含。整个过程涉及多个配置文件的修改和依赖关系的处理,为在NS-3中使用强化学习功能提供了完整的环境搭建指南。

2025-07-10 11:41:58 672

原创 论文研读 Corundum: An Open-Source 100-Gbps NIC

Corundum 通过在 FPGA 上构建并行 pipeline、高效 DMA 通道、无阻塞队列结构、低延迟调度器,实现了在 PCIe Gen3 x16 接口上稳定跑满 100Gbps 吞吐量。

2025-06-25 11:17:41 429

原创 论文研读 The Globus Striped GridFTP Framework and Server

该论文提出了一种支持并行流、条带化传输、安全认证、模块解耦的 GridFTP 架构,实现了比传统 FTP 高得多的吞吐性能,适用于广域网(WAN)中的大规模科学数据传输。TCP 并行流(Parallel TCP Streams) 是指:同时创建多条独立的 TCP 连接,在逻辑上并行地传输同一个文件或数据流的不同部分,以提高总的带宽利用率,尤其是在高带宽-高延迟(高 BDP)网络环境中。

2025-06-18 15:09:35 101

原创 【传输软件】IBM Aspera

Aspera 是 IBM 推出的高性能文件传输软件,采用自主研发的 FASP(Fast Adaptive Secure Protocol)协议,通过 UDP 协议通道绕过传统 TCP 拥塞控制机制,实现长距离、高丢包网络环境下的数据高速传输。FASP 能动态调节速率,充分利用可用带宽,并通过加密与完整性校验确保传输安全可靠。Aspera 广泛应用于媒体分发、云数据迁移和跨国企业文件同步等场景,其核心技术已获得多项美国专利保护。

2025-06-18 10:41:38 547

原创 【FileZilla】下载文件时的落盘处代码

里每打开一个文件的writer,file_writer被构造的同时都会启动一个线程,执行我们本博文开始的。,在io_open的时候,下载时是会拿到对应每一个文件的writer,是不是很明确很简单啦!【FileZilla】系列终结。此处调用file_writer的构造函数,代码如下。首先我们关注SFTP事件相关的四个接口函数。前面拿出的块不为空时,就会通过这句。往文件句柄里写数据。一个writer,代码如下。,此时实际上由工厂类。

2025-06-17 15:40:39 487

原创 【FileZilla】上传下载时文件夹的处理

简单来说,就是启动local_recursive_operation::thread_entry()线程。这个线程处理完毕recursion_roots_里的所有放进去要处理的m_dirsToVisit目录展开需求。

2025-05-22 16:33:45 327

原创 【FileZilla】Client端的线程模型

Client端的线程模型

2025-05-15 23:03:20 338

原创 【FileZilla】 从事件类型到消息类型的函数形参类型转化

借助一个从事件到消息函数参数类型转化,综合运用复习一下前面分享的三篇内容。

2025-05-15 16:32:37 868

原创 【FileZilla】sftp协议的数据传输上传和下载

Filezilla支持ftp和sftp,那它的上传下载究竟是怎么实现的。

2025-05-14 16:58:30 515

原创 【FileZilla】事件调用机制代码解析

我们的核心问题是 handler_->send_event<process_event>(&process_, process_event_flag::read) 发出的事件,到底在哪里被执行?事件处理函数什么时候调用?

2025-05-14 09:50:01 511

原创 【FileZilla】 dispatch函数重载的例子

让我们来分析这些代码,特别是 dispatch 的机制。CSftpControlSocket::operator()(fz::event_base const& ev):它接收一个事件 ev,并尝试使用 fz::dispatch 将其分发给不同的处理函数。如果分发成功,则返回;否则,将事件传递给基类CControlSocket 的 operator() 处理。

2025-05-09 16:00:30 588

原创 博客摘录「 LOSF 海量小文件问题综述」2025年2月5日

LOSF解答方案论文准备中

2025-02-05 15:06:58 277

原创 rsync中远端文件的校验和存储缓存的黑科技

然而rsync是这样做的。通过宏( F_SUM() )计算远端文件的描述符指针的偏移量,从其中拿出工具在两端传输文件列表(recv_file_entry()/send_file_entry())时存储的远端文件校验和进行比较。这样就节约了大量的时间,也是rsync有一个数量级时间优化的原因。也就是说校验和实际上是存储在文件描述符地址空间的柔性数组中,并在发送方创建文件描述符时就在偏移量处放好了计算的远端文件校验和。

2025-01-02 15:00:33 569

原创 rsync增量传输机制

rsync的传输是对称的,需要在双端安装。有三个传输角色server,daemon,client,会很快根据命令行的要求区分角色为sender,receiver,generator,分别用send_files()/recv_files()/generate_files()发送,接收,生成文件。generator在receiver端,是do_recv()函数里的生成的新进程。

2024-12-13 15:06:35 516

原创 卫星通信中的拥塞控制算法

总结来说,Cubic在高带宽高延迟网络中表现更好,主要是因为它的增速机制和拥塞控制策略能更好地适应网络的带宽和延迟特性。而NewReno由于其增速较慢,可能在这种网络环境中未能充分利用带宽,因此更适合带宽较低、延迟较短的网络环境。BBR2: 在BBR的基础上添加了新的控制策略,例如更多的延迟反馈机制和更精细的带宽控制算法,以应对复杂网络环境。结论:现有的Cubic和BBR2算法可直接用于卫星通信网络的拥塞控制中,专为卫星设置的拥塞控制算法目前没有集成到系统中,但各自的性能表现需要根据实测情况进行取舍。

2024-08-09 09:41:43 428

原创 论文研读 Automatic TCP Buffer Tuning

动态调整接收套接字缓冲区的一个想法是在缓冲区大部分为空时增加缓冲区大小,因为缺少排队等待应用程序传输的数据表明数据速率低,这可能是接收窗口限制连接的结果。如果低数据速率不是由较小的接收窗口引起的,而是由缓慢的瓶颈链路引起的,则缓冲区大小在检测到数据包丢失时仍将自行校准。(1) 从论文[1]读到“如果应用程序手动使用 setsockopt() 设置接收缓冲区或发送缓冲区大小,该连接的自动调整将关闭”后,注释掉setsockopt()的部分后,可以明显看到系统的自动调优功能在起作用。

2024-06-07 16:25:45 457

原创 论文研读 A Comparison of TCP Automatic Tuning Techniques for Distributed Computing

通过大量实验,他们评估了这些技术在不同条件下的性能,包括不同数量的并行进程和网络延迟。论文《分布式计算中TCP自动调优技术的比较》由Eric Weigle和Wu-chun Feng撰写,探讨了自动调整TCP缓冲区大小以提升分布式应用性能的不同方法。文章首先讨论了手动优化TCP缓冲区大小的局限性,并介绍了研究人员提出的各种自动调优技术来应对这些挑战。作者建议,尽管自动调优可以显著减少手动工作量并提高资源利用率,但应根据具体的应用需求和网络条件选择合适的技术。

2024-06-07 16:23:34 284

原创 WSL虚拟机的两种网络配置方式 NAT Mirrored

网络NAT(Network Address Translation):在网络NAT模式下,WSL通过主机系统的网络连接进行通信,并使用网络地址转换(NAT)技术将WSL的网络流量转发到主机系统的网络连接上。这两种网络配置模式可以根据用户的需求和网络环境进行选择。在WSL(Windows Subsystem for Linux)中,网络NAT(Network Address Translation)和Mirrored是两种网络配置模式,用于管理WSL与主机操作系统(通常是Windows)之间的网络通信。

2024-06-05 17:13:05 8337

原创 TCP/IP 接收发送缓存大小的自动调优 Auto Tuning

另外,/proc/sys/net/ipv4/tcp_rmem(memory reserved for TCP rcv buffers)和/proc/sys/net/ipv4/tcp_wmem(memory reserved for TCP snd buffers)这些是三个值的数组:最小、初始和最大缓冲区大小。启用 net.ipv4.tcp_moderate_rcvbuf 参数后,Linux 内核会根据当前网络状况动态地调整 TCP 接收缓冲区的大小,以适应不同的网络环境,从而提高网络性能和可靠性。

2024-06-05 16:39:00 1403 1

嵌入式CC++语言精华文章集锦.

嵌入式CC++语言精华文章集锦.pdf 嵌入式CC++语言精华文章集锦.pdf 嵌入式CC++语言精华文章集锦.pdf

2009-09-24

linux 5.15的内核源码编译,可用于wsl

编译完成后,我们可以看到,编译好的新内核文件bzImage位于arch/x86/boot/bzImage。替换内核前关闭WSL,>wsl –shutdown,此时我们需要找到原来的WSL的内核位置,并且进行替换:通常情况下的kernel位于C:\Windows\System32\lxss\tools,此时只需要将之前重命名的kernel替换当前文件夹下的kernel即可,重启WSL,内核即更换完成。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/doublegalaxy/article/details/138579869

2024-05-08

五月七号经济学人英频 05072022

五月七号经济学人英频 05072022

2022-05-09

卡尔曼滤波和无迹卡尔曼滤波源程序

KF.m UKF.m UKF和KF例程.pdf

2022-04-27

哈工大软件学院系统分析与设计课件及考试试卷及复习提纲(part III)

最后一部分了 范老师的课件东西太多这里只上传他的课件~~ 仅学术研究目的

2010-07-10

哈工大软件学院系统分析与设计课件及考试试卷及复习提纲(part II)

资料的第二部分 相关信息参考哈工大软件学院系统分析与设计课件及考试试卷及复习提纲(part I)

2010-07-10

哈工大软件学院系统分析与设计课件及考试试卷及复习提纲(part I)

哈工大软件学院系统分析与设计课件 考试试卷参考的路军老师上课的Quiz题目及答案 加上Darker前辈我自己整理的复习提纲和填空题的备考资料 这门课是路军老师和范国祥老师共同教授~希望软件学院的学弟学妹们喜欢~~

2010-07-10

哈工大软件学院07级数据结构课程设计

数据结构的课程设计,旨在复习课程学到的线性表、树、图等逻辑数据结构,以及简单的内部排序算法等。该项目模拟了一个理发店,开店后,按照先来后到的顺序服务顾客的过程。在项目中,用到了主要用到了链表、队列的知识,以及MFC、多线程等技术。

2014-01-01

哈工大软件学院算法分析与设计考试资料

哈工大软院07级 考试复习时 搜集的往届的考试复习题~~ 希望对软院的学弟学妹们有所帮助~~

2010-07-10

哈工大软件学院算法分析与设计课程资料

资源里是我们算法分析与设计课程的ppt以及我整理的ppt里的错误

2010-07-10

MCS-51单片机原理与应用C

MCS-51单片机原理与应用C MCS-51单片机原理与应用C MCS-51单片机原理与应用C MCS-51单片机原理与应用C

2009-09-24

图形学课程教材&&哈工大计算机学院

其中具体内容我也不清楚~~来自于哈工大计算机学院的内部资料~~

2009-12-13

个性化界面&声音的播放 C#.Net例程

此程序是本人完成哈工大软件学院UID“用户界面设计”课程的一个实验的程序~~希望能够恩泽后人

2009-11-29

空空如也

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

TA关注的人

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