赞
踩
最近做了一个关于ROS介绍的ppt。顺便把介绍更新到这~
So what is ROS, it is a development environment for robotics
And why do we need to learn ROS
The short answer is because it can reduce development time. Often people say they do not want to spend their time learning a new concept and would rather stick to their current methods to avoid changing the already built system or existing programs.
However, ROS does not require one to develop the existing system and programs all over again, but can rather easily turn a non-ROS system to a ROS-system by simply inserting a few standardized codes.
In addition, ROS provides different tools and software that are commonly used, and it allows users to focus on the features that they are interested in or would like to contribute in, which can greatly reduces the development time.
You can think of some function,such as the slam. You can use some existing SLAM algorithm, such as lidar slam, RGBD SLAM, ORB SLAM and so on, or the other function, just like camera calibration, read the data from the IMU or the odometer, you can directly obtain the necessary data , rather than write a complexity program to get it.
It is basicly design for Linux
Here are some existing tools.
The code reuse is really important part in ROS,we just need to focus on our own function, the other part can be finished by ROS
At the same time, it also make easier for the software developers to develop applications without understanding hardware
Let have a look of the characteristics of the ROS. Let me show you the video first
First is the reusability of the program. A user can focus on the feature that the user would like to develop, and download the corresponding package for the remaining functions. At the same time, they can share the program that they developed so that others can reuse it.
Second is that ROS is a communication-based program. The concept of network connected minimal functions in ROS is also
applied to Internet of Things (IOT), the communication ways is the key point for program design in ros system, let talk about it later。
Third is the support of development tools. ROS provides debugging tools, 2D visualization tool and 3D visualization tool (RViz) that can be used without developing necessary tools for robot development.
Fourth is the active community
Fifth is the formation of the ecosystem. smartphone platform revolution have started because there was an ecosystem that was created by software platforms such as Android or iOS. This type of progression is likewise underway for the robotic field.
In the beginning, every kind of hardware technology was overflowing,
but there was no operating system to integrate them. Various software platforms have developed and the most esteemed platform among them,
ROS, is now shaping its ecosystem. It is creating an ecosystem that everyone ― hardware developers from the robotic field such as robot and sensor companies, ROS development operational team, application software developers, and users ― can be happy with it.
What is ros can not do
It is not an operating system for PC or micro-controllers, that means you can install on a PC with linux, it is not directly interactive with CPU or RAM
Secondly, it not a hard real-time environment. The hard real-time environment means that, you know, some objective, need really fast response, just like the Autonomous driving, the card driving very fast, you can not depend on ROS
If you allow some respond time down to ten to hundreds of ms, typically, it is ok, but if you want 1 or 2 ms response, ROS can not satisfy
It is ok to do some experiment, but if we need some real product with fast response, it is not design for that
Here is some basic concepts of ROS, I won’t go through all of the details. Maybe you can read some tutorials or my blog.
The key point is, in ros, each function, or each small unit, just take an example, for the VLP function, for the mobile phone control function, all of those can be reviewed as a node [nəʊd]. And the communication between different nodes are through the published or subscribed [səbˈskraɪbd] the topic or service.
And for the ensure the communication, we need to setup a master node at first, which is called roscore. And all of the nodes need to be the same network environment.
ROS data communication is supported not only by one operating system, but also by multiple operating systems, even in android and IOS
So it is really good for the cooperation between human and machine.
hardware, and programs, making it highly suitable for robot development where various hardware are combined.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。