ROS是干啥用的?ROS(Robot Operating System )是一个用于机器人开发的开源中间件框架,可以理解为机器人的“操作系统”。它提供了各种工具、库和约定,用于构建机器人应用程序,比如传感器数据处理、运动控制、导航、视觉、语音等。
ROS 2 的发展历程
版本代号
发布年份
主要特性
Ardent Apalone
2017
第一版正式发布,验证 DDS 通信框架
Bouncy Bolson
2018
改进 API,支持多平台开发
Crystal Clemmys
2018
增强稳定性,添加调试工具
Dashing Diademata (LTS)
2019
第一个长期支持版本,适合生产环境部署
Eloquent Elusor
2019
性能优化,改进节点生命周期
Foxy Fitzroy (LTS)
2020
更稳定的通信模型,企业广泛采用
Galactic Geochelone
2021
改进安全和 DDS 支持
Humble Hawksbill (LTS)
2022
更强的工具链和生态系统支持
Iron Irwini
2023 ...
什么是Yolo?YOLO(You Only Look Once,意思是“你只需看一次”)是一个用来识别图片里物体的AI算法,特点是又快又准。
YOLO 是怎么工作的?普通的方法(比如 R-CNN)是先找出可能有目标的地方,再去分类。而 YOLO 直接把整张图片输入,一次性就能识别所有目标,就像人一眼扫过去就能看出画面里有什么。
YOLO 的厉害之处
速度快 🚀 —— 一次看完,立刻给出结果,适合实时应用,比如自动驾驶、监控识别等。
准确率高 🎯 —— 通过深度学习不断优化,能精准找到目标。
结构简单 🏗 —— 直接输入图片,输出结果,没有复杂的中间步骤。
有趣的应用项目
打蚊子 https://b23.tv/n5GAoEK
停车位检测 https://b23.tv/rUjtwbw
机械臂视角抓取 https://b23.tv/e51dYnB
人形机器人机械臂 https://b23.tv/UkVEofg
项目搭建
安装必要的库 你需要安装 OpenCV 和 ultralytics(YOLO 的 Python 库):
1pip install opencv-python ul ...
Web前端
未读WebStorage是什么?Web应用的发展,使得客户端存储使用得也越来越多,而实现客户端存储的方式则是多种多样。最简单而且兼容性最佳的方案是Cookie,但是作为真正的客户端存储,Cookie则存在很多致命伤。因此,HTML5 提供了WebStorage,它比使用 Cookie 更直观,存储大小比Cookie大得多,可以达到5M或更大。
WebStorage 由两部分组成 会话存储(sessionStorage) 和 本地存储(localStorage)
sessionStorage 会话存储
sessionStorage 里的数据在页面关闭时会被清除。
刷新页面仍会保持原来所存储的数据。
打开多个相同的 URL 的页面,会创建各自的 sessionStorage存储。
localStorage 本地存储localStorage 存储的数据永久保存在客户端本地,不会因为页面关闭而被清除。
存储在 sessionStorage 或 localStorage 中的数据特定于页面协议。也就 是说 http://example.com 与 https://example.com ...
WebSocket简介WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
创建连接Html5 提供了 WebSocket 构造函数,实例化一个对象,传入提供连接的url,就可以创建一个连接。
1let socket = new WebSocket(url,protocols);
参数url :WebSocket 服务器将响应的 URL(不受同源策略影响)
protocols (可选):一个协议字符串或者一个包含协议字符串的数组。这些字符串用于指定子协议,这样单个服务器可以实现多个 WebSocket 子协议(例如,您可能希望一台服务器能够根据指定的协议(protocol)处理不同类型的交互)。如果不指定 ...
Web前端
未读作用域是什么?作用域是当前的执行上下文,值和表达式在其中可见或可被访问。如果一个变量或表达式不在当前的作用域中,那么它是不可用的。作用域也可以堆叠成层次结构,子作用域可以访问父作用域,反过来则不行。
作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少命名冲突。
JS作用域分类JavaScript 的作用域分为四种:全局作用域、函数作用域、块级作用域、模块作用域。
除了全局作用域以外的作用域,从意义上都可以叫局部作用域。在全局定义的变量叫全局变量,在局部作用域定义的变量可以叫局部变量。
全局作用域简单来说,直接编写在 script 标签之中和单独 JS 文件中的代码,都是全局作用域。全局作用域在页面打开时创建,页面关闭时销毁。
1234567var me = "今晚不熬夜!";function fun(){ var a = "我是局部变量!"; console.log(me);}fun(); // 今晚不熬夜!console.log(a); // 报错
在全局作用域下声明的变量叫做全局变量,全局变量在 ...
什么是MarkdownMarkdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建,编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档,文档后缀为 .md, .markdown。
当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。
标题使用 # 号标记使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
123456# 一级标题## 二级标题### 三级标题#### 四级标题##### 五级标题###### 六级标题
段落Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是在段落后面使用一个空行来表示重新开始一个段落。
123段落1段落1
字体Markdown 可以使用以下几种字体:
斜体文本 斜体文本 ...