11 2018 档案
使用Tensoflow实现梯度下降算法的一次线性拟合
摘要:API说明: 计算张量的各个维度上的元素的平均值。 axis是tf.reduce_mean函数中的参数,按照函数中axis给定的维度减少input_tensor。除非keep_dims是true,否则张量的秩将在axis的每个条目中减少1。如果keep_dims为true,则缩小的维度将保留为1。
阅读全文
十分钟教你使用NoteExpress
摘要:http://www.a-site.cn/article/761794.html 如果你正走在读研的路上,不管是什么专业,日常生活中都少不了读文献、读文献和读文献。与其等到文献堆积如山,给阅读和使用带来无数小麻烦,不如从现在开始花一点点时间和精力,掌握一款文献管理工具,让自己的科研之路更愉快~ ”
阅读全文
JCR分区(WOS或Thomson Reuters或汤姆森 路透)和中科院分区(附网址及查询方法)
摘要:https://blog.csdn.net/Sunflower02/article/details/81187569
阅读全文
如何快速找到某个研究领域的所有SCI期刊
摘要:https://www.toutiao.com/a6624332265285485060/?tt_from=dingtalk&utm_campaign=client_share×tamp=1542411528&app=news_article&utm_source=dingtalk&iid
阅读全文
UART串口通信
摘要:#include "sys.h" #include "delay.h" #include "usart.h" u8 rdata[1]; UART_HandleTypeDef usart1_handler; //UART¾ä±ú void uart1_init() { usart1_handler.Instance...
阅读全文
Invoking "cmake" failed报错处理
摘要:运行$ pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools运行完成后再重新编译
阅读全文
Tensorflow的安装
摘要:一、安装Anaconda 1、下载地址:https://www.anaconda.com/download/ 2、在下载目录下执行以下命令: 3、看到提示按“回车键”进入Anaconda的License文档,按“q”键跳过,根据提示输入“yes”。 4、输入安装路径,一般选择默认的安装路径即可 5、
阅读全文
回调函数ros::spin()与ros::spinOnce()
摘要:ros::spin() 这句话的意思是循环且监听反馈函数(callback)。循环就是指程序运行到这里,就会一直在这里循环了。监听反馈函数的意思是,如果这个节点有callback函数,那写一句ros::spin()在这里,就可以在有对应消息到来的时候,运行callback函数里面的内容。 就目前而言
阅读全文
NodeHandles
摘要:os::NodeHandle类有两个作用: 第一、它在roscpp程序内提供了一种RAII(Resource Acquisition Is Initialization)类型式启动和关闭内部节点的方法. 第二、它提供了名字空间解决方案中额外一层,使对于子部件的写操作更加简单. 1、自动地启动和关闭
阅读全文
节点的启动与关闭 ros::init()解析(c++)
摘要:1.初始化roscpp 节点 ros::init() API链接:http://docs.ros.org/api/roscpp/html/init_8h.html 在node代码中在调用其它roscpp函数前,首先调用ros::init()函数 例如: 函数原型: argc和argv:解析命令行重映
阅读全文
gettimeofday()函数来得到时间
摘要:gettimeofday()函数的使用方法: 1.简介: 在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙 2.函数原型: #include<sys/time.h> int gettimeofday(struct timeval*tv,struct timezo
阅读全文
ROS下配置OpenCV
摘要:一.环境准备 Ubuntu16.04 ROS-kinetic opencv3.3.1 video-stream-opencv(Python)或者usb_cam (c++) 一个USB摄像头 video-stream-opencv是USB摄像头驱动,关于它的介绍,请看github:https://gi
阅读全文
在ROS中使用OpenCV
摘要:1、在工作空间下创建程序包 2、在创建的程序包的src文件中创建一个文本文件,并命名为getImage.cpp。具体代码和注释如下: $ gedit getImage.cpp #include<ros/ros.h> //ros标准库头文件 #include<iostream> //C++标准输入输出
阅读全文
错误检查roswtf
摘要:准备 在你开始本教程之前请确保roscore没在运行。 安装检查 roswtf 可以检查你的ROS系统并尝试发现问题,我们来试看: 你应该会看到(各种详细的输出信息): 如果你的ROS安装没问题,你应该会看到类似上面的输出信息,它的含义是: * "Stack: ros": roswtf根据你当前目录
阅读全文
录制与回放数据
摘要:录制数据(通过创建一个bag文件) 本小节将教你如何记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中。 首先,执行以下命令: 本小节将教你如何记录ROS系统运行时的话题数据,记录的话题数据将会累积保存到bag文件中。 首先,执行以下命令: 以上操作将会启动两个节点——一个tu
阅读全文
C++编写简单的Service和Client
摘要:编写Service节点 这里,我们将创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个整形数字,并返回它们的和。 进入先前你在catkin workspace教程中所创建的包所在的目录: $ roscd practice/ 在beginner_tuto
阅读全文
用C++编写发布器和订阅器节点
摘要:1、转移到之前教程在catkin工作空间所创建的package路径下: roscd practice/2、在package路径下创建src目录: $ mkdir src 如果已经有了就不用创建了 3、在 package里创建src/talker.
阅读全文
使用rosed编辑ROS中的文件
摘要:使用 rosed rosed是rosbash 的一部分。 利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了。 使用方法: 例子: 这个实例展示了如何编辑roscpp package里的Logger.msg文件。 如果该实例没有运行成功,那么很有可能是你没有安装vim
阅读全文
ROS——rqt(Qt工具箱)
摘要: rosrun rqt_graph rqt_graph #画出node关系图 $ rosrun rqt_console rqt_console #属于ROS日志框架(logging framework)的
阅读全文
模糊控制——(4)Sugeno模糊模型
摘要:1、Sugeno模糊模型 传统的模糊系统为Mamdani模糊模型,输出为模糊量。 Sugeno模糊模型输出隶属函数为constant或linear,其函数形式为: 它与Mamdani模型的区别在于: (1)输出变量为常量或线性函数; (2)输出为精确量。 2 、仿真实例 设输入X∈[0,5] 和Y∈
阅读全文
模糊控制——(3)模糊自适应整定PID控制
摘要:1、原理 这种控制必须精确地确定对象模型,首先将操作人员(专家)长期实践积累的经验知识用控制规则模型化,然后运用推理便可对PID参数实现最佳调整。 自适应模糊PID控制器以误差e和误差变化ec作为输入,可以满足不同时刻的e和ec对PID参数自整定的要求。利用模糊控制规则在线对PID参数进行修改,便构
阅读全文
模糊控制——(2)模糊系统和模糊控制器
摘要:一、模糊系统 模糊控制系统分类 1 按信号的时变特性分类 (1)恒值模糊控制系统 系统的指令信号为恒定值,通过模糊控制器消除外界对系统的扰动作用,使系统的输出跟踪输入的恒定值。也称为“自镇定模糊控制系统”,如温度模糊控制系统。 (2)随动模糊控制系统 系统的指令信号为时间函数,要求系统的输出高精度、
阅读全文
模糊控制——(1)基本原理
摘要:1、模糊控制的基本原理 模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它是从行为上模仿人的模糊推理和决策过程的一种智能控制方法。该方法首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的
阅读全文
模糊控制——理论基础(4模糊推理)
摘要:1、模糊语句 将含有模糊概念的语法规则所构成的语句称为模糊语句。根据其语义和构成的语法规则不同,可分为以下几种类型: (1)模糊陈述句:语句本身具有模糊性,又称为模糊命题。如:“今天天气很热”。 (2)模糊判断句:是模糊逻辑中最基本的语句。语句形式:“x是a”,记作(a),且a所表示的概念是模糊的。
阅读全文
模糊控制——理论基础(3模糊关系及其运算)
摘要:1、模糊矩阵 例3.6 设有一组同学X,X={张三,李四,王五},他们的功课为Y,Y={英语,数学,物理,化学}。他们的考试成绩如下表: 取隶属函数 μ(u) =u/100,其中u为成绩。如果将他们的成绩转化为隶属度,则构成一个x×y上的一个模糊关系R,见下表。 该矩阵称作模糊矩阵,其中各个元素必须
阅读全文
模糊控制——理论基础(2隶属函数)
摘要:1、隶属函数 几种典型的隶属函数 在Matlab中已经开发出了11种隶属函数,即双S形隶属函数(dsigmf)、联合高斯型隶属函数(gauss2mf)、高斯型隶属函数(gaussmf)、广义钟形隶属函数(gbellmf)、II型隶属函数(pimf)、双S形乘积隶属函数(psigmf)、S状隶属函数(
阅读全文
模糊控制——理论基础(1)
摘要:1、模糊控制 模糊控制是建立在人工经验基础之上的。对于一个熟练的操作人员,他往往凭借丰富的实践经验,采取适当的对策来巧妙地控制一个复杂过程。若能将这些熟练操作员的实践经验加以总结和描述,并用语言表达出来,就会得到一种定性的、不精确的控制规则。如果用模糊数学将其定量化就转化为模糊控制算法,形成模糊控制
阅读全文
专家PID控制
摘要:1、专家PID控制原理 PID专家控制的实质是,基于受控对象和控制规律的各种知识,无需知道被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直接型专家控制器。 典型的二阶系统单位阶跃响应误差曲线如图2-5所示。对于典型的二阶系统阶跃响应过程作如下分析。 图2-5中,Ⅰ、Ⅲ、Ⅴ、Ⅶ
阅读全文
专家控制
摘要:1、概述 专家控制(Expert Control)是智能控制的一个重要分支,又称专家智能控制。所谓专家控制,是将专家系统的理论和技术同控制理论、方法与技术相结合,在未知环境下,仿效专家的经验,实现对系统的控制。 专家控制试图在传统控制的基础上“加入”一个富有经验的控制工程师,实现控制的功能,它由知识
阅读全文
专家系统
摘要:1、定义 专家系统是一类包含知识和推理的智能计算机程序,其内部包含某领域专家水平的知识和经验,具有解决专门问题的能力。 2、应用 专家系统可以解决的问题一般包括解释、预测、设计、规划、监视、修理、指导和控制等。目前,专家系统已经广泛地应用于医疗诊断、语音识别、图象处理、金融决策、地质勘探、石油化工、
阅读全文
智能控制简介
摘要:参考:《智能控制》——刘金琨 1、智能控制的概念 智能控制是一门交叉学科,著名美籍华人傅京逊教授1971年首先提出智能控制是人工智能与自动控制的交叉,即二元论。美国学者G.N.Saridis1977年在此基础上引入运筹学,提出了三元论的智能控制概念,即: IC=AC∩AI∩OR 式中各子集的含义为
阅读全文
Parameter server(参数服务器)
摘要:特殊点在于参数服务器是节点存储参数的地方、 用于配置参数, 全局共享参数。 参数服务器使用互联网传输, 在节点管理器中运行, 实现整个通信过程。 1、命令行维护 load&&dump文件load和dump文件需要遵守YAML格式, YAML格式具体示例如下 : 简明解释。 就是“名称+: +值”这样
阅读全文
Srv数据格式
摘要:1、简介 类似msg文件, srv文件是用来描述服务( service数据类型的, service通信的数据格式定义在*.srv中。 它声明了一个服务, 包括请求(request)和响应( reply) 两部分。 其格式声明如下:举例: msgs_demo/srv/DetectHuman.srv m
阅读全文
使用Message
摘要:Message按照定义解释就是topic内容的数据类型, 也称之为topic的格式标准。 1、结构与类型 基本的msg包括bool、 int8、 int16、 int32、 int64(以及uint)、 float、 float64、 string、 time、duration、 header、 可
阅读全文
节点和Topic通信
摘要:1、简介 对于实时性、 周期性的消息, 使用topic来传输是最佳的选择。 topic是一种点对点的单向通信方式, 这里的“点”指的是node, 也就是说node之间可以通过topic方式来传递信息。 topic要经历下面几步的初始化过程: 首先, publisher节点和subscriber节点都
阅读全文
launch文件
摘要:https://www.jianshu.com/p/63a959bfbb96 1、简介 机器人是一个系统工程, 通常一个机器人运行操作时要开启很多个node, ROS为我们提供了一个命令能一次性启动master和多个node。 该命令是: roslaunch命令首先会自动进行检测系统的roscore
阅读全文
使用ROS节点——Node & Master——roscore、rosrun、rosnode
摘要:1、Node 在ROS的世界里, 最小的进程单元就是节点( node) 。 一个软件包里可以有多个可执行文件, 可执行文件在运行之后就成了一个进程(process), 这个进程在ROS中就叫做节点。 2、Master 由于机器人的元器件很多, 功能庞大, 因此实际运行时往往会运行众多的node, 负
阅读全文
Metapackage包
摘要:Metapackage(功能包集)是把一些相近的功能模块、 软件包放到一起。 ROS里常见的Metapacakge有: 2、Metapackage写法 CMakeLists.txt 写法如下: pacakge.xml 写法如下: metapacakge中的以上两个文件和普通pacakge不同点是:C
阅读全文
package.xml
摘要:package.xml 也是一个catkin的package必备文件, 它是这个软件包的描述文件, 在较早的ROS版本(rosbuild编译系统)中, 这个文件叫做 manifest.xml , 用于描述pacakge的基本信息。 如果你在网上看到一些ROS项目里包含着 manifest.xml ,
阅读全文
package结构
摘要:1、package结构 一个package下常见的文件、 路径有:├── CMakeLists.txt #package的编译规则(必须)├── package.xml #package的描述信息(必须)├── src/ #源代码文件├── include/ #C++头文件├── scripts/
阅读全文
二进制包 vs. 源代码包
摘要:在ROS中, 我们可能经常会遇到缺少相关的ROS依赖的问题。 有些时候你编译或者运行一些ROS程序, 系统会提示找不到XXX功能包。 如果是缺少ROS的依赖, 通常可以用以下命令来安装: 将PACKAGE替换为系统提示缺啥少的软件包, 例如
阅读全文
ROS計算圖級(通訊架構)
摘要:查看节点构成的计算图 rqt_graph 节点node就是运行了的可执行文件
阅读全文
创建ROS工程結構
摘要:图像化显示目录工程结构:tree 1、创建ROS工作空间 要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看: 现在需要确保ROS能找到新包,常常在发生变化之后,使用rospack profile识别新目录。 例如: $ rospack p
阅读全文
ubuntu下boot分区空间不足问题的解决方案
摘要:https://blog.csdn.net/along_oneday/article/details/75148240 先查看当前内核版本号(防止误删)uname –r查看已经安装过的内核dpkg –get-selections|grep linux删除旧内核(小于1中显示的版本号的内核)sudo
阅读全文
Ubuntu下查看自己的GPU型号
摘要:1、在命令行中输入:lspci 即可看到当前显卡型号。 2、Ubuntu 14.04 安装 Nvidia 私有驱动 sudo apt-get install nvidia-331 3、进行双显卡切换nvidia-settings nvidia-prime 4、运行 nvidia-settings
阅读全文
win+Ubuntu双系统安装和卸载、Ubuntu上OpenCV+ROS环境配置
摘要:卸载Ubuntu:https://blog.csdn.net/yeqiang19910412/article/details/79121581 删除Ubuntu EFI系统分区:https://blog.csdn.net/weixin_39750861/article/details/7982953
阅读全文
Opencv——摄像头设置
摘要:VideoCapture capture(0);/*设置摄像头参数 不要随意修改capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度capture.set(CV_
阅读全文
error:Assertion failed ((unsigned)i0 < (unsigned)size.p[0]) in cv::Mat::at
摘要:问题原因: 访问像素时指针越界造成的 解决办法: 1、检查指针下标是否正确 2、row和col是否写反了
阅读全文
error: OpenCV Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat
摘要:问题原因: You are probably working outside of the image dimensions. Does any of the values you pass to the cvSetImageROI function lay outside the image bo
阅读全文
常用的传感器和运动机构
摘要:判断有没有障碍物:碰撞开关、红外传感器 测距传感器:红外(夏普GP2D12)、超声波 亮度判断传感器:光敏电阻 测电机转速:光电编码器、测速发电机 角度传感器:电位器(成本低、不能用于快速的转动)、编码器(精度高) 加速度传感器:陀螺仪 视觉传感器 触觉传感器 rcc装置(远程中心柔顺装置)和主动柔
阅读全文
步进电机与伺服电机
摘要:步进电机: 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和
阅读全文