<> 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
* UAV
* 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
Used
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 )
Sensing
distinguish
action
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
visualization
simulator
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
Technology