项目实战——基于计算机视觉的物体位姿定位及机械臂矫正(四) 程序整合 接着(三)里面的任务一,我把程序整合了一下,凑活着拿着我的这两个垃圾相机还有我拿书上的图当标定板。先看程序再看效果吧。好了,闲话少叙,书归正传,附上代码: /******************************* * @Function get_depth_information * @Works 对两
项目实战——基于计算机视觉的物体位姿定位及机械臂矫正(三)拖了很久,一直没写,今天终于抽时间写了。orz… 立体校正、标定、对应原理就不多说了,网上有很多资料,可以参考《learning opencv3》的第19章:投影与三维视觉。或者参考下面的链接,这个讲的也不错: https://blog.csdn.net/laobai1015/article/details/55211036 程序+最详细注
注:本篇博文全部源码下载地址为:Git Repo。 1. 下载到本地后解压到当前文件夹然后运行:catkin_make 编译。 2. 源码是在 Ubuntu14.04 + Indigo 环境下编写。 一、MoveIt包的配置 经过上一篇文章(传送门)的介绍,我们成功的对双臂机器人 rob 进行了 ROS 系统建模,并在 Rviz 可视化工具中进行了验证。本篇博客主要介绍如何借助 ROS
项目实战——基于计算机视觉的物体位姿定位及机械臂矫正(二) 为什么进行相机标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。 当然,很多相机在出厂的时候就会把参数给你,但大多数情况下,这都是不准的,需要自己进行求解。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数(内
项目实战——基于计算机视觉的物体位姿定位及机械臂矫正(一) 思路: 经过这几天的资料查找,我逐步有了思路,现整理如下: 抓取物品定为牛奶盒,主要优势在于,质量轻、体积小、棱角分明,便于识别抓取; 工作环境设置在传送带上,人工随机将牛奶盒以不同方向随机放入; 在摄像机的使用上采用双目相机,而非单目相机; 开发环境,VS2015,C++,使用Opencv3(其实我更擅长Matlab,但是这个目前更加普
在之前的一年多里面,我基本上 都是在参加这个魔方机器人的比赛,第一次参加的时候这个比赛是第一届,在这里想总结一下这两次参赛得到的经验与知识。 1.算法部分 必备条件:二阶段算法,深度优先的搜索算法,Opencv,MFC,C#,Java两门语言的基础了解,COM口操作, 1.1:二阶段算法:二阶段算法和魔方机器人的电机一样,能够决定魔方还原的时间,差的程序可能求解一个魔方不能
在谈论步骤转换算法之前,我们不妨讨论一下现在一般的魔方面的表示方法: 在我们表示魔方面的时候,一般会先把魔方展开,这里我采用CubeExplore的展开方式,在这种展开方式当中,面的录入方式是按照下图来录入的;F表示白色,U表示蓝色,R表示红色,L表示橙色,D表示绿色,B表示白色;(应当注意这里的LR颜色与
文章目录 1、MOVO安装教程 MOVO开发硬件需求 软件安装 连接到MOVO平台 2、MOVO机器人的基本使用 3、制作倒水DEMO Kinova MOVO官网Kinova参数页 1、MOVO安装教程 翻译自movo-github-wiki MOVO开发硬件需求 官方只支持Ubuntu 14.04 Trusty, x64 platform (core i5, core i7), 8
1 前言 之前写了几篇关于UR机器人网络控制的文章:《UR机器人返回信息格式解析》、《UR机器人通信端口和协议》,有不少读者问关于编程实现方面的问题,因此,这里上传有关的代码,供同行参考。 2 包含内容 我这里是用VS2015编译环境,用C/C++语言实现的。实际上没有高深的技术,涉及到两个内容: Windows Sockets网络编程; UR机器人返回数据内容解析,包括数据字节的转换。 3
1 概述 UR机器人提供了多种端口,用于控制和读取机器人信息,本人整理了相关信息,见文章《UR机器人通信端口和协议》。 本人使用了30003端口来向机器人发送URScript脚本控制命令,并通过该端口接收实时返回数据。 2 UR返回信息协议解析 2.1 返回数据包频率和长度 由于30003端口返回的信息是最全的,包含了30001、30002端口的返回信息,因此,这里以30003端口信息解析。
1 概述 UR机器人作为目前使用广泛的协作机器人,其开放了基于TCP/IP的远程控制功能,提供了多个多类型的端口,用于工业总线控制,或者用户自行编程控制,以下记录整理此方面的信息。 2 UR机器人通信 2.1 UR通信协议 UR机器人可通过TCP/IP通信,向机器人发送控制命令,以及从机器人获取状态信息。 2.2 UR通信端口 UR机器人通信时提供了以下接口,我们可以根据自己需要,使用其中的一种
第一次编程操作UR10协作机器人的记录 1 引言 UR机器人参考:丹麦优傲机器人 中文网页 项目需要借来了一台UR10协作机器臂,用自带的触摸屏控制试验了一下,又从网上下载了一段基于C#的程序,大概读了一下,并用VS2015用C实现了对机械臂的控制,以下纪录。 注:这里只是工作记录,没深究内部原理和协议规定。 2 连接和端口 计算机与UR机器人的连接通过网络,通信采用了TCP/IP协议,
前言: 今年又去参加了余姚的第二届全国创意机器人大赛,当然还是主题二。今年限制了机器的体积及功率,所以没有出现去年那样的巨无霸。比赛我们队伍拿了一个全国一等奖一个全国二等奖,对于这个结果还是比较满意的。放一张去比赛的现场图片。我们还是用了去年的代码,只是添加了点东西,优化求解步数及时间。机械部分主要是由大一制作的,由于贫穷,所以做的大部分都是其他地方拆下来就使用,看起来有
上一篇博客为了实现延时特定时间(4ms)并在这段时间内产生PWM波形,方法是通过计算PWM的单次循环时间(PWM的周期),然后计算出循环次数,使用计数器计数,每次循环判断计数器的值是否等于循环次数。这种方法比较简单,对于不熟悉PRU 的我来说比较好用,对于只改变占空比不改变周期,延时时间不变的波形很容易实现,因为PWM的周期和延时是不变的,所以循环次数也不会改变,轮询检测就搞定了。 但是随着实
上位机的程序redwall_arm_server.cpp 功能是作为ROS的move_group客户端接收ROS规划的机械臂路点信息,进行三次样条插补获得各个关节或自由度的运动PVAT数据,然后通过TCP通信将处理好的数据发送给下位机的beaglebone轴控制器: /* ROS action server */ #include <ros/ros.h> #include &l
根据之前的配置,我们已经可以通过move_group发送出机械臂各关节运动的轨迹,并且通过三次样条插补的方法,赋予各个关节在特定角度时的速度和加速度,通过启动程序节点可以看到,本次运动规划使用了LBKPIECE算法,并且使用了4线程并行规划,规划时间为3.478750秒,一共规划了24个路径点。 [ INFO] [1572571719.182638906]
在之前的move_group界面中,当点击plan and execute之后,move_group就会帮我们规划出一条通往指定位姿的轨迹,发布在follow_joint_trajectory上,通过rostopic echo /redwall_arm/follow_joint_trajctory/goal,可以看到其中包含了positions: velocities: acceleration
# 开始控制真实世界的机械臂 ####### 我们的目的是使用moveit控制真实的机械臂,而我们真正需要的action是FollowJointTrajectoryAction,这个action是moveit留出来专门控制真实机器人的 。启动刚开始生成的moveit!配置文件中的demo.launch文件后,就能看见FollowJointTrajectoryAction,
OMPL能做什么? 简单说,就是提供一个运动轨迹。给定一个机器人结构(假设有N个关节),给定一个目标(比如终端移到xyz),给定一个环境,那么OMPL会提供给你一个 轨迹,也就是一个完整的关节位置。沿着这个轨迹依次移动关节,就可以最终把终端移到xyz,当然,这个轨迹应当不与环 境中的任何障碍发生碰撞。 为什么用OMPL? 运动规划的软件库和算法有很多,而OMPL由于其模块化的设计和稳
首先说明一下,这里我们的摄像头和tag只是利用了他们的相对位姿,并没有按照实际模型那样布置摄像头和tag,但这并不影响我们观察整个系统的运行效果,布置如下: 由于之前myrobot已经是一个很完整的包,本身有gazebo模型,所以我们运行以下指令 roslaunch apriltags2_ros continuous_de
智能机器人创意大赛参赛者的珍贵经验集合
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信