主讲人:倪培远

讲座来源:上海交通大学机器视觉课程

内容有删改,整理

人不可以渣,但节点可以。这就是server通信。

——浩艺

1 OpenCV简介

1.1 OpenCV-core各模块内容:

名称 内容 名称 内容
Img Proc 图像处理 Highgui 显示输出
Video 视频处理 Calib3d 相机标定
Features2d 特征点检测 Objdetect 物体检测
Ml 机器学习 Flann 最近邻搜索
GPU GPU加速 Photo 降噪,修复
Stitching 图像拼接 Ocl OpenCL

1.2 OpenCV 4.0相比于前一代的变化:

增加深度学习模块(MaskRCNN,YOLO v2)

新加入算法(QR码检测QR Code,棋盘格检测Cheeseboard detector,等)

2 ROS简介

2.1 ROS相比于其它OS之区别

其它OS:操作显卡、声卡、风扇……等硬件,执行QQ、微信、P站……等程序;

ROS:操作里程计、RGBD相机、lidar……等硬件,执行SLAM、规划、视觉等程序。

2.2 ROS通信

常用通信方式有3种:topic、server、action

其中最常用的是topic,节点发布话题、接收话题。

但是,topic通信中的节点比较“专情”,接收话题的节点在接收话题后会被阻塞,此时难以再接收其它话题。

为了解决这个问题,我们希望节点能“渣”一点,最好是接收了消息之后不被阻塞,还能继续接收。

人不可以渣,但节点可以。这就是server通信。

actionserver类似,一般用于实时性要求高的场景,比如在机器人执行动作全程都要求有反馈。

2.3 ROS整合的开源模块

OpenCV,PCL,Gazebo动力学仿真,Player运动控制,OpenRAVE运动规划,Orocos实时控制。

2.4 ROS2的特点

相比于ROS1,ROS2取消了ROS master,采用DDS通信,支持windows、MAC、RTOS、甚至单片机片上系统。

2.5 ROS-I(ROS-Industtrial)

机器人理论框架 ROS模块
运动学正解 URDF + TF
逆解(数值解) KDL、TRAC_IK
逆解(解析解) IKFast
碰撞检测 FCL
规划 MoveIt

《OpenCV与ROS入门》讲座笔记相关推荐

  1. ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)

    ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...

  2. ROS入门学习笔记|话题发布与订阅

    文章目录 一.工作空间 1.创建一个名称为sor_ws的工作空间 2.编译工作空间 3.创建功能包 二.自定义话题消息 1.定义msg文件 2.配置package.xml和CMakeLists.txt ...

  3. ROS入门笔记(七):详解ROS文件系统

    ROS入门笔记(七):详解ROS文件系统 文章目录 01 Catkin编译系统 1.1 Catkin特点 1.2 Catkin工作原理 1.3 使用`catkin_make`进行编译 02 Catki ...

  4. ROS入门笔记(十三):分布式通信

    ROS入门笔记(十三):分布式通信 文章目录 01 如何实现分布式多机通信 1.1 设置IP地址,确保底层链路的连通 1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master ...

  5. ROS入门笔记(十二):动作编程 (C++)

    ROS入门笔记(十二):动作编程 (C++) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建action(动作) 3.1 自定义action 3.2 在package.xml中添加功能 ...

  6. ROS入门笔记(十一):编写与测试简单的Service和Client (Python)

    ROS入门笔记(十一):编写与测试简单的Service和Client (Python) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建自定义服务类型 3.1 定义srv文件 3.2 在 ...

  7. ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)

    ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++) 文章目录 01 导读 02 功能包的创建 03 功能包的源代码编写 3.1 编写发布器节点(talker.cpp) 3.2 编写订阅 ...

  8. ROS入门笔记(九):编写ROS的第一个程序hello world(重点)

    ROS入门笔记(九):编写ROS的第一个程序hello world(重点) 文章目录 1 Catkin工作空间 1.1 创建catkin工作空间 1.2 编译工作空间 1.3 设置环境变量 1.4 检 ...

  9. ROS入门笔记(六): ROS系统架构

    ROS入门笔记(六): ROS系统架构 文章目录 1 ROS系统架构 1.1 文件系统(重点) 1.2 计算图 1.3 开源社区 1 ROS系统架构 1.1 文件系统(重点) 文件系统:主要指在硬盘里 ...

最新文章

  1. 19行关键代码,带你轻松入门PaddlePaddle单机训练
  2. php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理
  3. 在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
  4. 带滤镜拍照的app_自拍也有大讲究,选对滤镜才能美美美!
  5. Jayrock: JSON and JSON-RPC for .NET
  6. 已知一个点的经纬度、方位角、距离,求另一点经纬度
  7. PostgreSQL从未授权到高权限命令执行
  8. 如何在 30 天内重新设计整个应用程序?
  9. Windows Server 2008 多元密码策略配置
  10. matlab2c使用c++实现matlab函数系列教程-unifstat函数
  11. python 爬虫(一) requests+BeautifulSoup 爬取简单网页代码示例
  12. 软件工程——第六次作业——团队作业
  13. 它不是哆啦A梦 也能满足你的挑剔需求
  14. vscode无法更改文件夹名称
  15. ps怎么更改背景图层大小_ps怎么修改图层大小
  16. winform的RichTextBox设置网格线,类似word的稿纸效果
  17. sd/mmc驱动框架-(三)mmc子系统的数据结构
  18. 一文读懂C++虚函数的内存模型
  19. python -不敢表白,不好意思说出来,没关系,7行代码完成自动打印文字
  20. 算法训练 逗志芃的危机

热门文章

  1. python开发qq聊天机器人_Python qqbot 实现qq机器人的示例代码
  2. 【洛谷P4233】— 射命丸文的笔记(竞赛图+多项式求逆)
  3. 华云大咖说 | 华云数据与数科网维携手共建国产云生态
  4. Flutter网络请求
  5. php毕业设计美食菜谱网站
  6. 2019浙江计算机二级考试考纲,计算机二级考试大纲(2019全国计算机二级考试大纲)...
  7. endnote参考文献排版_如何用 EndNote 编辑适合投稿杂志的参考文献格式
  8. oracle智能纠错,《Oracle DBA手记》一书勘误表
  9. 视频知识点(17)- flv.js 实现播放本地视频文件的技巧
  10. django 配置swagger 以及登录登出,以及自定义参数