- 博客(66)
- 资源 (26)
- 收藏
- 关注
原创 eye-in-hand手眼标定系统
上一个博文说了一种手眼标定系统的特殊情况,就是相机随着机械手一起移动的情况。虽然前面简单介绍了一种办法,就是内次拍照时让相机回到之前标定的位置,但是这样处理机器人的工作效率就会大大降低,产生很多重复动作,所以这篇博文就来讲一种更简单的标定方案。 下面是halcon官方给的手眼标定系统的案例代码。 这个例子主要应用于相机固定在机械手末端的手眼系统中,而且标定板相对于机器人也是静止的。 在这...
2018-03-31 11:11:04 18491 2
原创 深入浅出地理解机器人手眼标定
所谓手眼系统,就是人眼镜看到一个东西的时候要让手去抓取,就需要大脑知道眼镜和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。 相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 在实际控制中,相机检测到目标在图像中的像素位置...
2018-03-30 23:32:05 59960 29
原创 通俗易懂的理解机器人运动学
一 机器人运动学工业机器人的正向运动学是指已知各关节的类型、相邻关节之间的尺寸和相邻关节相对运动量的大小时,如何确定工业机器人末端操作器在固定坐标系中的位姿。 DH模型由来:1955年,Denavit和Hartenberg(迪纳维特和哈坦伯格)提出了这一方法,后成为表示机器人以及对机器人建模的标准方法,应用广泛。 总体思想:首先给每个关节指定坐标系,然后确定从一个关节到下一个关节进行变化...
2018-03-29 21:14:55 38004 20
转载 工业机器人基础知识
机器人研究的基础内容1、空间机构学机器人机身和臂部机构的设计、机器人手部机构设计、机器人行走机构的设计、机器人关节部机构的设计。2、机器人运动学研究要涉及到组成这一系统的各杆件之间以及系统与对象之间的相互关系,为此需要一种有效的数学描述方法。3、机器人静力学静力学主要讨论机器人手部端点力与驱动器输入力矩的关系。4、机器人动力学动力学方程是指作用于机器人各机构的力或力...
2018-03-29 14:58:10 13094 2
原创 大功率高精度恒流源的设计
最常用的恒流源是FET或恒流二极管,但是电流值有限且稳定度差,所以不做考虑。如果我们设计十几瓦的电流源就不能采用上面的方案了。本恒流源方案叫做:串联调整型稳流电源。框图如下: 首先这个电路之所以稳定就是因为两个字:闭环。 通过采样电阻将输出电流转换成电压,然后与基准电压进行比较,比较后的误差经过放大器推动调整管对输出电流进行调节,最后保持电流调节在设定值并保持不变。然后我们通过调节...
2018-03-28 09:16:25 23127 4
原创 谈谈弧焊接
本人并非专业焊接人员,近期项目中涉及到一些自动弧焊机器人,所以需要补一下相关的知识。电弧焊概念:电弧焊(arc welding)是利用电弧作为热源的熔焊方法,简称弧焊。其基本原理是利用电弧是在大电流(10至200A)以及低电压(10至50V)条件下通过电离气体时放电所产生的热量,来熔化焊条与工件使其在冷凝后形成焊缝。(摘自维基百科)关于电弧:下面解释一下电弧焊中的电弧,电弧是一种气体放...
2018-03-23 11:37:05 2402
原创 Python学习--1.7Python程序是一种脚本
这节教程我们谈谈脚本,这个和python有什么关系呢。脚本的英文名字是script。我们很容易会联想到游戏中的外挂,其实外挂就是及脚本,前几天很火的微信小程序跳一跳就有人用python写了一个脚本实现刷分。所以我们写用python一个文件其实也是在写脚本文件。 另外还有一个地方也会用到脚本这个词,就是拍电影,电影剧本的脚本,决定了电影中的人和物,都做哪些事情,怎么做。而python中的脚本,决定了...
2018-03-23 02:46:22 1901
原创 Python学习--1.6Python基本运行机制
过程概述Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。字节码字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。pyc文件PyCodeObject对象的创建时机是模块加载的时候,即import。Python test.py会对t...
2018-03-23 02:45:41 2360
原创 Python学习--1.5Python编译器和解释器
当我们写好一个python的代码保存为.py文件时,点击运行程序,程序就可以出结果,这个过程需要Python解释器去实现。 Python的解释器很多,但使用最广泛的还是CPython、PyPy、Jython、IPython、IronPython等。 其中CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。...
2018-03-23 02:33:46 2291
原创 Python学习--1.4Python程序结构
这节教程你讲了解一下内容: 包,模块,类,函数的概念; 程序里怎么理解包,模块,类,函数和参数的关系; 如果理解他们之间一层层的调用或者传递?前几节课我们安装了python,并且调用turtle模块和其中的类与方法写了一个小程序。然后点击运行就实现了。那么这背后的机理是什么呢? 我们知道python之所以强大就是因为它有很多包来组成的,我们通过这些包和模块就可以站在巨人的肩膀上,实现快...
2018-03-23 02:03:10 3247
原创 Python学习--1.3第一个Python程序
我们先写一个小程序。import turtlet = turtle.Turtle()for c in ['red', 'green', 'yellow', 'blue']: t.color(c) t.forward(75) t.left(90)运行效果: 程序分析: import turtle:导入一个turtle模块, t = turtle....
2018-03-23 02:02:39 1779
原创 Python学习--1.2Python开发工具
1.IPython 2.pycharm是由JetBrains打造的一款Python IDE,用于一般IDE具备的功能。比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。 3.Anaconda 4.编辑器:Sublime 5.notepad++ 6.在线编辑器Python Tutor 7.Jupyter Notebook 8.在线 Py...
2018-03-23 02:02:15 1761
原创 Python3学习--1.1Python开发环境配置
Python3 可在Windows,Mac OS和大多数Linux操作系统运行。本教程主要介绍在Windows环境下安装Python3。之所以用python3系列是因为Python2.7再过几年官方就不会再支持了,而且Python3相比较Python2会 支持更多的功能。 下面介绍一下Python3在Windows10中的安装方法。 1. 首先打开Python下载官网:https://www....
2018-03-23 02:01:06 1872
原创 Python学习教程系列
最近计划把Python的学习过程总结一下,写成一个系列教程,每天都会更新一点。目前计划教程的前半部分讲python的基本知识,后半部分讲数据结构和算法的内容。前言: Python是一门技术,也是一门艺术。 Python编程如同书法,绘画,技术娴熟的背后需要大量的刻苦练习。 Python编程中遇到困难千万不要退缩,人生本来就是解决生活学习中的各种问题,从而得到成长,要想做到活学活用,必须靠...
2018-03-23 01:45:20 2237
原创 学习方法
学习本质是认知过程,其实它是有规律可循的。虽然个体的特殊经验不一定适用,但是有一些普遍规律是适用的。 1) 对于知识追根到底。 不能只是理解书面上的意思,而要知道为什么,怎么做,原因是什么。 2)对于知识进行结构化和体系化。 对于概念与概念的关系,和概念内在机构清楚。 如果把大脑比作一个仓库的话,体系化的学习好像分门别类的把知识有序的组织起来,编成了一张信息的大网。平时在手机或者网络上看...
2018-03-21 22:10:50 1765
原创 学习算法值得推荐的几个地方
讲解比较好的网站: http://www.csie.ntnu.edu.tw/~u91029/index.html 粉色系 https://www.geeksforgeeks.org/ https://www.byvoid.com/blog/tag/%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8 http://blog.watashi.ws/ ...
2018-03-21 21:39:36 2015 2
原创 OpenCV学习29--计算物体的凸包
物体的凸包(Convex hull)用于理解物体的形状或轮廓。很多复杂物体的特性都能很好的被这种缺陷表现出来。 一组平面上的点,求一个包含所有点的最小的凸多边形,这就是凸包问题了。这可以形象地想成这样:在地上放置一些不可移动的木桩,用一根绳子把他们尽量紧地圈起来,这就是凸包了。 凸包有什么应用? 凸包在很多地方有着重要的应用,如手势识别,需要识别出手的轮廓的凸包,二维或者三维区域的边界的信息...
2018-03-21 17:39:08 2628
原创 OpenCV学习28--在图像中寻找轮廓
查找轮廓什么是轮廓:一个轮廓是由图像中的一系列点组成的,也就是图像中的一条曲线。在OpenCV中一般用序列来存储轮廓信息。序列中的每个元素是曲线中每个点的位置。 关于序列:序列是内存存储器中可以存储的一种对象,序列是某种结构的链表。下面是序列结构体:typedef sturct CvSeq{int flags; int header_size;CvSeq *...
2018-03-21 15:23:12 5064
原创 OpenCV学习27--反向投影
什么是反射投影 反射投影是记录给定图像中像素点如何适应直方图模型像素分布的方式(估计你看了这句话还是不懂)。 英文的解释是这样的:a way of recording how well the pixels of a given image fit the distribution of pixels in a histogram model.(还是不懂?) 简单地讲就是就是先计算某一特征的...
2018-03-21 10:59:18 2008
原创 OpenCV学习26--仿射变换
什么是仿射变换: 一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移).仿射变换可以实现什么功能:旋转平移缩放操作怎样得到一个仿射变换: 放射变换代表的是两幅图之间的关系。 通过原图和目标图像三个点之间的对应关系,可以求出一个2 X 3的矩阵。 我们通常使用2 x 3矩阵来表示仿射变换。怎样去旋转一个图像: - 确定旋转图像的...
2018-03-21 08:32:11 1781
原创 OpenCV学习25--Harris角点检测
在图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints)、特征点(feature points) 被大量用于解决物体识别,图像识别、图像匹配、视觉跟踪、三维重建等一系列的问题。我们不再观察整幅图,而是选择某些特殊的点,然后对他们进行局部有的放矢的分析。如果能检测到足够多的这种点,同时他们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就有使用...
2018-03-20 23:59:41 1771
原创 OpenCV学习24--漫水填充算法
漫水填充法是一种用特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。漫水填充经常被用来标记或分离图像的一部分以便对其进行进一步处理或分析,也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或只处理掩码指定的像素点,操作的结果总是某个连续的区域。 所谓漫水填充,简单来说,就是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,这是个非常有用的功能...
2018-03-20 23:25:57 1917
原创 OpenCV学习23--模板匹配
模板匹配是在一幅图像中寻找一个特定目标的方法。这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标。程序中会用到 OpenCV 的函数包括:void matchTemplate( InputArray image, InputArray templ, Outp...
2018-03-20 21:33:14 2020
原创 OpenCV学习资源
OpenCV自带的tutorials(英文) https://docs.opencv.org/2.4/doc/tutorials/tutorials.htmlOpenCV自带的tutorials(中文) http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html爱丁堡大学人工智能实验室 http...
2018-03-20 19:11:05 1797
原创 图像处理需要掌握的基本知识架构
图像像素操作几何运算-加减乘除逻辑运算-与或非取反像素读写通道混合与调整对比度与亮度调整图像变换插值(zoom in或out)旋转(rotate)透视变换错切变换翻转像素统计计算均值与方差计算直方图计算最大最小计算像素内方差色彩空间RGBHSLYUVYCrCb色彩空间转换灰度转换调整饱和度与亮度主色彩提取与分析...
2018-03-20 18:34:45 10253
原创 数学与深度学习
深度学习与人工智能领域主要的门槛有编程能力,需要有很好的逻辑思维和编程经验;还需要有扎实的数学基础,能够看懂相关的理论;同时计算机基础知识也需要掌握;最后还要了解相关学科的知识,比如计算机视觉领域的图像处理知识等。 下面主要介绍数学方面的掌握内容: 线性代数。想要学习深度学习, 你第一个需要理解透彻的学问是线性代数。 为什么? 因为深度学习的根本思想就是把任何事物转化成高维...
2018-03-20 16:29:37 3706
原创 OpenCV自带例程介绍
参考:http://www.swarthmore.edu/NatSci/mzucker1/opencv-2.4.10-docs/index.html 自带API介绍:例程总结: feature2d module
2018-03-20 15:56:10 4295
原创 计算机视觉主要研究问题概要
应用领域:视频监控、人脸识别、机器视觉、医学图像分析、自动驾驶、机器人、AR、VR。 主要技术:图像分类,目标检测(识别)、分割、目标追踪、边缘检测、姿势评估、深度学习、超分辨率重建、序列学习、特征检测与匹配、视频标定、图片生成(文本生成图片)、视觉关注性和显著性、人脸识别、3D重建、图像压缩。1.分类: 主要解决问题:我(图片)是谁? 主要用的是CNN。2.目标检测: 主要解决问题...
2018-03-20 13:59:34 7449
原创 OpenCV学习22--直方图比较
对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后通过计算H1与H2之间的距离得到两个直方图的相似程度进而进行比较图像本身的相似度。OpenCV提供的比较方法有四种: 直方图比较方法 Correlation相关性比较 Chi-Squra卡方比较 Intersection十字交叉性 Bhattacharyya distance巴氏距离直方图比较方法–相关性计算(CV...
2018-03-20 10:40:00 1918
原创 OpenCV学习21--图像直方图
灰度直方图,RGB直方图,梯度直方图 对于数据在一定范围之内,可以统计频率的都可以做直方图。 图像直方图。是指对整个图像在灰度范围内的像素值(0-255)统计出现频率次数,据此生成的直方图成为图像直方图,直方图反映了图像灰度的分布情况,是图像的统计学特征。直方图均衡化是一种提高图像对比度的方法,拉伸图像灰度值范围。 如何实现均衡化呢?通过重映射可以将图像灰度分布从一个分布映射到另...
2018-03-19 21:28:25 1753
原创 OpenCV学习20--像素重映射
cv::remap Remap( src, dst, InputArray map1, //x映射表 InputArray map2, //y映射表 int interpolation, //选择的插值方法,常见线性插值,可选择立方等 int borderMode, //BORDER_CONSTANT const Scalar borderValue //color )...
2018-03-19 20:59:40 1861
原创 OpenCV学习19--霍夫变换检测圆
原理: 霍夫变换圆检测原理和直线相似,直线检测需要两个参数(theta,r)。圆形需要圆心做坐标两个参数和半径。 对左边做霍夫圆变换可以发现圆形的位置变成了一个两点,说明 HoughCircles( image, outputArray circles, 发现圆信息 int method, 方法-HOUGH_GRADIENT dou...
2018-03-19 17:08:24 3220
原创 OpenCV学习18--霍夫变换检测直线
霍夫变换直线检测 前提条件:边缘检测已经完成(单通道8位灰度图像,经过二值化变为黑白图像) 平面空间转到极坐标空间 通过上式子可以把像素点转化成极坐标,如下图所示。 上面的曲线相交与一点,说明了什么信息呢?说明这些像素都在一条直线。 比如一个图像有200个像素,通过坐标变换。那么就可以得到200条曲线。相交点的对应横坐标角度就是直线在空间坐标的角度。这就是霍夫变换的原理。 霍...
2018-03-19 10:11:08 1909
原创 OpenCV学习17--Canny算子
算法介绍: Canny是一种边缘检测算法 1.高斯模糊–GaussianBlur 2.灰度转换–cvtColor 3.计算梯度–sobel 4.非最大信号抑制 对非边缘的像素进行移植,在切向和法向 去掉, 5.高低阈值输出二值图像,进行边缘连接,如果大于最高阈值的像素要保留,低于最低的要舍去,中间的作为连接图像。非多大信号抑制: 在x方向和y方向做完梯度变换 角度是...
2018-03-19 09:59:21 2010
原创 OpenCV学习16--Laplance算子
理论: 在二阶微分的时候,最大变化处的值为零即边缘是零值,通过二阶导数计算,依据理论我们可以计算出图像二阶导数,提取边缘。 处理流程: 高斯模糊-去噪声GaussianBlur() 转化为灰度图像cvtColor() 拉普拉斯-二阶导数计算Laplacian() 提取绝对值convertScaleAbs() 显示结果代码:#include <opencv2/op...
2018-03-19 00:00:43 1871
原创 OpenCV学习15--处理边缘
卷积边缘问题 在做卷积处理时,图像边缘的像素不会被卷积操作。 原因在于边界像素没有完全跟卷积和重合,所以3x3像素会有1个像素的边缘没有被处理。 边缘处理方法: 在卷积开始之前增加边缘像素,填充的像素为0或者RGB黑色。这样就确保边缘被处理。OpenCV默认的是BORDER_DEFAULT,其他还有: BORDER_CONSTANT - 填充边缘用指定像素 BORDER_REPLI...
2018-03-18 23:17:57 3652
原创 OpenCV学习14--自定义线性滤波
卷积 模糊图像,图像边缘,增强图像常见卷积算子: Robert、sobel、拉普拉斯算子代码:#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;int main(int argc,char ** argv){ ...
2018-03-18 22:32:03 1937 1
原创 OpenCV学习13--基本阈值操作
阈值(threshold)简单地说就是把图像分割的一个标尺。阈值类型 1.阈值二值化(threshold binary) 大于阈值取最大值,小于阈值取最小值。 2.阈值反二值化(threshold binary Interval) 3.截断(truncate) 超过阈值和阈值相等,否则为0. 4.阈值取零(threshold to zero) 小于阈值取0,大于的...
2018-03-18 20:17:47 1816
A Survey of Simultaneous Localization and Mapping(2).pdf
2019-10-28
Visual-lidar+odometry+and+mapping_+low-drift,+robust,+and+fast.pdf
2019-10-22
2019_ral_mapreuse__final_.pdf
2019-10-21
基于移动平台的激光雷达点云投影到相机图像上的不确定性估计
2019-10-20
ICRA2019中文翻译.docx
2019-10-18
基于SE(2)-XYZ约束的地面车辆视觉里程计定位与地图构建--中文.pdf
2019-10-17
使用三维栅格地图的移动机器人路径规划_张彪.pdf
2019-10-17
ORBSLAM翻译.docx
2019-10-17
具有多重抓取和跨域图像匹配的杂波中的新物体的机器人拾取和放置
2018-08-22
Arduino Nano 电路原理图
2023-09-19
机器视觉光源打光技巧总结PPT,包含二十多个项目的打光实战案例介绍
2023-09-14
基于ROS的叉车定位导航+运动控制方案
2023-09-14
2023-美赛-z题准备和详细代码介绍
2023-09-14
蓝桥杯备赛:蓝桥杯备赛练习题与答案
2023-09-14
2023电赛运动目标控制与自动追踪系统
2023-09-14
基于Ruoyi框架的前后端分离MES源码(带详细部署教程)
2023-09-13
前后端分离的仓库物料管理系统(源代码+部署视频教程)
2023-09-13
开源mes系统:Java springboot + layui + mysql,看板和后端独立
2023-09-13
Rk3399核心板原理图与PCB图
2022-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人