31
R&D Center System Technology Development Division Base System Development Department Copyright 2018 Sony Corporation aibo with ROS Tomoya Fujita R&D Center Sony Corporation

Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

R&D Center System Technology Development Division Base System Development DepartmentCopyright 2018 Sony Corporation

aibo with ROS

Tomoya Fujita

R&D CenterSony Corporation

Page 2: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

What is “aibo”?

Page 3: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

aiboERS-1000

Page 4: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Coming up in USVery soon

Page 5: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Comes close to you&

Makes interaction

Page 6: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Hardware

R e c o g n i t i o n B e h a v i o r C o n t r o l

S i t u a t i o n a l Aw a r e n e s s

B e h a v i o r P l a n n i n g

In te l l igent Process ing(Edge)

User/Environment

In te l l igentProcess ing

(Cloud)

Sensing Mechatronics

IN OUT

Edge Computing System

Page 7: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Feeling Area:5m

Attraction Area:3m

Communication Area:1.5m

aibo

Feeling Areaaibo can feel someone is there.

Attraction Areaaibo tries to get attention

Communication Areaaibo communicates with user/owner

!

Page 8: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Camera x2

ToF Sensor

Touch Sensor x3

Microphone x4

Motion Detector

Light Detector

IMU (head)

PSD Sensors x2

Head x3

Mouth x1

Neck x1

Ears x2

Front Legs x6

Hind Legs x6

Tail x2

Waist x1

Sensing Devices Actuators

Qualcomm® Snapdragon™ 820

(APQ8096)

Speakers

RAM 4GBROM 32GB

Application Processor (SOC)

Motion Processor

OLED x2

LTE/Wi-Fi IMU (body)

Page 9: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

9

Sensor Location Perpose

Image (fisheye camera) Front Face Face / Body / Hand / Object / Color / QR code

Image (fisheye camera) Back SLAM(Simultaneous Localization and Mapping)

ToF (Time of Flight) Front Face Object DetectionPSD (Position Sensitive Detector) Chest Cliff Detection

Touch Pressure Back Patting / Slapping Detection

Touch Capacitive Head, Chin Patting Detection

6 axis (gyro x accelerometer) Head Lift / Cliff Detection

6 axis (gyro x accelerometer) Body Lift DetectionWalk Balance Calibration

Human Detect Body Human DetectionAmbient Light Body Environment PredictionGround Paw Floor Contact Detection

Page 10: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

10

Mic Holes

Page 11: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us
Page 12: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us
Page 13: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

13

Page 14: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

14

Page 15: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

15

Page 16: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us
Page 17: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Body Controller(ROS)

MotionProcessor

OLEDOLED

SpeakerSoundmixer

Daemon

Eye ControlDaemon

Actuator

Main Processor (Linux)

ActuatorActuatorActuatorActuatorActuatorActuatorActuator

Message From Brain

ROS border

Page 18: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

ROS

CloudIoT

Mobile

Mass Production

Wireless TechCamera TechSensor TechSecurity Tech

AWS IoTAWS Cloud

Latest Robot Tech

AIDeep LearningReinforcementLearning

Mech

MotionTech

CS Tech

Inspection

Page 19: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

ROS Embedded Optimization

Page 20: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

ROS Transport OverviewXMLRPC:configuration information

TCPROS/UDPROS: data payload such as topic and services.

rosmaster

ImageProcess

XMLRPCXMLRPC

XMLRPC

CameraNode

Computation Robot

TCPROS/UDPROS

Laptop

DisplayNode

XMLRPC

Page 21: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

ROS Transport Overview What’s the problem?

• CPU resource stress• Latency and Throughput.

Countermeasure Preconditions• No change required for applications.• Good affinity with TCP/UDP• small latency and high throughput.

rosmaster

ImageProcess

XMLRPCXMLRPC

XMLRPC

CameraNode

Computation Robot

TCPROS/UDPROS

Laptop

DisplayNode

XMLRPC

Our Scope

Extend UDSROS layer with TCPROS/UDPROS,but nothing else will be changed.

Page 22: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Expected Improvement as System

Category Skylake HikeyLatency UDS(STREAM) 1.82 us 44.4 us

[usec] UDS(DGRAM) 2.14 us 19.9 us

TCP/IP 3.14 us 87.7 us

UDP/IP 2.78 us 67.2 us

Through-Put UDS(STREAM) 1.95 Gbps 127 Mbps

UDS(DGRAM) 1.98 Gbps 92 Mbps

TCP/IP 0.43 Gbps 12 Mbps

x2 ↓

Source Code• https://github.com/tomoyafujita/ipc-bench

Environment• skylake(amd64) / hikey(arm64)• CPU frequency governor is “performance”• 100byte data payload / 10000 test loop average

Performance Improvement for System

x10 ↑

x1.7 ↓

x4 ↑

Page 23: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Extended Transport Overview

Network

System-A(OS instance) System-B(OS instance)

roscpp rospy

rosmaster

Node(cpp)

ROS node Software Stack Hardware Stack

Node(py)

UDSROS

TCPROS/UDPROS

Node(cpp)

Node(py)

roscpp rospy

UDSROS

TCPROS/UDPROS

Node(cpp)

Node(py)

Node(cpp)

Node(py)

System Internal

topic/service

System Internal

System External

System Boundary Aware, so it’s automatically which connection should be used.

Page 24: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Improvement Result HelloWorld Benchmark

• Publisher:Subscriber=1:1• Synchronous test loop using shared memory.• Latency is the time window between publish and callback entrance.• Environment: amd64(skylake) and arm64(hikey)

Result Comparison

Platform ROSTransport

Duration [nsec]min max average

Skylake TCP/IP 46,582 287,173 70,393UDS 42,877 286,130 64,796

Hikey TCP/IP 552,224 6,040,312 1,145,881UDS 435,833 10,075,833 872,981

8% ↓

24% ↓

Page 25: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Github Repositoryhttps://github.com/fujitatomoya/ros_comm/tree/topic-kinetic-devel-uds-support

Pull Requesthttps://github.com/ros/ros_comm/pull/1510

Tomoya Fujita <[email protected]>Barry Xu <[email protected]>

Page 26: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Direct I/O with rosbag Reference https://github.com/osrf/rosbag_direct_write

Data in userland will be stored directly to the storage device without CPU workload.

(*) memory alignment constraints

Process

Page Cache

File System

Block I/O

inode inode

Process

page page page page

Page 27: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Epoll

What is the problem?• The more ROS topic connection, the more CPU stress with ros::spin()

• Waiting for the stimulus during ros::spin without any message transmission.• Poll system call is not good enough to take care of many file descriptors.

Countermeasure• Using epoll instead, to reduce CPU stress.• Already introduces as following commit, so backport the fix into 1.12.7 ros_comm.

commit 9c0db37d9231003a7f162857e4aeb45675839609Author: Mike Purvis <[email protected]>Date: Thu Dec 21 11:31:08 2017 -0500

Topic subscription scalability fix (#1217)

Switching to using epoll system calls to improve performance of the topic polling code by a factor of 2.This required disabling the addDelMultiThread test.

Page 28: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Polling Frequency

ROS Threads

Thread Name UseMain Main threadPollManager Publish/Subscribe I/O PollingXMLRPCManager Talk to rosmaster for connectivity map and servicesROSOutAppender LogginginternalCallbackQueue Connection drop, data store etc…

Polling Frequency Tunable for each processes, less CPU stress. (default freq is 100msec)

No Logging thread, less CPU stress. (instead of that, using own log system)

Page 29: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

For ROS2

Own RMW

OwnImplementation

ROS2 Applicationcan be switched the RMW implementation with environmental variable.

Page 30: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

Special Thanks to ROS Community

Page 31: Tomoya Fujita R&D Center Sony Corporationroscon.ros.org/2018/presentations/ROSCon2018_Aibo.pdf · Expected Improvement as System Category Skylake Hikey Latency UDS(STREAM) 1.82 us

SONYはソニー株式会社の登録商標または商標です。各ソニー製品の商品名・サービス名はソニー株式会社またはグループ各社の登録商標または商標です。その他の製品および会社名は、各社の商号、登録商標または商標です。