
机器人
文章平均质量分 73
爱学习的草莓熊
收集点点滴滴的知识,提升自己,帮助他人
展开
-
DH建模的知识要点
D-H)建模方法是由Denavit和Hartenberg 提出的一种建模方法,主要用在机器人运动学上,这种方法在每个每个连杆上建立一个坐标系,通过齐次坐标变换来实现两个连杆上坐标的变换,在多连杆串联的系统中,多次使用齐次坐标变换,就可以建立首末坐标系的关系。学习DH建模的主要知识点如下:1、会齐次坐标变换(这是机器人运动学的基础知识)2、知道DH建模中α,a,d,θ这四个量对应于连杆上的那原创 2016-10-06 12:11:32 · 6236 阅读 · 0 评论 -
AR Tag介绍
什么是AR Tag?ARTag(AR标签,AR是“增强现实”的意思)是一种基准标记系统,可以理解为其他物体一种参照物,看起来类似二维码,但其编码系统和二维码还是有很大区别,多用在相机标定,机器人定位,增强现实(AR)等应用场合,其主要作用是能够反映出相机与标签的位姿关系。进而可以反映出场景中物体与相机的参照关系。AR Tag是什么样子?一个普通的ARTag形如下图,图案代表的是一个...原创 2018-06-09 10:26:48 · 10359 阅读 · 1 评论 -
使用moveit控制gazebo仿真环境下的ur机械臂运动
如果没有真实机械臂,那么,使用仿真机械臂是一个很好的解决办法,UR系列机械臂应广泛,要想实现一次快捷的机械臂仿真,从UR5着手相对来说较为容易。测试系统环境:ubuntu16.04 ROS版本:kinetic gazebo版本:8.6.0准备工作: 下载ur机械臂的ros开发包并编译 https://github.com/ros-industrial/universal_robot...原创 2018-08-15 16:53:31 · 14459 阅读 · 25 评论 -
使用moveit控制gazebo仿真环境下的Aubo-i5机械臂运动
在上一篇文章《使用moveit控制gazebo仿真环境下的ur机械臂运动》中,模拟了一次简单的机械臂仿真运动,这一次,我们更进一步,实现一次其他型号的机械臂仿真运动,比如aubo-i5,这是一款国产机械臂,已经有不少人在使用了。 测试系统环境:ubuntu16.04 ROS版本:kinetic gazebo版本:8.6.0 目标:实现aubo-i5机械臂在gazebo下的仿真运动 实...原创 2018-08-15 19:08:04 · 8356 阅读 · 5 评论 -
Gazebo环境下使用turtlebot建立环境octomap地图
octomap是一种空间概率地图,可以使用方格来表示周围的环境,就像“我的世界”游戏里表示的那样,优点是地图计算速度快,内存占用少,可以调整地图的分辨率等等,与平面二维地图相比,octomap所记录的环境信息是三维的,是实现vSlam的一种方式,这里展示一个小小的示例例程:在gazebo仿真环境下,使用turtlebot仿真机器人,通过机器人身上的kinect传感器采集点云数据,建立octomap...原创 2018-08-19 13:24:20 · 5493 阅读 · 3 评论 -
moveit的3D Perception功能(环境感知)
ROS的moveit中,可以使用深度相机感知环境数据,生成一种被称为octomap的方格地图,感知后的环境可以作为环境障碍物,机械臂规划路径时会主动避开有octomap地图的地方。其中用到了moveit的组件 Occupancy Map Updater,Occupancy Map Updater 接受两种数据1、pointcloud2点云2、深度图 sensor_msgs/Image下面以一...原创 2018-10-01 17:07:56 · 6307 阅读 · 15 评论 -
Ros环境下配置启动Robotiq 2f-140 电爪
Robotiq电动夹持器是一款常见的机械臂加持设备,有两指、三指等多种型号,我所接触的是RobotIQ 2f-140型号,下面介绍该电动手抓在ROS下的驱动包配置及使用方法。操作系统:Ubuntu16.04ROS版本:Kinetic电爪型号:RobotIQ 2f-140电爪接口:ModBus RTU转usb接口1、下载robotiq功能包建立一个空的catkin空间robotiq_ws...原创 2018-09-26 20:00:27 · 4697 阅读 · 11 评论 -
解决ORK(Object Recognition Kitchen)的Web UI 无法显示3D模型的问题
ORK(Object Recognition Kitchen)是一个方便易用的一个物体识别库,里面包含了多种识别算法,包括linemod、tod等识别方法,官网的教程很全面,从安装到操作都讲的很详细,但是,照着教程走下来,有一个环节始终困扰这我,那就是ORK提供的Web UI管理界面始终无法显示物体3D模型,这个功能其实并不影响最终linemod等算法的使用,但由于无法显示模型及模型列表,总让人感...原创 2018-10-09 19:10:42 · 1772 阅读 · 7 评论 -
学习ROS,你所需要的基础知识
如果告诉你,学习ROS可以零基础入门,那也有点忽悠人了。九层之台,起于垒土。学习ROS还是需要一点基本功的。这些基本功是你搞各种机器人程序开发的基础,如果没有,早晚要补上,逃不了的。那么,最起码要具备哪些能力呢?1、C++/Python编程能力我起步用的是C++,鉴于Python现在这么火,你完全可以起步用Python。学习ROS免不了编程,总得会敲代码吧,不需要多么复杂的编程技巧,只要你用...原创 2019-01-07 12:52:17 · 8028 阅读 · 6 评论 -
ROS入坑指南
ROS是 Robot Operating System的简称,被称作机器人操作系统,是当前机器人技术领域使用度最广的开发系统。如果你能看到这篇文章,说明你已经进入了机器人技术领域,可能正在探索机器人某项功能的开发,可能正在完成着相关学科任务,那么,ROS对于你来说,将是学习机器人技术的一条必由之路,它提供了一种系统、规范、通用的机器人技术开发方式,如果不借助ROS技术,进入机器人技术领域的门槛可能...原创 2019-01-07 13:01:32 · 1396 阅读 · 0 评论 -
使用moveit!控制真实机械臂(5)——编写真实机械臂节点中的action服务程序
上一篇文章中,我们简要介绍了ROS中action的基本知识,为了控制真实机械臂,我们已经修改了moveit配置文件,使得moveti启动后具备一个control_msgs::FollowJointTrajectoryAction类型的action客户端,接下来,我们完成该类型action的另一半,编写C++程序来实现action的服务端。由于底层机器人控制程序一般差别都很大,这里展示的只是编程要点...原创 2018-05-19 23:42:12 · 18516 阅读 · 51 评论 -
使用moveit!控制真实机械臂(3)——修改moveit配置文件来控制真实机械臂(9月27日更新)
要想使用moveit来控制真实机械臂,我们需要修改配置文件夹下的几个文件,因为默认生成的moveit配置文件中,所使用的部分参数是针对虚拟机械臂的,你可以在rviz环境下观察模型额运动,但真正的控制信号并不会发出来。具体要修改以下几个地方:1、demo.launch文件中参数fake_execution的值改为false<!--此段代码来自moveit配置文件demo.launc...原创 2018-05-13 16:08:17 · 15613 阅读 · 37 评论 -
DH建模的具体步骤
(本文数据来自https://wenku.baidu.com/view/03d586024afe04a1b171de8d.html)D-H)建模方法是由Denavit和Hartenberg 提出的一种建模方法,主要用在机器人运动学上,这种方法在每个连杆上建立一个坐标系,通过齐次坐标变换来实现两个连杆上坐标的变换,在多连杆串联的系统中,多次使用齐次坐标变换,就可以建立首末坐标系的关系。学习DH建模的主原创 2017-11-17 15:28:18 · 70794 阅读 · 93 评论 -
在gazebo中运行turtlebot机器人模拟gmapping的slam过程
近期在ROS环境下进行机器人仿真时用到了gazebo这个仿真软件,有了该软件,可以在没有实体机器人的情况下做一些算法模拟,直观的观察到机器人的运动情况,这对刚开始学习ROS和机器人程序开发的人来讲有很大帮助,本文参照一些网上教程在来仿真实现gmapping的slam过程,并总结了一些遇到的问题。仿真环境操作系统:ubuntu 16.04 ROS版本:kinetic Gazebo版本...原创 2018-03-09 22:34:12 · 22643 阅读 · 16 评论 -
使用move_base进行路径规划
本文所实现的效果来自《ROS入门实例》,对初学者会有一定帮助。move_base是ROS环境下一个重要的功能包,可以使机器人在指定框架内移动到目标位置,是实现后续导航功能的基础,很多人想学习gmapping在ROS下的使用,那么,可以先看看move_base这个包的使用方法,此处使用模拟机器人turtlebot在仿真环境下测试move_base包的功能,不需要实体机器人。1、确保catki...原创 2018-03-10 15:13:07 · 12807 阅读 · 1 评论 -
ROS环境下launch文件格式说明
XML语法提要roslaunch文件的本质是xml文件,首先要简单了解一些xml相关语法: 1、标签必须闭合<launch> </launch> //成对的标签闭合,中间可以写内容<node XXXX /> //当没有中间内容需要写时,也可使用自闭合标签,此时仍然可以为标签添加属性,XXXX内容就代表属...原创 2018-03-22 22:38:48 · 9914 阅读 · 0 评论 -
move_base为何竟然控制小车走出一个莫名其妙的矩形
问题现象:想使用move_base控制小车到达目标地点,小车非但没有去目标点,反而开始自己走矩形了!难道是小车要智能觉醒? 现象解释:查阅了官网资料,觉得这一段可以解释小车的现象,截图来自ROS-wiki:move_base页面。 也就是说,在move_base参数配置不正确的情况下,程序会认为周边存在障碍物而使得目标到不了,车会采取一些“手段”清除障碍物,首先,地图中设定的障碍物会被...原创 2018-03-24 11:26:08 · 1515 阅读 · 3 评论 -
使用move_base规划路径后,小车接近目的地后原地打转的原因分析
在实验过程中,计划使用move_base规划路径,让AGV小车到达指定的目标点,但小车“到达”目的地后不停的旋转,停不下来。对此,发现了导致这一现象的一个原因,仅供参考。 上图描述的就是这种现象,为了便于观察,rviz视图中隐藏了机器人,只保留了机器人的基座标。图中,第一次指定目标时,小车到达了指定地点并停了下来,第二次指定目标时,小车也几乎到达了指定地点但没有停下来,而是不停的在原地旋...原创 2018-04-05 22:50:01 · 10720 阅读 · 2 评论 -
pdist_scale和gdist_scale参数对move_base路径规划的影响
影响move_base路径规划的参数众多,这次单独来看看两个比较重要的参数:pdist_scale和gdist_scale基本含义(来自《ROS入门实例》): pdist_scale: 全局路径规划和到达目的位置之间的权重。这个参数比gdist_scale大时,机器人更倾向于考虑全局路径规划。 gdist_scale: 到达目的位置和全局路径规划之间的权重。这个参数比pdist_scale...原创 2018-04-06 09:30:48 · 2415 阅读 · 0 评论 -
使用moveit!控制真实机械臂(4)——了解moveit!所使用的action
action知识要点回顾:action是ROS下节点间数据通信的一种方式,这种方式本质也是基于ros消息的,之前你应该频繁的使用或ros的消息,应该能够基本掌握订阅、发布消息,此时,能够用到action表明你已经进入到ros编程的一个新阶段。action的基础内容可以先看一下ros 官网和古月的博客,可以这样简单理解:action打包了同一行为下的多个消息,使用action可以将你从繁琐的消息订阅与原创 2018-05-09 22:45:07 · 16187 阅读 · 33 评论 -
使用moveit!控制真实机械臂(0)——思路
moveit!可以实现对机械臂的轨迹控制,这里的机械臂既可以是真实的,也可以是虚拟的,在此,我们想使用moveit!规划的轨迹来控制一个真实的机械臂,真实的机械臂千差万别,这里不涉及到真实机械臂的控制驱动,只讲一讲控制思路,每一条思路今后会再写文章逐步细化。基本思路:1、首先要有一个与真实机械臂相一致的机器人模型文件。这里的一致指的是机械臂连杆参数一致,模型的细微差别不受影响。这一步也不是...原创 2018-05-09 23:02:47 · 13201 阅读 · 10 评论 -
ROS下使用mux实现多路消息切换
1、初识ROS下的mux节点MUX是单词multiplexer的简写,是数据选择器的意思。ROS下的mux节点也是这个功能,主要是实现多路消息的切换,可以比喻为消息开关。该节点属于topic_tools功能包,ROS下还有名称于此相似的 twist_mux和 cmd_vel_mux节点,他们针对特定的消息类型丰富了部分功能,但核心都是实现多路消息切换,而mux节点是针对ros下任意消息类型的(...原创 2018-05-12 10:46:42 · 2901 阅读 · 3 评论 -
ROS的几个基本概念,你真的懂了吗?
入门ROS,第一步应该先看一遍ROS官网的 Getting Started页面,但后来发现,入门已久的我还得常来看这个页面。这也不能怪草莓熊笨,因为越是基础的东西对上层知识点影响就越大,历久弥新,每每看到这些知识点,总能找到一些之前的盲点。那么,无论你是否看过ROS的Getting Started页面,下面的这些基本知识点都值得你阅读一遍。我们一起来梳理一下ROS的基本概念。ROS的主要概念...原创 2019-01-09 10:20:50 · 8164 阅读 · 6 评论