<> Integrated technology stack

* computer ( micro controller )(OpenCR)
* network ( Real time data processing )
* vision
* Embedded
* sensor
* Driver ( Steering gear control )
* Firmware development (FPGA)
* Automatic driving
* SLAM Real time positioning and map construction
<> application

* Embedded system
* mobile robot ( Service robot )
* Mechanical arm
<> field

* bmw ( automobile )
* aircraft
* Scientific field
<> open source ( Collective intelligence )

Promote technology development universal
Adapt to future social changes

Onshape github

<> Chinese glossary

<> Robot software platform

<> Platform form

* ecosystem Ecosystem 4 Large constituent elements Division of labor and cooperation from various Hardware Hardware combination modular Manage hardware Operating System
operating system The operating system provides hardware abstraction based In software development environment Provide various application services Application Large number of users User
PC personal computer PP Personal mobile phone PR ( Personal robot )

<> Robot application

* Hardware abstraction
* Sub equipment control
* Sensing
* distinguish
* Self positioning and mapping (SLAM)
* Navigation (Navigation)
* Manipulator control (Manipulation)
Function pack management
Libraries required by the development environment
Develop debugging tools

ROS – Robot Operating System Robot operating system
Japanese open robot Middleware OpenRTM
Europe Real time control center OROCOS
the republic of korea OPRoS

<> Robot hardware

* mobile robot
* Humanoid hardware
Software platform abstraction
( past Robot developer shoulder The whole work from hardware design to software design )
Robot hardware according to software platform Proposed Interface Designed

<> Sensing , distinguish , mapping , Action planning

* Robotbase core technology face detection Object recognition
* mobile robot ROS of yujin robot Mobile robot base station
* steering engine ROBOTIS of Dynamixel
* Obstacle recognition Navigation motor drive ROS Public function package
ROS-I Industrial Consortium
ROS Industrial combination Industrial robot leading enterprises participate
automation Sensing coordination robot of Challenge solve

<> Standardized code – ROS conversion – currency

one , Program reusability
NASA Space station Robonaout2 robot
1.ROS( It can be used in a variety of operating systems )
2. real-time control , Message channel repair , reliability OROCOS Real time control center

two , Communication based program
Provision of services
In the same frame Write a lot of programs :
sensor / steering engine Hardware driver ( firmware )
All kinds of program

In order to reuse robot software
According to each processor purpose Divide into smaller parts
Depending on the platform be called Componentization Nodalization

Divided into minimum execution units of Between nodes send out and receive data

Platform has about Should data communication of All general information

Connect to the smallest unit process reach Network Internet of things (IOT) Conceptual consistency
Therefore, it can be used as Internet of things platform

Be divided Minimum execution unit of program Can proceed
Small unit debugging be conducive to debug

three , development tool
debug Debugging tools

2D mapping ,3D Visualization tools RViz

Visual model situation More By following the prescribed Information format
Direct confirmation Robot model provide 3D simulator
Easy to expand to simulation experiment

Point cloud (Point cloud) form From Intel RealSense perhaps Kinect obtain 3D distance information conversion

experimental data record reproducible experiment

four , ecosystem
operating system integration hardware technology

five , Open source community
share Function package
wiki page explain

software platform provide convenient assembly
signal communication
Real time
Unique function

<>Open Robotics Developed ROS

ROS Is an open source robot Meta operating system
service :
Hardware abstraction
Low level equipment control
Implementation of common functions
Interprocess messaging
Function pack management

Multiple computers between obtain , structure , to write , Run code of tool and library

ros be similar to Operating system Hardware abstraction
Available for Heterogeneous hardware of characteristic

<> Meta operating system

General computer operating system windows ,Linux,Mac,
Intelligent mobile phone Android ,IOS,Symbian, etc.

Meta -Operating - System
Leverage applications and Distributed calculation resources between of Virtualization layer
come implement dispatch load monitor error handling etc. task of system

Use existing operating system Ubuntu Reinstall ROS
To use Process management system , file system , user interface
Program utility ( compiler , Thread model ) etc.

In the form of Library provide robot application program what is needed most Different types Between hardware
data transmission receive , dispatch , And error handling etc. function
Middleware( middleware )
Software framework( software framework )

Have and share Development function package Ecosystem

ROS yes stay use Existing Traditional operating system meanwhile
adopt use Hardware abstraction come control robot application program Necessary robot / sensor

meanwhile Also Development user of Robot applications of support system

ros data communication Can be in An operating system in conduct
Also applicable to use Multiple hardware of Robot development

Because it can be used in different operating systems , Hardware , Between programs Exchange data

<>ROS objective – Developing robot collaboration software environment

features :

Distributed process :
The smallest unit that can execute a process (node node ) Programming in the form of
Each process runs independently
and Organic transceiver data

Function pack unit management :
Manage multiple functions in the form of function packages Have the same objective of process
Easy to share modify release

Public repository
Each function pack github open Identification license

api type
simple adopt call API Put it load reach his Used In code

Multiple programming languages support
client Library Client Library
java c# Lua Ruby Other languages
python C++ Lisp

code reuse universal

<>ROS assembly