Y. F. Zhang
码龄4年
  • 233,358
    被访问
  • 85
    原创
  • 6,714
    排名
  • 642
    粉丝
关注
提问 私信

个人简介:野生程序猿

  • 毕业院校: 北京航空航天大学
  • 加入CSDN时间: 2018-09-06
博客简介:

ZYunfei的博客

查看详细资料
  • 5
    领奖
    总分 1,632 当月 144
个人成就
  • 获得529次点赞
  • 内容获得461次评论
  • 获得2,867次收藏
创作历程
  • 7篇
    2022年
  • 36篇
    2021年
  • 43篇
    2020年
成就勋章
TA的专栏
  • C++
    16篇
  • 计算机网络
    1篇
  • 分布式
    1篇
  • MATLAB
    5篇
  • 数据结构
    1篇
  • Linux
    5篇
  • 多线程编程
    8篇
  • 强化学习
    18篇
  • 四旋翼控制
    1篇
  • 电气传动与控制
    5篇
  • 控制理论
    10篇
  • 轨迹规划
    11篇
  • 感知
    3篇
  • 现代优化算法
    6篇
  • torch
    1篇
  • Python
    2篇
  • 控制系统仿真与CAD
    9篇
  • QT
    3篇
  • 计算机控制系统
    5篇
  • 飞行器控制
    1篇
  • MATLAB GUI
    1篇
兴趣领域 设置
  • 编程语言
    pythonc++c语言qtmatlab
  • 数据结构与算法
    算法
  • 后端
    后端分布式
  • 人工智能
    深度学习
  • 网络
    httptcp/ip
  • 操作系统
    linux
  • 服务器
    unix
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

开源Linux分布式仿真系统C++11实现(基于Muduo网络库)

基于Muduo网络库的Linux分布式仿真系统(开源)
原创
发布博客 2022.05.19 ·
271 阅读 ·
2 点赞 ·
2 评论

MATLAB转C/C++常见问题总结

楔子本指南试图帮助用户写出在转C过程中尽量少报错的Matlab m文件,其中更多是一些编程范式上的问题,在此记录下来,帮助后人写出无缝转C的代码。Author: Y. F. ZhangTime: 2022.4.16注意点使用变量前声明变量这一点在matlab中时可以容忍的,但对于一般编程语言是无法容忍的。使用一个变量前请预分配变量内存(注意预分配内存不是简单前面给个 =0就可以了,得是相应维度的预分配):tmp = zeros(6, 6); % 预分配内存for i = 1 : 6
原创
发布博客 2022.05.05 ·
89 阅读 ·
0 点赞 ·
0 评论

深入浅出数据结构C++优雅实现(带注释 精简无废话)

使用C++优雅地实现一些常见的数据结构。
原创
发布博客 2022.04.07 ·
1239 阅读 ·
1 点赞 ·
2 评论

Ubuntu虚拟机使用花生壳内网击穿后外网登录自己写的web服务器

什么是内网击穿以及原理在了解内网穿透原理之前,我们先说什么是内网穿透。内网,就是在公司或者家庭内部,建立的局域网络或者是办公网络,可以实现多台电脑之间的资源共享,包括设备、资料、数据等。而外网则是通过一个网关与其它的网络系统连接,相对于内网而言,这种网络系统称之为外部网络,常见的就是我们日常使用的互联网。一般而言,在没有固定公网IP的情况下,外网设备无法直接访问内网设备。而内网穿透技术,顾名思义就是能让外网的设备找到处于内网的设备,从而实现数据通信。内网穿透,又称为NAT穿透。NAT背后的设备,它们的
原创
发布博客 2022.03.23 ·
2148 阅读 ·
0 点赞 ·
0 评论

一个基于进程池的Linux高性能并行计算服务器项目

最近闲来无事,C++做了个微型基于进程池的计算服务器,纯socket编程。项目地址https://github.com/ZYunfeii/MyParallelComputingServer项目思维导图可以看看这个技术框架,具体实现说简单点就是远程计算逆矩阵,但是项目重点不在这个怎么求(事实上是拿Matlab生成的),重点在Linux Socket编程和多进程上。使用Basic InfoThis is a concurrent computing server based on process
原创
发布博客 2022.03.02 ·
654 阅读 ·
2 点赞 ·
0 评论

ubuntu18虚拟机与宿主机win10互ping

关闭win防火墙win端:以太网->更改适配器选项 从而查看当前网卡名称我的网卡是I210这个。win端 win+R cmd后ipconfig我这台win的ip是10.132.57.213(这个用于判断ubuntu和win到底在不在一个网段,所谓在一个网段,即ip地址按位与子网掩码结果一致)。ubuntu虚拟机设置网络适配器为桥接,且桥接设备只选择刚刚查到的宿主机win网卡注意啊,只勾选我们在使用的网卡。ubuntu ctrl+Alt+T 输入ifconfig可以计算,.
原创
发布博客 2022.02.21 ·
641 阅读 ·
0 点赞 ·
0 评论

vs2017静态库和动态库的创建与使用简明教程

vs2017静态库和动态库的创建与使用简明教程静态库创建和使用创建使用易错点动态库创建和使用创建使用注意DLL的好处Others静态库创建和使用创建打开vs2017点击创建新项目,选择静态库;在StaticLib.cpp文件下写实现,再创建一个对应的头文件写声明:项目->生成 即可在输出文件夹下得到对应的lib文件:使用新建一个项目,点击属性,配置三条款项:VC++目录的包含目录和库目录分别加入lib对应头文件的位置和lib文件的位置;链接器->输入 添
原创
发布博客 2022.01.30 ·
1481 阅读 ·
4 点赞 ·
1 评论

轨迹跟踪算法:L1非线性跟踪算法演示(附matlab simple demo)

概览L1算法的核心公式只有一个:ascmd=2V2L1sin⁡ηa_{s_{\mathrm{cmd}}}=2 \frac{V^{2}}{L_{1}} \sin \etaascmd​​=2L1​V2​sinη其中符号解释如下图:一句话解释:L1跟踪算法解出了一个横向加速度作用于对象,输入为对象当前的速度矢量、与对象相距L1的待跟踪轨迹上的参考点。至于η\etaη是根据参考点位置和对象位置以及对象速度矢量来计算的。用L1来做跟踪的关键是如何求取待跟踪轨迹上的一点,该点到对象的位置距离恰好为L1。L1
原创
发布博客 2021.10.05 ·
755 阅读 ·
2 点赞 ·
2 评论

Velodyne 32C Win端和Ubuntu18下使用

Winhttps://blog.csdn.net/i_robots/article/details/109864454Ubuntu激光雷达用以太网连接电脑;设置ipv4:IP地址:192.168.1.x(x可以为1到254除开201以外的所有值,因为201是激光雷达的IP),我设的192.168.1.70子网掩码:255.255.255.0安装好ros melodic;新建ROS工程mkdir -p catkin_velodyne/srccd catkin_vel
原创
发布博客 2021.09.25 ·
139 阅读 ·
0 点赞 ·
0 评论

拿着好代码学算法是最快的,细节掌握得明明白白,还能学习高手编程用的高性能工具。

发布动态 2021.08.17

手把手教学基于简单神经网络的激光雷达点云车辆检测(附代码)

准备工作pythonmatlabKITTI数据集激光雷达部分参考文献(本文基本按照该文献方式处理):邓淇天. 基于激光雷达和视觉传感器融合的障碍物识别技术研究[D]. 南京: 东南大学, 2019.1. KITTI数据读入我在https://blog.csdn.net/weixin_43145941/article/details/119513491一文中已经给出了matlab代码用于得到KITTI点云图。当然,可以假想现在已经获得了一个点云:points_cloud.shape=(n,4
原创
发布博客 2021.08.12 ·
1996 阅读 ·
9 点赞 ·
6 评论

KITTI数据集激光雷达点云3D-Box可视化Matlab代码

为什么要写这篇Blog网上很少有详细写KITTI点云+3D-Box可视化方法的,唯一找到一个https://github.com/Qjizhi/kitti-velodyne-viewer还是用C++和Python写的,不仅需要PCL点云库而且还有编译等一串较为麻烦的操作。而用Matlab做则十分简洁优雅,不到百行代码即可完成。网上对KITTI数据的介绍不够简明,我想通过可视化这一过程介绍一下用到的数据的含义。本文相较于1的github还增加了类别标注上图,接口只有一个就是点云帧编号。所用到的KI
原创
发布博客 2021.08.08 ·
1691 阅读 ·
6 点赞 ·
0 评论

Win通过SSH协议远程连接Ubuntu

软件准备:Xshell,WinSCP(直接百度就能下)硬件准备:一台Win PC端,一台Ubuntu系统的PC或服务器1. 开启Ubuntu的ssh服务如果第一次使用ssh,需安装ssh:sudo apt-get install openssh-server安装后打开ssh:sudo service ssh start判断是否打开成功:ps -e|grep ssh如果显示有sshd就说明成功了。2. 查看IP地址首先得保证Ubuntu联网,之后终端 ifconfig,如果没有该命令可以按照
原创
发布博客 2021.08.03 ·
150 阅读 ·
1 点赞 ·
0 评论

GWO灰狼优化算法python和matlab代码

简单实现了GWO灰狼优化算法的Matlab版本和Python版本,程序易读且简洁。Matlab:这里可以移步github:https://github.com/ZYunfeii/GreyWolfOptimization-GWO中GWO.mlx文件,因为我是用实时编辑器写的,用matlab打开这个文件可以更好得展示其中的批注。Python:#!/usr/bin/python# -*- coding: UTF-8 -*-"""author: Y. F. Zhang"""import nump
原创
发布博客 2021.07.31 ·
1150 阅读 ·
3 点赞 ·
3 评论

Hindsight Experience Replay(HER)技术

提出缘由在许多强化学习环境中都存在稀疏奖励的问题,例如机械臂抓取物体,当抓到物体时给予一个正奖励,其余时候为零。再比如由n个硬币组成的环境,每个硬币都有正反两面记为{0,1}\{0,1\}{0,1},动作为选择其中一个硬币翻面,存在一个目标硬币状态组合(eg. {0,1,1,1,0...}\{0,1,1,1,0...\}{0,1,1,1,0...}),当抵达这个状态时才给予一个奖励。以上述这些环境为解决对象的RL算法程序中,经验池buffer会存储大量相同奖励reward的transition,这对于网络
原创
发布博客 2021.07.29 ·
642 阅读 ·
3 点赞 ·
0 评论

谁说ddpg是初级算法的?我看有些时候吊打baseline sota

发布动态 2021.07.25

kaggle还是大神多,我怎么优化得分也就0.7几,参赛5w我排3w菜得一…

发布动态 2021.07.21

滑模控制Simulink模型(入门必备).rar

发布资源 2021.07.13 ·
rar

写了一个Ai贪吃蛇,20分钟即可训练完成,水平和普通玩家相当,羽量级别模型,相关实现在博客,代码在github,欢迎star.

发布动态 2021.07.10

使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

如何让AI玩会贪食蛇,甚至比你厉害概述构建问题(强化学习求解的一般步骤)环境动作定义状态定义奖励设计训练奖励值收敛图效果代码概述所用技术:强化学习(Deep Reinforcement Learning),属于一种无监督学习,利用奖励rewardrewardreward教会智能体AgentAgentAgent在合适的场景做合适的决策。采用算法:试过两种算法D3QN和离散版本的PPO算法,最终采用离散版本PPO算法+GAE(PPO是我用过的性能最好的算法之一)编程语言与深度学习框架:Python3.
原创
发布博客 2021.07.10 ·
5650 阅读 ·
10 点赞 ·
10 评论
加载更多