赞
踩
本系列文章为原创,转载请注明出处。
作者: Dongdong Bai
邮箱: baidongdong@nudt.edu
若您觉得本博文对您有帮助,请您为我点赞并关注我,以鼓励我写出更优秀的博文。谢谢!
2017年的ROS暑期学校华东师范大学研究生院和智能控制实验室主办,至今已经成功举办了两届。本次暑期学校在7月22号-7月29号在魔都上海举办(会议日程链接)。本次暑期学校吸引了来自高校、科研院所和产业界的众多知名人士,这让我感受到了机器人以后的发展潜力,强化了我继续在这个方面耕耘的决心和信心。
本次暑期学校主要包括报告和挑战赛两个部分。其中报告主要是两个方面的内容,第一是关于ROS在学术界和产业界的一些引用。第二是关于自主导航在学术界和产业界的实现的区别和联系等相关内容。通过报告不仅拓展了我的视野,提高了自己的学术和工程能力,还见到了我崇拜已久的几位大神,比如古月,张瑞雷,田博等。最最让我激动的是我还有幸跟古月和本次大会的主办人张新宇教授合影。下面我会在适当的地方秀出来,大家不要羡慕喔~
除此之外我还在本次会议认识了一些志同道合的朋友,林志豪,冯家文,并与我们学校的周星同学和耿铭阳师弟组了一个名叫”闪闪星”的战队,虽然最后没有取得满意的成绩,但是几天的奋斗历程也使我哟哟颇多收获,我很幸运能有这段与大家共同奋斗的时光,同时也要感谢我的同学也是我们的队长周星,是他拉我们组队,让我们能够拥有这段难忘的时光。
先秀一下自己的照片~
人工智能分为:强人工智能和弱人工智能两种,有自己意识的人工智能是强人工智能,而没有意识的是弱人工智能。人们现在研究的都是弱人工智能。因而不必担心机器人会伤害人类。
caffe、tensorflow图形界面工具digits。
使用教程:
*使用教程1
*使用教程2
*使用教程3
*使用教程4
*使用教程5
机器人底盘支持ROS是指:
ROS是基于BSD协议的,BSD是最有利于商业化的协议,现阶段不建议将ROS整体直接用于商业产品,主要由ROS的通信安全性等问题的考虑。
###1.意外惊喜:
ROS学习系列视频:ROS小课堂
ROS学习公众号:ROS小课堂
每个topic都对应一个消息队列,它不依赖于Ros的节点,也就是说如果有多个节点同时向一个topic发送消息,那么他们都是发送到同一个消息队列里的。
对于订阅某个消息的多个节点而言,他们每个节点都维护了一个消息队列,他们都从订阅的消息队列中获取消息,并拷贝到自己的消息队列中。
消息队列由于是队列,因而采用的先进先出的策略,且消息队列的大小是固定的
一个很好的在线实验平台:实验楼,它提供了包括ROS在内的很多在线实验,网址是:www.shiyanlou.com
路径规划:如果将移动机器人看成质点,对其路径进行规划那么就是路径规划。
轨迹规划:各种机器人及其各个部件轨迹的规划,轨迹规划实际上包括路径规划,但是一般通常情况下特指对于一个工业机器人的机械臂完成某个任务时(比如:抓取某个物体)时机械臂的规划。
自主导航:机器人自主定位导航技术中包括定位、地图创建与路径规划(运动控制),而SLAM本身只是完成机器人的定位和地图构建两件事情,两者并不是完全等价的。
路径规划包括全局路径规划和局部路径规划两种:全局路径规划就是根据给定的目标位置进行总体路径的规划。局部路径规划就是根据附近障碍物进行躲避路线的规划。
一般先会通过全局路径规划,规划出一条从机器人当前位置到目标位置的全局路线(作为机器人具体路径参考),局部路径规划根据机器人当时面临的情况来给出具体路径
ROS中的TF包:主要用来做坐标变换等,目前有TF1和TF2,TF2功能较多,建议用TF2
机器人系统一般都包含很多坐标系,如世界坐标系,机体坐标系,机械手坐标系,头坐标系等。tf是一个让使用者可以跟踪所有这些坐标系,它采用树型数据结构,根据时间缓冲并维护各个参考系的坐标变换关系,可以在任意时间完成2个参考系的坐标变换。
常用操作:
可以使用$ rosrun tf2_tools view_frames.py调用TF2的view_frames,它是一个图形调试工具,可以创建当前tf2变换的PDF图形。详见该ppt
ROS中的Navigation元包:用来实现机器人自主导航的包,它包括TF包,是用来实现机器人自主导航的元包,包括很多与导航相关的包和算法,比如A*和Dijkstra等,具体的局部路径规划器和全局路径规划器的介绍参见ppt。
先秀一下与古月大神的合影~
1.1 rviz的使用
rviz是一款三维可视化平台,可以通过添加插件
来实现想要的可视化功能,可以很好的兼容ROS平台,在rviz界面可以通过图形界面的add
按钮来添加要显示的内容。比如:
Odemetry:显示机器人的运动的轨迹
在rviz中可以通过编写插件来实现想要可视化的功能,使用qt语言实现,ROS中的图像界面大部分都是用qt语言实现的
1.2 gazebo的使用
ROS中的仿真器有gazebo,stage,matlab,arbotix等,但是只有gazebo支持物理仿真。
目前gazebo有很多版本,目前最新版本是8.0,indigo支持的是2.2版本,但是最新版本除了图标外变化不大。
ROS不支持时间同步,多台机器人之间的同步得先使用linux的工具进行同步。
1.3 gazebo中模型的定义
Gazebo - 使用SDF(Simulation Description Format)仿真描述格式定义仿真环境和模型。
ROS - 使用URDF(Universal Robotic Description Format)通用机器人描述格式来定义机器人模型,且此格式定义的文件不能直接用于Gazebo,使用中需加以转换,添加用于描述仿真定义的标签。
URDF转SDF:
1.在每一个<link>内添加<inertia>标签(指出机器人的惯性属性)。
2.向URDF文件中的joint添加<transmission>标签(指出机器人哪些关节可以驱动)
3.向URDF文件中添加ros_control插件,并添加相应插件的controller配置文件
1.在每一个<link>内添加<gazebo>标签。将外观颜色转换成Gazebo格式;将stl文件转换成dae文件,获得更好的渲染效果;添加传感器插件。
2.在每一个<joint>内添加<gazebo>标签。设置适当的阻尼动力系数;添加执行器控制插件
3.在<robot>标签内添加<gazebo>
详细说明和代码见ppt
Roboware是基于最新版本的vscode进行二次开发,每个月月底会发布一个新版本,提供了很多方便ROS本地和远程开发的东西,具体教程在官网上可以下载。报告的文件夹中也有。
1.1 SLAM大致可以分为激光SLAM
和视觉SLAM
两类,但其主要思路大同小异。
激光SLAM分为:2D和3D激光SLAM两种
视觉SLAM也分为:Sparse、semiDense、Dense三种
1.2 视觉SLAM目前由两个分支:分别是基于滤波器的视觉SLAM和基于(关键帧)图优化方法的视觉SLAM,目前基于图优化的方法占主导地位:
1.3 相机的畸变模型:
model3:适用于鱼眼相机的校正
1.4 去除视觉里程计中图像之间的误匹配的点的方法:RANSAC和M-estimator
* RANSAC:可以在80%outlier情况下取得很好的效果,适合outlier较多和较少的情况,但是计算量较大。
* M-etimator:适合与outlier不多的情况,计算量较小。
1.5 key frame的选择方法:
* 距离上一关键帧有足够的距离
* 当前图像的清晰度高
* 当前帧与上一关键帧有一定数量的特征点重合
1.6 常用Bundle Adjustment(光束平差法)库
ORB—SLAM中的Bundle Adjustment中的库是g2o,但是sba,mcba的性能比g2o好。
sba: A Generic Sparse Bundle Adjustment C/C++
mcba: Multi-Core Bundle Adjustment (CPU/GPU). GPL3.
g2o: General Graph Optimization (C++) - framework with solvers for sparse graph-based non-linear error functions. LGPL.
Apero/MicMac, a free open source photogrammetric
software. Cecill-B licence.
Package Based on the Levenberg–Marquardt Algorithm (C, MATLAB). GPL.
cvsba: An OpenCV wrapper for sba library (C++). GPL.
ssba: Simple Sparse Bundle Adjustment package based on the Levenberg–Marquardt Algorithm (C++). LGPL.
opencv: Computer Vision library in the contrib module. BSD license.
libdogleg: General-purpose sparse non-linear least squares solver, based on Powell’s dogleg method. LGPL.
ceres-solver: A Nonlinear Least Squares Minimizer. BSD license.
DGAP: The program DGAP implement the photogrammetric method of bundle adjustment invented by Helmut Schmid and Duane Brown. GPL.
1.7 CoSLAM: Collaborative visual slam in dynamic environments(多机器人slam)
具体介绍和源码见ppt
1.1 ROS中的多机协同框架:
rocon_multimaster:基于多master通信机制
multimaster_fkie:基于发现机制,效果比上一个好
好了暑期学校的笔记主要就是这些。下面是这次暑期学校的合影!
最后要感谢张新宇教授的无私奉献,因为他才有了我们的暑期学校(晒一下我和张教授的合影,中间的那位是张教授,左边的是我的同学周星)。同时还要感谢我的导师杨学军院士,易晓东研究员和张博博士给予我参加本次暑期学校行程经费上的支持。
下面是ROS暑期学校的ppt和我在师门汇报会的ppt,需要的请自取,谢谢!链接为:https://www.jianguoyun.com/p/DUciIQcQs6aWBhiph2c
本系列文章为原创,转载请注明出处。
作者: Dongdong Bai
邮箱: baidongdong@nudt.edu
若您觉得本博文对您有帮助,请您为我点赞并关注我,以鼓励我写出更优秀的博文。谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。