《OpenCV与ROS入门》讲座笔记
主讲人:倪培远
讲座来源:上海交通大学机器视觉课程
内容有删改,整理
人不可以渣,但节点可以。这就是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通信。
action与server类似,一般用于实时性要求高的场景,比如在机器人执行动作全程都要求有反馈。
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入门》讲座笔记相关推荐
- ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...
- ROS入门学习笔记|话题发布与订阅
文章目录 一.工作空间 1.创建一个名称为sor_ws的工作空间 2.编译工作空间 3.创建功能包 二.自定义话题消息 1.定义msg文件 2.配置package.xml和CMakeLists.txt ...
- ROS入门笔记(七):详解ROS文件系统
ROS入门笔记(七):详解ROS文件系统 文章目录 01 Catkin编译系统 1.1 Catkin特点 1.2 Catkin工作原理 1.3 使用`catkin_make`进行编译 02 Catki ...
- ROS入门笔记(十三):分布式通信
ROS入门笔记(十三):分布式通信 文章目录 01 如何实现分布式多机通信 1.1 设置IP地址,确保底层链路的连通 1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master ...
- ROS入门笔记(十二):动作编程 (C++)
ROS入门笔记(十二):动作编程 (C++) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建action(动作) 3.1 自定义action 3.2 在package.xml中添加功能 ...
- ROS入门笔记(十一):编写与测试简单的Service和Client (Python)
ROS入门笔记(十一):编写与测试简单的Service和Client (Python) 文章目录 01 导读 02 功能包的创建 03 在功能包中创建自定义服务类型 3.1 定义srv文件 3.2 在 ...
- ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)
ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++) 文章目录 01 导读 02 功能包的创建 03 功能包的源代码编写 3.1 编写发布器节点(talker.cpp) 3.2 编写订阅 ...
- ROS入门笔记(九):编写ROS的第一个程序hello world(重点)
ROS入门笔记(九):编写ROS的第一个程序hello world(重点) 文章目录 1 Catkin工作空间 1.1 创建catkin工作空间 1.2 编译工作空间 1.3 设置环境变量 1.4 检 ...
- ROS入门笔记(六): ROS系统架构
ROS入门笔记(六): ROS系统架构 文章目录 1 ROS系统架构 1.1 文件系统(重点) 1.2 计算图 1.3 开源社区 1 ROS系统架构 1.1 文件系统(重点) 文件系统:主要指在硬盘里 ...
最新文章
- 19行关键代码,带你轻松入门PaddlePaddle单机训练
- php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理
- 在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
- 带滤镜拍照的app_自拍也有大讲究,选对滤镜才能美美美!
- Jayrock: JSON and JSON-RPC for .NET
- 已知一个点的经纬度、方位角、距离,求另一点经纬度
- PostgreSQL从未授权到高权限命令执行
- 如何在 30 天内重新设计整个应用程序?
- Windows Server 2008 多元密码策略配置
- matlab2c使用c++实现matlab函数系列教程-unifstat函数
- python 爬虫(一) requests+BeautifulSoup 爬取简单网页代码示例
- 软件工程——第六次作业——团队作业
- 它不是哆啦A梦 也能满足你的挑剔需求
- vscode无法更改文件夹名称
- ps怎么更改背景图层大小_ps怎么修改图层大小
- winform的RichTextBox设置网格线,类似word的稿纸效果
- sd/mmc驱动框架-(三)mmc子系统的数据结构
- 一文读懂C++虚函数的内存模型
- python -不敢表白,不好意思说出来,没关系,7行代码完成自动打印文字
- 算法训练 逗志芃的危机
热门文章
- python开发qq聊天机器人_Python qqbot 实现qq机器人的示例代码
- 【洛谷P4233】— 射命丸文的笔记(竞赛图+多项式求逆)
- 华云大咖说 | 华云数据与数科网维携手共建国产云生态
- Flutter网络请求
- php毕业设计美食菜谱网站
- 2019浙江计算机二级考试考纲,计算机二级考试大纲(2019全国计算机二级考试大纲)...
- endnote参考文献排版_如何用 EndNote 编辑适合投稿杂志的参考文献格式
- oracle智能纠错,《Oracle DBA手记》一书勘误表
- 视频知识点(17)- flv.js 实现播放本地视频文件的技巧
- django 配置swagger 以及登录登出,以及自定义参数