autolabor(ROS开发笔记)__1

视频链接:ROS机器人

chapter 1 ROS概述与环境搭建

学习步骤:
1.了解该模块的相关概念
是什么,为什么学,前世今生,发展前景
2.安装官方软件包
具备基本的开发环境,简陋notepad++
3.搭建集成开发环境(IDE,Integrated Development Environment)
生成提示,自动补齐,纠错,提高开发效率

用到的工具:
vscode

了解ROS的概念,设计目标,发展历程

  • 独立安装并运行ROS
  • 能够使用C++或Python实现ROS版本的HelloWorld
  • 能够搭建ROS的集成开发环境
  • 了解ROS架构设计

了解ROS架构设计

1.1 ROS简介

ROS背景

ROS背景

  • 硬件+软件(组成复杂)

工业体系的集大成者

上层软件设计–>大脑(采集外界信息,处理,运算,下达)–>(ROS)
嵌入式软件设计–>小脑–>Arduino/stm32

大脑将信息传达给小脑再控制硬件

  • 一种更合适的策略:(分工实现复用)

专注于自己擅长的领域,其他模块用其他团队的。“不重复发明轮子”
分工–>提高效率
复用性和模块开发

  • 背景(ROS)

2007年,柳树车库(Willow Garage)的机器人公司发布了ROS(机器人操作系统),
通用软件框架,提升功能模块的复用性,迭代、完善。
机器人领域的事实标准。

ROS概念

ROS(Robot Operating System)机器人操作系统

  • 开源(源码开放,不要钱),元操作系统
  • 集成工具、库、协议,类似OS的功能,简化对机器人的控制
  • 多台计算机上(分布式),获取、构建、编写和运行代码的工具和库,“机器人框架”
    控制器、处理器(树莓派)、感知外界数据,树莓派继续汇总,远程传递给PC,PC数据汇总运算产生结果,线速度和角速度,控制机器人运动。
  • ROS = Plumbing/管道/ + Tools + Capabilities/性能/ + Ecosystem
    即,通讯机制,工具软件包,机器人高层技能以及机器人生态系统的集合体。
    ROS设计者的表述
    用仿真工具,自动导航,避障,识别汽车、人等等

调参,最大速度,最小速度,角速度(调参,体力劳动)

ROS解读
开源:大家一起实现,制定规则,掌握话语权,钱

1.1.2 ROS设计目标

代码复用:

  1. 代码复用:重用
  2. 分布式:ROS是进程(Nodes节点)的分布式框架,ROS中的进程可以分布于不同主机,不同主机协同工作,分散计算机压力。
  3. 松耦合:输入输出标准化,实现过程可以自定义。可插拔的设计。
  4. 精简:可以和其他机器人软件框架一起使用。(OpenRAVE,Orocos,Player)
  5. 语言独立性:多语言实现,如Java,C++,Python,允许消息接口嵌套使用
  6. 易于测试:ROS具有称为rostest的内置单元/集成测试框架,轻松安装和拆卸测试工具。
  7. 大型应用:大型运行时系统和大型开发流程
  8. 丰富的组件化工具包:RVIZ(3D可视化工具)
  9. 免费且开源:开发者多,功能包多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/695487.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity射击游戏开发教程:(14)Unity 中的相机抖动

我以为这将是一个很容易添加到我的游戏中的功能,但编程中没有什么,尤其是刚开始的 GameDev。经过对如何创建相机抖动效果的一些研究后,有很多不同的方法来实现它。有一种使用动画、Cinemachine 或使用脚本的方法。本文将介绍如何创建脚本来创建相机抖动效果。现在,该脚本取…

SpringBoot 使用Outlook邮箱发送邮件

目录 一、开启Outlook设置 二、依赖 三、配置文件 四、代码调用 一、开启Outlook设置 开启设置如图&#xff1a; 二、依赖 <!-- 邮箱依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mai…

SQLZOO:The JOIN operation

数据表&#xff1a;game-gaol-eteam game idmdatestadiumteam1team210018 June 2012National Stadium, WarsawPOLGRE10028 June 2012Stadion Miejski (Wroclaw)RUSCZE100312 June 2012Stadion Miejski (Wroclaw)GRECZE100412 June 2012National Stadium, WarsawPOLRUS... goal …

向计算机输入两个整数,用一个函数求出两数之和

在一个函数中调用另一函数&#xff08;即被调用函数&#xff09;需要具备哪些条件呢&#xff1f; &#xff08;1&#xff09;首先被调用的函数必须是已经存在的函数&#xff08;是库函数或者用户自己定义的数&#xff09;&#xff0c;但光有这一条件还不够。 &…

本地生活市场竞争激烈,自营外卖平台实现月入上万,很轻松!

在中国&#xff0c;大约有300个地级市、2000个县&#xff08;包括县级市&#xff09;、4万个乡镇和66万个村庄&#xff0c;一起组成了近10亿人口的下沉市场。在本地生活领域&#xff0c;谁能够把握这一群体&#xff0c;谁就可能控制市场的主导地位。 大型平台是否可以把在一二…

ubuntu系统安装cpolar内网穿透详细教程

背景 想把自己的网站在外网访问,就需要做内网穿透,调研了很多个方案,但是最终还是选择了不需要实名,不需要公网ip的cpolar插件 账号准备 注册 注册地址: https://dashboard.cpolar.com/signup 登录 注册之后使用注册的账户和密码登录官网主页,就能看到安装步骤,不过…

RS8521XF功能和参数介绍及PDF资料

RS8521XF功能和参数介绍及PDF资料-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 品牌: RUNIC(润石) 封装: SOT-23-5 描述: 零漂移,1uV Vos,350KHz,1通道运放 放大器数: 单路 增益带宽积(GBP): 350kHz 输入偏置电流(Ib): 1pA 压摆率(SR): 0.17V/us RS8521XF 是一款高性能的运算…

C语言/数据解构——(随即链表的复制)

一.前言 嗨嗨嗨&#xff0c;大家好久不见。已经有好几天没更新了。今天我们就分享一道链表题吧——随即链表的复制https://leetcode.cn/problems/copy-list-with-random-pointer废话不多说&#xff0c;让我们直接开始今天的题目分享吧。 二.正文 1.1题目描述 他和单链表不同…

初识指针(5)<C语言>

前言 在前几篇文章中&#xff0c;已经介绍了指针一些基本概念、用途和一些不同类型的指针&#xff0c;下文将介绍某些指针类型的运用。本文主要介绍函数指针数组、转移表&#xff08;函数指针的用途&#xff09;、回调函数、qsort使用举例等。 函数指针数组 函数指针数组即每个…

探索国外静态IP:跨境网络的基石

在数字化时代&#xff0c;互联网已经成为我们生活和工作的重要部分。无论是远程办公、在线教育还是跨境电商&#xff0c;稳定的网络连接都至关重要。而在这个过程中&#xff0c;国外静态IP以其独特的优势&#xff0c;成为了许多企业和个人用户的选择。 一、国外静态IP的应用场景…

排序-快速排序(Quick Sort)

快排的简介 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;采用分治法的策略&#xff0c;其基本思想是选择一个基准元素&#xff0c;通过一趟排序将待排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据要…

ViewModel 完全指南:实践与背后原理全解

一、引言 在现代Android应用开发中&#xff0c;处理UI数据的有效管理和状态保持是开发者面临的重要挑战之一。Google推出的Jetpack组件库中的ViewModel已成为解决这些问题的关键工具。ViewModel旨在以生命周期意识的方式存储和管理界面相关的数据&#xff0c;从而使数据在配置…