ROS机器人操作系统

本文涉及的产品
资源编排,不限时长
简介: ROS机器人操作系统

 ROS机器人操作系统为机器人软件开发所设计的电脑操作系统架构,起源于斯坦福大学人工智能实验室。 其中ROS的发行版本:Melodic Morenia,适用平台:Ubuntu Bionic(18.04)。现将本课程中常见释义总结如下:

  1. ROS的构成:基于TCP/IP的分布式通信机制、开发工具、应用功能、生态功能。特点:点对点设计、多语言支持、精简与集成、开源且免费。
  2. opt:提供一个可供选择的应用程序安装目录,通常ROS也是安装在这下面。
  3. Sodo命令:使用sodo命令来执行管理任务。
  4. 终端快捷键《ctrl+alt+t》
  5. Python是一种解释型、弱类型、面向对象、动态数据类型的高级程序设计语言
  6. 变量与数据类型:numbers(数字)、string(字符串)、list(列表)、tuple(元组)、和Dictionary(字典)
  7. 类与对象:类名、属性、方法
  8. ROS的起源:2007年斯坦福大学人工智能实验室的STAIR项目与机器人技术公司Willow Garage的个人机器人项目之间的合作。
  9. ROS系统架构一般有三个部分:                                                                                        (1)文件系统级——描述了程序文件在硬盘上是如何组织的,ROS的内部结构、文件结构和核心文件都在这一层;                                                                                                  (2)计算图集——说明了程序的运行方式,即进程与进程、进程与系统之间的通信;            (3)开源社区级——描述了开发者之间是如何共享知识、算法和代码的。
  10. (开源社区级(文件系统级(计算图级)))
  11. 功能包的创建与编译:创建功能包:cd  ~/catkin_ws/src    catkin_create_pkg_ ch5_tutorials std_msgs rospy roscpp

        编译功能包:cd ~/catkin_ws/     catkin_make    source devel/setup.bash

 12.执行上述命令后,src文件下就会出现文件夹ch5_tutorials,该文件夹下至少包括CMakeLists.txt和package.xml两个文件

  13.GDB调试器:是linux系统下一种常见的程序调试工具

  14.RViz是ROS提供的三维可视化工具,主要用于机器人、传感器以及算法的可视化。

  15.工作空间分为源文件空间(src)、编译空间(build)、开发空间(devel)

  16.激光雷达传感器:通过向探测目标大发射激光束,将从目标反射回来的目标回波信号与发射信号进行比较,计算出目标的距离、方向、高度、速度、姿态和形状的相关信息,能够实现对目标的探测、识别和跟踪。其按功能可分为激光测距雷达、激光测速雷达和激光成像雷达;按工作介质可分为固体激光雷达、气体激光雷达和半导体激光雷达;按线数可分为单线激光雷达和多线激光雷达;按扫描方式可分为MEMS型激光雷达、Flash型激光雷达和相控阵激光雷达。

  17.calib3d:该模块主要用于实现相机标定和三维重建等功能,具体包括物体姿态估计、基本多视角几何算法、单立体相机标定和三维信息重建等。Highgui:该模块包含与操作系统、文件系统和相机等硬件交互的函数,通过highgui模块能够方便的实现媒体数据的输入/输出、图像和视频的编码/解码等功能。

  18.机器人模型描述格式(URDF);Link(连杆)和Joint(关节)

  19.机器人仿真环境(Gazebo):三维物理仿真平台,用户界面主要由场景窗口、面板、工具栏(上工具栏和下工具栏)和菜单栏

  20.turtlebot3_bringup:主要包含Turtlebot3和传感器的驱动、启动文件。

      ·turtlebot3_description:管理Turtlebot3的描述文件,包括burger、waffle和waffle pi。

      ·turtlebot3_slam:主要包含 Turtlebot3定位与地图构建功能的相关文件。

      ·turtlebot3_navigation:主要包含 Turtlebot3 自动导航功能的相关文件。

      ·turtlebot3_teleop:是常用到的键盘控制机器人运动功能包。

      · turtlebot3__msgs:管理Turtlebot3使用到的消息文件。

      ·turtlebot3_simulations:主要包含Turtlebot3仿真功能的相关文件。

   21.机器人的两大关键问题:自主移动和协同工作

  22.机器人驱动控制方式,第一步是为移动机器人建立运动学模型,然后求得机器人的运动学方程,最后才是代码的实现

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
7天前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
19 2
|
17小时前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
1月前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
58 1
|
1月前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
30 1
|
1月前
|
机器人 Unix C++
ROS机器人编程技术架构命令应用
ROS机器人编程技术架构命令应用
26 1
|
1月前
|
Ubuntu 机器人 编译器
ROS机器人编程技术系统安装
ROS机器人编程技术系统安装
37 1
|
算法 机器人 定位技术
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
953 0
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
170 0
|
1月前
|
传感器 机器人 C++
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
294 0
|
7月前
|
传感器 机器人 C++
机器人操作系统ROS 编程开发--详细总结
最近工作涉及到自动驾驶的,需要学习ROS,学习中总结了一些知识点,分享给大家。 机器人操作系统ROS,是一种分布式处理框架(又名Nodes),ROS常用C++和python编程语言开发;(这里项目开发采用C++ 11版本)。ROS的点对点设计以及服务和节点管理器等机制,可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。ROS免费并且开源。
494 0

推荐镜像

更多