为什么要使用Ros进行自动驾驶系统搭建

在这里插入图片描述

Ros在搭建自动驾驶系统中的使用

Ros简介

Robot Operating System (ROS or ros) is robotics middleware (i.e. collection of software frameworks for robot software development). 作为一个中间框架属性的软件,Ros给开发人员提供很好的底层屏蔽和上层的扩展性。
Although ROS is not an operating system, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management.

Middleware简介

General Definition: software that connects software components. A layer that lies between the operating system and the applications on each side of a distributed computer network.
为什么要使用Ros进行自动驾驶系统搭建_第1张图片
Every middleware must have:

• Abstraction from hardware硬件层抽象

• Hide communication 通讯层屏蔽

Good middlewares have:

• Logging/Playback tools 日志/回放工具

• Real-time analysis 实时检测

Resulting benefits:

• Portable 即插即用/易移植

• Reusable 可重用

• Saves time and money 节省时间和成本

众多的中间层软件:为什么要使用Ros进行自动驾驶系统搭建_第2张图片

Ros生态,软件的分类

Software in the ROS Ecosystem[6] can be separated into three groups:

  • language-and platform-independent tools used for building and distributing ROS-based software;
  • ROS client library implementations such as roscpp, rospy, and roslisp;
  • packages containing application-related code which uses one or more ROS client libraries.

Why Ros

为什么要使用Ros进行自动驾驶系统搭建_第3张图片
工具:

  • command-line tool
  • Graphical (rviz, rqt)

Simple introduction to Ros

Nodes and Topics

为什么要使用Ros进行自动驾驶系统搭建_第4张图片

  • 每个节点都是一个进程
  • 发布或者订阅到话题
  • 话题传递节点之间的信息,支持多对多的通信
  • ROS Master(电话接线员)处理节点之间的通信;
  • ~通过话题将发布者和订阅者连接在一起
  • TCP/IP连接

参数Parameters:
为什么要使用Ros进行自动驾驶系统搭建_第5张图片

Ros应用举例:

GitHub开源项目:Jetson-car
为什么要使用Ros进行自动驾驶系统搭建_第6张图片

你可能感兴趣的:(为什么要使用Ros进行自动驾驶系统搭建)