自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 单例模式(Meyer‘s Singleton)实现

Scott Meyers 在 Effective C++ 的 Item 4: Make sure that objects are initialized before they’re used 里面提出了一种利用 C++ 的 static 关键字来实现的单例模式,这种实现非常简洁高效,它的特点是,仅当程序第一次执行到 GetInstance 函数时,执行 instance 对象的初始化.class Singleton{public: static Singleton& Instanc

2022-04-13 23:34:12 2093

原创 c++利用数组递归构建二叉树

1 #include<iostream>2 #include<vector>3 #include<queue>4 5 using namespace std;6 struct TreeNode{7 int val;8 TreeNode *left;9 TreeNode *right;10 TreeNode() : val(0), left(nullptr), right(nullptr) {}11 TreeNod

2022-04-13 23:16:20 1537

原创 面试常用排序算法

冒泡排序//每次循环确定末尾值//时间复杂度O(n²)//空间复杂度O(n)class Solution {public: vector<int> bubbleSort(vector<int>& nums) { int n=nums.size(); for(int i=0;i<n-1;i++) { for(int j=0;j<n-i-1;++j) {

2022-03-04 23:51:00 329

转载 GDB调试简单教程

什么是 GDB准备工作GDB 命令 – 启动、退出、查看代码GDB 命令 – 断点操作GDB 命令 – 调试命令

2021-12-19 15:13:40 106

原创 Git 与 Samba简单服务器搭建

安装Git和Sambasudo apt updatesudo apt upgradesudo apt install gitsudo apt install samba samba-common创建用户git(约定俗成的名)sudo adduser gitsudo smbpasswd -a git禁止git用户shell登录# 找到git-shell存放路径# which git-shellsudo vim /etc/passwdgit:x:1001:1001:,,.

2021-12-19 09:37:17 644

原创 ROS常用API

初始化/** @brief ROS初始化函数。 * * 该函数可以解析并使用节点启动时传入的参数(通过参数设置节点名称、命名空间...) * * 该函数有多个重载版本,如果使用NodeHandle建议调用该版本。 * * \param argc 参数个数 * \param argv 参数列表 * \param name 节点名称,需要保证其唯一性,不允许包含命名空间 * \param options 节点启动选项,被封装进了ros::init_options * */void

2021-12-19 09:35:38 933

原创 EtherCAT(ubuntu18.04,linux4.9.38,xenomai3.1,igh1.52)配置完整流程

所需安装包#linux4.9.38wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.38.tar.gz#xenomai3.1wget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz2#igh1.52git clone https://github.com/ribalda/ethercat.gitsudo apt install gcc libc

2021-12-19 09:33:08 5682 13

转载 Makefile简单教程

什么是MakefileMakefile 文件命名和规则#新建Makefile文件#具体格式如上图,具体实现如下app:sub.c add.c mult.c div.c main.c gcc sub.c add.c mult.c div.c main.c -o app工作原理#新建Makefile文件app:sub.o add.o mult.o div.o main.o gcc sub.o add.o mult.o div.o main.o -o appsub.o:sub.c

2021-12-16 17:47:43 78

原创 Linux下c++程序编译流程解析及静、动态库的创建和使用

C++程序编译流程预编译这个过程主要是处理源代码中以#开头的预编译指令,比如#include,#define等#-o 选项指定生成的文件g++ -E hello.cpp -o hello.i编译这个过程就是把预编译完的文件进行词法分析、语法分析、语义分析及优化后生成相应的汇编代码#直接编译上步生成文件或源文件都可g++ -S hello.i -o hello.sg++ -S hello.cpp -o hello.s汇编这个过程就是把汇编代码转换成机器码g++ -c he

2021-12-16 16:04:55 1865

原创 Ubuntu18.04下使用ROS运行Kinect V2获取点云数据及在Rviz中显示

安装libfreenect2#下载源码 git clone https://github.com/OpenKinect/libfreenect2.git#安装依赖,亲测全程不缺依赖报错sudo apt install build-essential cmake pkg-config libturbojpeg libjpeg-turbo8-dev mesa-common-dev freeglut3-dev libxrandr-dev libxi-dev libglfw3-dev libopenni2

2021-12-15 21:59:47 2164

原创 ROS编程-VSCode基本配置及常用快捷键

插件安装Bracket Pair Colorizer 2C/C++Chinese (Simplified) Language Pack for Visual Studio CodeCMake ToolsOne Monokai Theme #颜色主题PylancePythonROSXML Tools字体安装git clone https://github.com/tonsky/FiraCode#打开distr/ttf文件夹,安装所有字体#Editor: Font Fami

2021-05-04 21:55:01 729

转载 从xacro模型文件搭建Moveit!+Gazebo仿真系统

使用Moveit生成机械臂的配置文件参考官方文档即可:http://docs.ros.org/en/melodic/api/moveit_tutorials/html/doc/setup_assistant/setup_assistant_tutorial.htmlGazebo搭建ROS仿真环境相关概念简介what is ros_control?ROS为开发者提供的机器人控制中间件。包含一系列控制器接口、传动装置接口、硬件接口、控制器工具箱等等。可以帮助机器人应用功能包快速落地,提高开发效

2021-05-03 17:26:39 1720 4

原创 MOVEIT配置IKFAST运动学插件-安装OPENRAVE

python/bindings/CMakeFiles/pyANN_int.dir/build.make:62: recipe for target 'python/bindings/CMakeFiles/pyANN_int.dir/pyann.cpp.o' failedmake[2]: *** [python/bindings/CMakeFiles/pyANN_int.dir/pyann.cpp.o] Error 1CMakeFiles/Makefile2:1043: recipe for target

2021-04-30 10:04:24 1767 3

原创 C++ Primer 习题(第五章附答案)

练习5.1 什么是空语句?什么时候会用到空语句? 空语句是最简单的语句,空语句由一个单独的分号构成。如果在程序的某个地方,语法上需要一条语句但是逻辑上不需要,此时应该使用空语句,空语句什么也不做。 一种常见的情况是,当循环的全部工作在条件部分就可以完成时,我们通常会用到空语句。使用空语句时最好加上注释,从而令代码的阅读者知道这条语句是有意省略内容的。练习5.2 什么是块?什么时候会用到块? 块是指用花括号括起来的语句和声明的序列,也称为复合语句。一个块就是一个作用域,在块中引入的

2021-04-23 19:46:20 558

原创 Ubuntu18.04安装及卸载内核

查看当前系统使用的内核版本unmae -a查看系统所有内核版本sudo dpkg --get-selections |grep linux-image查看所有能下载的内核镜像apt-cache search linux|grep linux-image搜索想安装的内核镜像apt-cache search linux|grep 4.15.0-20下载安装镜像sudo apt update#安装依赖sudo apt intsall -f #sudo dpkg -i lin

2021-04-23 15:47:54 1281

原创 ROS与UR3机械臂的仿真与实时控制

基本配置:Ubuntu18.04+ROS melodic1. 源码下载cd ~/catkin_ws/srcgit clone -b kinetic-devel https://github.com/ros-industrial/universal_robot.gitgit clone https://github.com/woo-rookie/ur_modern_driver.git#原版本有报错#将universal_robot下的ur_driver替换为上面下载的ur_modern_driv

2021-04-08 14:51:34 1088

原创 Ubuntu18.04+Xenomai3.1详细步骤(附内核deb文件)

xenomai是linux实时改造的重要方案之一,下面给出其具体的安装以及Ubuntu内核编译过程。原理图如下1. 下载ubuntu内核以及xenomai3.1软件包#开局先换源wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.9.38.tar.gzwget https://xenomai.org/downloads/xenomai/stable/xenomai-3.1.tar.bz22. 压缩包解压,并复制到/usr/src

2021-04-06 15:56:03 3357 5

原创 tensorflow2.0 深度学习与入门实践 日月光华 学习笔记

tensorflow2.0 深度学习与入门实践 日月光华 全套课程含课件及相关资料部分截图如下tensorflow2.0 深度学习与入门实践 日月光华 全套课程含课件及相关资料20RMB 点赞点关注半价呦有需要的可以私信我...

2021-01-07 20:30:59 1933 15

原创 C++ Primer 习题(第四章附答案)

练习4.1 表达式5+10*20/2的求值结果是多少?#include<iostream>using namespace std;int main(){ cout << 5 + 10 * 20 / 2 << endl; return 0;}练习4.2 根据4.12节中的表,在下述表达式的合理位置添加括号,使得添加括号后运算对象的组合顺序与添加括号前一致。#include<iostream>#include<vector>#

2020-12-30 23:07:52 2113 1

原创 C++ Primer 习题(第三章附答案)

练习3.1 略练习 3. 2 编写一段程序从标准输入中一次读入一整行,然后修改程序使其一次读入一个词。#include <iostream>#include<string>using namespace std;//使用getline一次读入一整行,回车结束int main(){ string line; cout << " please enter your line ,even space" << endl; while (get

2020-12-21 10:40:17 4025

原创 C++实现创建通讯录管理系统

#include<iostream>#include<string>#define max 1000using namespace std;//菜单界面void showmenu(){ cout << "****************************" << endl; cout << "***** 1.添加联系人 *****" << endl; cout << "***** 2.显

2020-12-13 19:03:45 578 3

原创 Matlab (控制工程基础)学习笔记

系统定义及转换(1)连续系统的传递函数模型sys=tf(num,den)%tf()代表采用传递函数形式建立系统模型%num和den表示分子和分母系数构成的两个向量,当传递函数复杂时,应用多项式乘法函数conv()等实现sys=tf(num,den,‘inputdelay’,tao)%建立的是带时间延迟的系统传递函数[num,den]=tfdata(sys,’v’)%函数tfdata(),可从传递函数模型中提取模型中的分子分母多项式系数%v为关键词,其功能是返回行向量(row vecto

2020-12-12 16:16:50 4812

原创 C++ Primer 习题(第二章附答案)

练习2.1 类型int、long、long long 和short 的区别是什么?无符号类型和带符号类型的区别是什么?float 和double的区别是什么? 在C++语言中,int、long、long long 和short都属于整型,区别是C++标准规定的尺寸的最小值不同。其中,short 是短整型,占16位;int是整型,占16位;long 和long long均为长整型,均为长整形,分别占32位和64位。 大多数整型都可以划分为无符号类型和带符号类型,在无符号类型中所有比特都用来存储数值,但是仅

2020-12-04 15:28:52 3333 3

原创 C++ Primer 习题(第一章附答案)

练习1.1-1.2 略练习 1.3 编写程序,在标准输出上打印 hello,world。#include <iostream>using namespace std;int main(){ cout << "hello ,world" << endl; return 0;}练习1.4 我们的程序使用加法运算符+来将两个数相加。编写程序使用乘法运算符*,来打印两个数的积。#include<iostream>using namespac

2020-12-01 12:25:21 554

转载 C++基础入门(黑马程序员C++教程笔记)

前言: 配套视频: https://www.bilibili.com/video/BV1et411b73Z 为方便学习,在此发布C++基础入门部分配套讲义,原作者为黑马程序 C++基础入门 1 C++初识 1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 创建...

2020-11-26 15:17:38 5279 6

原创 解决Ubuntu安装花屏及显卡驱动问题

一:进入到选择ubuntu安装页面时,狂点e进入编辑页面,以免黑屏二:Linux… quite splash — 改为Linux… quite splash nomodeset 按F10正常安装三:安装完成重启依旧会花屏,重复步骤一四:linux… vt_handoff 改为 linux… vt_handoff nomodeset 按F10正常进入系统五:安装显卡驱动#先去软件和更新,选个自己喜欢的国内源#添加 PPA 软件仓库sudo add-apt-repository ppa:gra

2020-11-20 10:03:14 2725

原创 ROS入门21讲(古月居) 学习笔记

Linux系统基础操作cd命令语法:cd<目录路径>功能:改变工作目录.若没有指定’目录路径’,则回到用户的主目录pwd命令语法:pwd功能:此命令显示当前工作目录的绝对路径.mkdir命令语法:mkdir[选项]<目录名称>功能:创建一个目录.ls命令语法:ls[选项]<目录名称>功能:列出目录的内容touch命令语法:touch[选项]<目录名称>功能:改变文件或目录时间.mv命令语法:mv[选项]<源文件或目录&g

2020-10-16 11:38:36 9736 2

原创 Matlab app designer 实现机械臂 基础学习

机械臂的基础学习包括机械臂运动学,速度关系以及动力学与控制.用Matlab语言实现各部分功能,并用app designer包装成型大体就是下面这个样子其他功能Simulink模型这里不每个功能一一注释了APP已打包有需要的私我...

2020-08-19 17:23:04 840 14

原创 Pycharm,Idea 改中文教程(附Pycharm中文插件安装包 2020年8月10日更新版 )

对于新手来说,全英文的操作界面不如中文的亲和,到处找复杂的汉化教程,效果也不尽人意.那么来看看官方汉化版吧具体操作流程File>settings>plugins>搜索chinese下载好重启即可如果遇到什么不可抗因素导致无法下载安装那么可以离线安装去下面这网址自己去下载插件https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack-eap/versions下载好后可以直接拖进py

2020-08-16 14:52:46 3241 6

原创 Matlab(台大郭彦甫)学习笔记

绘图%改变绘图风格plot(x,y,'str')%Data markers . * x 0 + s d p v ^ < > H%Line types - -- -. :%Colors k b c g m r w y%增加图标legend('L1',....)title()xlabel()ylabel()%增加文本及箭头x = linspace(0,3);y = x.^2.*sin(x);plot(x,y);line([2,2],[0,2^2*sin(2)]);

2020-08-15 15:05:35 1170

原创 tensorflow2.3实践 猫狗识别(详细步骤注释及93%的准确率)

系统ubuntu 20.04IDEpycharm(社区版)ps:建议专业版,真能避免许多麻烦代码import tensorflow as tfimport matplotlib.pyplot as pltimport pathlibimport random#提取所有文件路径data_dir = '/...../test'data_root = pathlib.Path(data_dir)all_image_path = list(data_root.glob('*/*'))a

2020-08-12 00:32:42 2392

原创 tensorflow2.0 深度学习与入门实践 日月光华 学习笔记(二)

tf.data输入模块import tensorflow as tf#下载数据(train_image,train_lable),(test_image,test_label)=tf.keras.datasets.fashion_mnist.load_data()#数据归一化train_image = train_image/255test_image = test_image/255#创建datasetds_train_img = tf.data.Dataset.from_tenso

2020-08-11 00:38:09 621

转载 百度网盘网页倍速播放以及高速下载

操作系统win10浏览器QQ浏览器具体操作方法打开浏览器在设置里面进入开发者工具(F12)选择console那一栏输入videojs.getPlayers("video-player").html5player.tech_.setPlaybackRate(2)#实参代表播放速度回车即可保存书签,免得反复输入平板的话,下个夸克浏览器,在网页登录也能倍速播放百度云高速下载的方法通过重定向下载链接的方式,实现高速下载。例如朋友分享的下载链接为:pan.baidu.com/s/1vQ

2020-08-10 12:10:51 730

原创 tensorflow2.0 深度学习与入门实践 日月光华 学习笔记(一)

简单例子

2020-08-09 23:04:26 490

原创 tensorflow2.x 线性回归 与 tensorflow1.x区别

在学习莫烦python中tensorflow教程中遇到loss passed to Optimizer.compute_gradients should be a function when eager execution is enabl以及根据网上修改后出现No variables to optimize等错误代码出现问题的原因呢就是因为tensorflow1.x版本和2.x版本问题,不要以为将指令改为2.X版本的就万事大吉了,根出问题了.为了方便对比理解,附上大佬源代码并用相同数据和先同思

2020-08-09 16:49:55 598

原创 神经网络 Theano(莫烦python) 学习笔记

基本用法import numpy as npimport theano.tensor as Tfrom theano import functionx = T.dscalar('x')#建立存量 d表示float64y = T.dscalar('y')z = x + yf = function([x,y],z)#前输入量后输出量print(f(2,3))#显示functionfrom theano import ppprint(pp(z))#定义矩阵x = T.dmatri

2020-08-05 23:42:59 319

原创 强化学习 Sarsa算法(莫烦python)学习笔记

对比 Sarsa 和 Q-learning 算法案例对比import numpy as npimport pandas as pdclass RL(object): def __init__(self, action_space, learning_rate=0.01, reward_decay=0.9, e_greedy=0.9): self.actions = action_space # a list self.lr = learning_rat

2020-08-01 14:06:26 1046

原创 强化学习 Q-Learning(莫烦python)学习笔记

Q-Learning算法例一以最短距离到达终点import numpy as npimport pandas as pdimport timenp.random.seed(2) # 生成相同的随机数N_STATES = 6 # 距离ACTIONS = ['left', 'right'] # 可进行的操作EPSILON = 0.9 # 选择最优值概率ALPHA = 0.1 # 学习效率GAMMA = 0.9 # 衰减度MAX_EPISODES =

2020-07-31 22:27:42 965 1

原创 pandas(莫烦python)学习笔记

pandas基本介绍pandas.Series([…]) #创建序列pandas.date_range(‘20200729’,periods=7)# 创建日期序列pandas.DataFrame(…,index=…,columns=…)# 创建制定索引矩阵A.index#行索引名称A.columns#列索引名称A.values#矩阵值A.describe()#描述矩阵A.T# 反相矩阵A.sort_index(axis=1,ascending=False)# 按列倒序排序A.sort_

2020-07-30 00:36:44 202

原创 numpy(莫烦Python)学习笔记

numpy属性array = numpy.array([…]) #列表变矩阵array.ndium #矩阵维数array.shape #行数及列数array.size #矩阵所包含元素总和numpy创建arraynumpy.array([…],dtype=numpy.int) #定义为整数形式numpy.array([…],dtype=numpy.float) #定义为小数形式numpy.zeros((…,…)) #生成全部为0的矩阵,括号内为行数和列数numpy.ones((…,…)

2020-07-28 19:31:06 222

空空如也

空空如也

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

TA关注的人

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