SlideShare a Scribd company logo
1 of 41
Download to read offline
IOT AND THE AUTONOMOUS VEHICLE IN THE CLOUDS:
SIMULTANEOUS LOCALIZATION AND MAPPING (SLAM) WITH
KAFKA AND SPARK STREAMING
J. White Bear
IBM, Spark STC
About Me
Education
• University of Michigan- Computer Science
• Databases, Machine Learning/Computational
Biology, Cryptography
• University of California San Francisco, University of
California Berkeley-
• Multi-objective Optimization/Computational
Biology/Bioinformatics
• McGill University
• Machine Learning/ Multi-objective Optimization
for Path Planning/ Cryptography
Industry
• IBM
• Amazon
• TeraGrid
• Pfizer
• Research at UC Berkeley, Purdue University, and
every university I ever attended. J
Fun Facts (?)
I love research for its own sake. I like robots, helping to cure
diseases, advocating for social change and reform, and breaking
encryptions. Also, all activities involving the Ocean and I usually
hate taking pictures. J
Introduction: Robotics Today
FIRST Robotics World Championship
NASA Glenn Research Center in Cleveland
sponsored Tri-C's team.
Tartan Racing’s Boss, the robotic SUV that won
the 2007 DARPA Urban Challenge,
South Korean Team, KAIST wins the
DARPA Robot Challenge
Amazon Drones
Introduction: Robotics Tomorrow
Navigate stores, museums and other indoor
locations, with directions overlaid onto your
surroundings. Google Tango
Nanorobots wade through blood to deliver drugs
Space/underground/underwater rescue and
exploration. Places humans can’t go.
SLaM and ML on automated wheelchair
What is SLAM?
Simultaneous Localization and Mapping (SLAM)
••Formal Definition
••Given a series of sensor observations over discrete time steps the SLAM problem is to compute
an estimate of the agent's location and a map of the environment. All quantities are usually
probabilistic, so the objective is to compute:
••Computational problem of constructing or updating a map of an unknown environment while
simultaneously keeping track of an agent's location within it.
••SLAM algorithms use various implementations to attempt to find heuristics to make this
problem tractable using machine learning and probabilistic models
••GPS cannot account for unknown barriers, precision navigation, moving objects, or any areas
with satellite interference including weather phenomena.
What is SLAM?
What are some of the key challenges in SLAM?
••Computer vision correctly and identifying images observed
••Moving objects Non-static environments, such as those containing other vehicles or
pedestrians, continue to present research challenges. (collision detection)
••Data Association-refers to the problem of ascertaining which parts of one image
correspond to which parts of another image, where differences are due to movement
of the camera, the elapse of time, and/or movement of objects in the photos.
••Loop closure is the problem of recognizing a previously visited location and
updating the states accordingly.
What is SLAM?
Why SLAM on IoT?
SLAM in IoT
••"[SLAM] is one of the fundamental challenges of robotics . . . [but it] seems that almost all the current approaches
can not perform consistent maps for large areas, mainly due to the increase of the computational cost and due
to the uncertainties that become prohibitive when the scenario becomes larger."[12] Generally, complete 3D
SLAM solutions are highly computationally intensive as they use complex real-time particle filters, sub-mapping
strategies or hierarchical combination of metric topological representations, etc. (Wiki)
••Computational costs become prohibitive on embedded systems, especially smaller robotic modules. The data
becomes large and the calculations and corrections over time and space become much more important.
Specifically, SlaM increases exponentially with the number of landmarks found.
••The state uncertainty increase with time and space, and must be bounded by some form of machine learning to
predict and use accurate corrections in the algorithm
••Additional sensors, rapid movements, processing visual input adds additional computational burdens…
Why SLAM on IoT?
The Benefits
••Seamless integration and scaling allowing users to easily improve the
heuristics of the algorithm without losing any of the performance
expectations of an embedded system.
••Including smart cities, lawn mowing, dog walking, kitchen appliances, or
even communication inside the human body creating a truly unique
interaction between humans and robotics
••Large scale evaluation of performance metrics for all IoT systems (Big Data)
••Monitoring and control of sensors based on stored data (eg reducing sensor
usage to conserve power)
Why SLAM on IoT?
Current Approaches
••Robot Operating System (ROS) a collection of software frameworks for robot software development
••Providing operating system-like functionality on a heterogeneous computer cluster.
••Hardware abstraction, low-level device control, implementation of commonly used functionality,
message-passing between processes, and package management.
••No true real-time analytics! Despite the importance of reactivity and low latency in robot control, ROS
is not a Realtime OS
••Difficult to scale in IoT! Adding a heterogenous swarm, or integrating interactions requires significant
planning.
••There is a need! Are there any plans to build Kalman filtering and system identification into this
framework? https://github.com/sryza/spark-timeseries/issues/19
••We need a framework that can do this! Enter Apache Kafka and Spark Streaming!
Why SLAM on IoT?
Why build an ATV in isolation?
“Google is trying to teach its cars to think more like humans. Google’s explanation of the incident ….”
• Google cars have been involved in multiple accidents. Like many drivers, Googles blames the other non ATV
drivers on the roads, humans.
• http://gizmodo.com/a-google-self-driving-car-got-into-a-crash-with-a-bus-1762007421
• http://www.reuters.com/article/us-google-autos-accidents-idUSKBN0NX04I20150512
• “The autopilot sensors on the Model S failed to distinguish a white tractor-trailer crossing the highway against a bright
sky.”
• Tesla cars, also, recently ran into a bus. Unfortunatetly resulting in a death.
• https://www.theguardian.com/technology/2016/jun/30/tesla-autopilot-death-self-driving-
car-elon-musk
Why SLAM on IoT?
Sensor Corrections
Proximity Data
Weather Data
Cell phone Data
Traffic Data
This image cannot currently be
displayed.
Why SLAM on IoT?
Visual Data
Odometry
GPS
Vehicle Sensors
Kafka Messages Sensor Corrections
Proximity Data
Weather Data
Cell phone Data
Traffic Data
The Framework.
14
Business Processes &
Functions
Database Transactions
POS/Retail Transactions
Workforce/ workflow
Manufacturing
Production Line Optim.
Energy Management
Supply Chain Mgmt.
Smart Cities/Homes
Traffic Patterns/
Autonomous Vehicles
Public Transit
Energy/Water Mgmt
Medical Devices
Emergency Services
Cellular Data
More!
Drone/Robotic Delivery
Underwater/Space
Research
Nanobot Drug Delivery
SensorData
Kafka
• BiDirectional
Communication
• High/Variable
throughput
• Adaptive Latency
• Recovery
• Redundancy
• Metadata Analysis
• Sensor Integration
• ETL/Storage
• Distributed/Hybrid
Architecture
Multiple Sensor
Types
• Wifi/ Lan/Wan
• TCP/IP
• Bluetooth
• Cellular
• Mems
• Biological/ Chemical
Sensors
SparkStreaming/ML
• High Performance
Hybrid Cloud
• Real-Time
Analytics
• Semi-Supervised
Learning
• Variety of Machine
Learning
Algorithms
• Distributed
Storage
• Graphical Analysis
• Data Science at
your fingertips
• More!
More sensors, more problems.
15
The Framework: The Kafka’s in the Details.
16
Topic
Illustration 3. S1 Partition Management
Bot5:
30ms
Bot4:
25ms
A. Increase in sensors/bots
Bot1:
10ms
Sensor Interval
Detection
(10ms & 40ms)
Bot2:
10ms
Bot3:
40ms
Producer
Producer
Thread
10ms
Producer
Thread
40ms
Sensor Interval
Detection
(10ms,25ms,30ms,
40ms)
Producer
Producer
Thread
10ms
Producer
Thread
40ms
Producer
Thread
25ms & 30ms
Topic
C2 . Partition Doubling Optimization. All
partitions are at maximum expected
throughput, eg Bots arrive. We add 2
partitions (min needed partitions is 1) and
divide the sensor over the two partitions X/
2.
B. New Producer Threads
Spawned
C. Bots 4,5 are added to the
40ms partition b/c it is the
slowest. This happens for each
new sensor interval until max
throughput is reached.
Partition
10ms
(Bots 1,2)
Partition
40ms
(Bot 3)
Bot1:
10ms
Bot2:
10ms
Bot3:
40ms
Partition
10ms
(Bots 1,2)
Partition
40ms
(Bots 3,4,5)
Topic
Partition
10ms
(Bots 1,2)
Partition
5ms
(Bots X1)
Partition
40ms
(Bots 3,4,5)
Partition
45ms
(Bots X2)
Partition
Throughput
Monitor
The Framework: The Kafka’s in the Details.
17
This is the first of many machine learning entry points in our cloud. Let’s
assume a sensor is detected…..
• How do we determine what kind of sensor is it?
• What is the expected interval of communication of this sensor?
• What is an interval that indicates failure?
• Which vehicle is it connected to?
• What other sensors should we be expecting to integrate with it?
• What are the key intersections in this data, with our public data?
The Framework: The Kafka’s in the Details.
18
We need to model this as a machine learning problem and, in order to be efficient we need
this to happen in real-time or near real-time.
• Every sensor needs to be detected and distributed correctly in our messaging architecture.
• The attributes we looked at early can be modeled as features and hashed accordingly.
• The distribution needs to be correct and responsive.
• We need automated retraining on these algorithms to ensure our models don’t diverge and remain within a
certain boundary.
The Framework: Enter Real-Time Learning…
19
Kafka Producer
RealTime Streaming Data
Spark MlLib Streaming
Real-Time Consumption
Feature Extraction
Feature Hashing
Hashing Trick
Matrix Factorization
(omitted in POC)
Out-of-Core Component
RDD of All Data
(not in cache)
Timed/Event Based
Training on Historical
Dataset
Can Trigger Model
Updates
*very large data can use
subsampling
methodology
Background
Out-of-Core Processing
AllReduce Component
All Reduce Analysis of mini
batch data using dist. node
averaging
Can trigger Model Updates
Initiates semi-supervised
state, mini batches can be
sequential or subsampling
scheme
Background
In-Memory Processing
Spanning Tree Protocol
for AllReduce
(simulated in POC)
MiniBatches of RDD’s
distributed to nodes
Current Model Analysis
Model Monitor
Periodically tracks model
performance
poor performance initiates
trigger to background/ cache
processes for better model
parameters
Store current model
parameters
Current Model Parameters &
Performance Single Batch
Analysis
(min >= 1 record)
Cache of all model params and performance
Comparative analysis of cached model, implement best perform local, if curr
list of global performers < curr local, biased toward local
Global Cache Stores/Best
Performers Metrics from Out of
Core
Local Cache Stores/Best
Performers Metrics from
AllReduce
The Framework: Enter Real-Time Learning…
20
A Reliable Effective Terascale Linear Learning System, Agarwal et al.
The Framework: Implementation
21
The Approach
••Extended Kalman Filter (matrix based update/estimation)
••Nonlinear version of the Kalman filter which linearizes
about an estimate of the current mean and covariance.
de facto standard in the theory of nonlinear state
estimation eg navigation systems and GPS. (wiki)
••TurtleBot II (standard robotics research bot) (named PQ)
The Framework: Implementation
22
The Approach
The Framework
23
The Framework
24
Our cluster: IBM
SoftLayer cluster with 3
Nodes.
The Framework
25
IBM SoftLayer cluster with 3 Nodes.
Node 1:
Management
Node
Apache Kafka
(Multithreaded
Producers are
each assigned a
sensor)
Simulator/Sensor
Data
Mapping Agent
Node 2:
Hadoop/Spark
Spark Streaming
Consumer/ Apache
Kafka Producer to
Simulator
Spark Streaming
Spark ML
Analytics
Node 3:
Hadoop/Spark
Spark Streaming
Consumer/ Apache
Kafka Producer to
Simulator
Spark Streaming
Spark ML/
Analytics
The Framework
26
Apache
Kafka
Spark
Streaming
Spark ML/
Analytics
and
Computation
Apache
Kafka
Simulated
Turtlebot
• Odometry, pose and orientation data
for every movement.
• Laser scan data every 30ms with over
1200 data points per read!
• One robot and not even all the
sensors!
A high performing plug n play cloud for
smart robotics, drones and intelligent
systems that allows easily tuneable
interactions for scientists and industry in
any environment!
The Framework
27
A high performing plug n play cloud for smart robotics, drones and intelligent systems that allows
easily tuneable interactions for scientists and industry in any environment!
••EKF is calculated primarily using matrix operations!
••Distributed raw sensor data using Apache Kafka. Number of sensors limited
only by Kafka cluster!
••Improved performance using RDDs and Spark ML for computational intensive
tasks!
••Fast/optimized learning and analytics!
••Real-time sensor messaging!
••Easy sensor integration and scaling!
••Retention of data over time for improved optimizations and accuracy!
The Framework: Apache Kafka
28
Page 1 of 3untitled text 8
package com.kafka.producer;1
2
import org.apache.kafka.clients.producer.Producer;3
import org.apache.kafka.clients.producer.ProducerRecord;4
5
public class ProducerSim {6
7
public ProducerSim(ProducerSimConnect sim){8
try {9
10
//publish odometry data11
Thread threadOdom = new Thread("threadOdomSim") {12
13
public void run(){14
//instance must be created inside run class15
ProducerClass prod = new ProducerClass();16
Producer<String,String> prodr = prod.getProducer();17
18
//get odom file19
try {20
while(true){21
double[] odom = sim.getOdom();22
String odomLine =23
odom[1] +","+ odom[2] + ","+ odom[3];24
prodr.send(new ProducerRecord<String, String>25
("odom", String.valueOf(odom[0]),odomLine));26
prodr.flush();27
System.out.println("odom " + odomLine);28
//laser scanner intervals29
Thread.sleep(1000);30
}31
32
} catch (Exception e) {33
// TODO Auto-generated catch block34
e.printStackTrace();35
}36
37
}38
};39
40
//publish odometry data41
Thread threadLaser = new Thread("threadLaserSim") {42
public void run(){43
//instance must be new in each thread to maintain thread safety44
ProducerClass prod = new ProducerClass();45
Producer<String,String> prodr = prod.getProducer();46
The Framework: Spark Streaming
29
Spark Streaming Integration
Apache Spark Streaming Apache Kafka Consumer
Replaces Kafka Consumer Producer feeds directly to Spark Streaming
Adheres to fault tolerance policies incl. WAL
(write ahead logs to HDFS)
Not necessarily thread safe (Java Api)
KafkaUtils.createDirectStreamDirect w/o
Receivers in new version, better access to low
level Kafka metadata
Auto-commit feature, partition replication,
integration with Zookeeper. Finely tuned
metadata access and storage by topic and
partition
Microbatch processing and better integration
into Spark incl online learning
Buffered batches, developing streaming
analytics capabilities
The Framework: Spark Streaming
30
Page 1 of 3untitled text 8
public class Stream {1
private Set<String> topicSet;2
private Map<String, String> kafkaParams;3
private ArrayList<double[]> odometry;4
private ArrayList<ArrayList<double[]>> laserData;5
private Data d;6
7
public Stream(JavaSparkContext sc){8
//storage9
odometry = new ArrayList<double[]>();10
laserData = new ArrayList<ArrayList<double[]>>();11
d = new Data();12
13
//set batch size14
//streaming context15
JavaStreamingContext jssc =16
new JavaStreamingContext(sc, Durations.seconds(1));17
18
//topic list19
topicSet = new HashSet<String>(Arrays.asList("odom", "laser"));20
//parameter list21
kafkaParams = new HashMap<String, String>();22
kafkaParams.put("bootstrap.servers", "localhost:9092");23
kafkaParams.put("group.id", "ekf");24
//set at movement of robot25
kafkaParams.put("auto.commit.interval.ms", "1");26
kafkaParams.put("consumer.timeout.ms", "10");27
28
29
//connect to tcp30
/*JavaReceiverInputDStream<String> lines =31
jssc.socketTextStream("localhost", 10555);32
33
lines.print();*/34
35
JavaPairInputDStream<String, String> msg =36
KafkaUtils.createDirectStream(37
jssc,38
String.class,39
String.class,40
StringDecoder.class,41
StringDecoder.class,42
kafkaParams,43
topicSet44
);45
46
The Framework: Spark ML, RANSAC
31
Spark ML with RANSAC
••RANSAC
•• One of many iterative method to estimate parameters of a mathematical model
from a set of observed data which contains outliers.
•• Default methodology for determining whether a series of landmark forms a wall
or structure
••Ideal for consumption with high-throughput batches in Spark Streaming!
••Integrated as an online learning algorithm (This framework) as back-end
iterative process in Spark Streaming/ Spark!
The Framework: RANSAC
32
Page 1 of 3untitled text 8
/* Tuning Parameters1
* N – Max number of times to attempt to find lines.2
S – Number of samples to compute initial line.3
D – Degrees from initial reading to sample from.4
X – Max distance a reading may be from line to get associated to line.5
C – Number of points that must lie on a line for it to be taken as a line.6
*/7
8
//RANSAC Parameters9
final static int MAX_ITERATIONS = 10;10
final static int SAMPLES = 5;11
final static int DEGREE_RANGE = 10;12
final static int MAX_INLIER_DISTANCE = 3; //in cm/inches13
final static int MIN_LINE_SIZE = 10; //in number of points14
15
//ml vars16
SQLContext sqlContext;17
DataFrame training;18
19
//SLAM vars20
final static int LIFE = 40; //time to discard landmark ???21
final static double MAXRANGE = 1;22
final static double DEGREESPERSCAN = 0.5; //??23
24
//landmark25
ArrayList<Landmark2> landmarkDB; //track landmarks, change to RDD26
27
public Landmark2(){28
//landmarkDB = new ArrayList<Landmark2>();29
30
sqlContext = new org.apache.spark.sql.SQLContext(sc);31
32
// Load a text file and convert each line to a JavaBean.33
JavaRDD<String> readings =34
sc.textFile("sample_laser_range_cartesion_data.txt");35
36
// The schema is encoded in a string37
String schemaString = "x y";38
39
// Generate the schema based on the string of schema40
List<StructField> fields = new ArrayList<StructField>();41
for (String fieldName: schemaString.split(" ")) {42
fields.add(DataTypes.createStructField(fieldName, DataTypes.StringType, true));43
}44
fields.add(new StructField("features", new VectorUDT(), false, Metadata.empty()));45
fields.add(new StructField("label", DataTypes.DoubleType, false, Metadata.empty()));46
The Results
33
Key Challenges
••Network Latency
••Embedded vs Framework
••Matrix computations and updates to large matrices
••Jacobian (derivatives), Inversion, Transpositon, Multiplication, Addition/
Subtraction, Gaussian
••Covariance/Estimation computations
••Coordinating movement with computation
••Spark ML to correctly interpret visual landmark data, minimizing errors
The Results
34
Challenges
••~4KLOC (Java != verbose J)
•• Java lambda documentation
••Kafka topics from Spark Streaming consumer
••Real-life latency depends on the type of connection and
creates additional noise
••Matrix computation
••Defining heuristics
The Results
35
Measuring landmark acquisition and cpu time Embedded vs Framework at 500
iterations.
The Results
36
Measuring landmark acquisition and cpu time Embedded vs Framework at 500
iterations.
Framework completed 500 iterations
with expected exponential growth
Embedded failed to complete
at 500 iterations (up to ~300)
The Results
37
Measuring landmark acquisition and cpu time Embedded vs Framework for complete
map. Both installations were run until the number of landmarks/maps were roughly
equivalent and iterations marked.
Iterations: ~100, Time ~2 min Iterations: ~100, Time ~30-40s
The Results
38
Next Steps
39
• Automated Message Identification and Partition Management
• Expanded stochastic analysis beyond gradient descent
• Kalman Filter and Extended Kalman Filter
• Improving accuracy and precision with an end to end pipeline that allows
customization/optimization
• Path Planning algorithms to improve search and search times
• Incorporate swarms/particles
• A complete robotics library or even extension to handle robotics, computer
vision or any of the ai/machine learning problems specifics to robotics publishable
and opens the door to a whole new group of scientists.
• Further scaling and optimization with robotic swarms and rapid/increased
volume sensor data
Demo
40
38
Contact Information:
J. White Bear (jwhiteb@us.ibm.com)
IBM Spark Technology Center
425 Market St San Francisco, CA

More Related Content

What's hot

Technology Introduction Series: Edge Computing tutorial.pdf
Technology Introduction Series: Edge Computing tutorial.pdfTechnology Introduction Series: Edge Computing tutorial.pdf
Technology Introduction Series: Edge Computing tutorial.pdf3G4G
 
Googleの新しい検索技術 Knowledge Graphについて
Googleの新しい検索技術 Knowledge GraphについてGoogleの新しい検索技術 Knowledge Graphについて
Googleの新しい検索技術 Knowledge Graphについてmaruyama097
 
SLAM技術分享 (輪型機器人的移動議題)
SLAM技術分享 (輪型機器人的移動議題)SLAM技術分享 (輪型機器人的移動議題)
SLAM技術分享 (輪型機器人的移動議題)Kung-Han Chen
 
Fire fighting Robot
Fire fighting RobotFire fighting Robot
Fire fighting RobotAnjan991
 
Ffr seminar presentation
Ffr seminar presentationFfr seminar presentation
Ffr seminar presentationSumit Pandit
 
gsk Invisible eye advanced security system ppt
gsk Invisible eye advanced security system pptgsk Invisible eye advanced security system ppt
gsk Invisible eye advanced security system pptG Santhosh kumar gsk
 
Edge Computing & AI
Edge Computing & AIEdge Computing & AI
Edge Computing & AIPaul O'Hagan
 
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装についてMobileRoboticsResear
 
Hacking Internet of Things (IoT)
Hacking Internet of Things (IoT)Hacking Internet of Things (IoT)
Hacking Internet of Things (IoT)SecPod Technologies
 
Two wheel self balancing robot
 Two wheel self balancing robot Two wheel self balancing robot
Two wheel self balancing robotadeela aslam
 
Mobile Gateway for ROS2 Systems with Zenoh
Mobile Gateway for ROS2 Systems with ZenohMobile Gateway for ROS2 Systems with Zenoh
Mobile Gateway for ROS2 Systems with ZenohGergely Kis
 
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Koichi Hamada
 
Line Following Robot Using Arduino
Line Following Robot Using ArduinoLine Following Robot Using Arduino
Line Following Robot Using ArduinoSamuel Manoj Palani
 
Security challenges for IoT
Security challenges for IoTSecurity challenges for IoT
Security challenges for IoTWSO2
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)Tetsuyuki Kobayashi
 
Automatic Fire Fighting Robot by St John College
Automatic Fire Fighting Robot by St John CollegeAutomatic Fire Fighting Robot by St John College
Automatic Fire Fighting Robot by St John CollegeNidhiRaut7
 

What's hot (20)

Technology Introduction Series: Edge Computing tutorial.pdf
Technology Introduction Series: Edge Computing tutorial.pdfTechnology Introduction Series: Edge Computing tutorial.pdf
Technology Introduction Series: Edge Computing tutorial.pdf
 
Googleの新しい検索技術 Knowledge Graphについて
Googleの新しい検索技術 Knowledge GraphについてGoogleの新しい検索技術 Knowledge Graphについて
Googleの新しい検索技術 Knowledge Graphについて
 
SLAM技術分享 (輪型機器人的移動議題)
SLAM技術分享 (輪型機器人的移動議題)SLAM技術分享 (輪型機器人的移動議題)
SLAM技術分享 (輪型機器人的移動議題)
 
Fire fighting Robot
Fire fighting RobotFire fighting Robot
Fire fighting Robot
 
Ffr seminar presentation
Ffr seminar presentationFfr seminar presentation
Ffr seminar presentation
 
gsk Invisible eye advanced security system ppt
gsk Invisible eye advanced security system pptgsk Invisible eye advanced security system ppt
gsk Invisible eye advanced security system ppt
 
Edge Computing & AI
Edge Computing & AIEdge Computing & AI
Edge Computing & AI
 
Jsai
JsaiJsai
Jsai
 
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について
【RSJ2021】LiDAR SLAMにおける高信頼なループ閉合の実装について
 
fire fighting robot
fire fighting robotfire fighting robot
fire fighting robot
 
Hacking Internet of Things (IoT)
Hacking Internet of Things (IoT)Hacking Internet of Things (IoT)
Hacking Internet of Things (IoT)
 
Two wheel self balancing robot
 Two wheel self balancing robot Two wheel self balancing robot
Two wheel self balancing robot
 
Mobile Gateway for ROS2 Systems with Zenoh
Mobile Gateway for ROS2 Systems with ZenohMobile Gateway for ROS2 Systems with Zenoh
Mobile Gateway for ROS2 Systems with Zenoh
 
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
Laplacian Pyramid of Generative Adversarial Networks (LAPGAN) - NIPS2015読み会 #...
 
Line Following Robot Using Arduino
Line Following Robot Using ArduinoLine Following Robot Using Arduino
Line Following Robot Using Arduino
 
Security challenges for IoT
Security challenges for IoTSecurity challenges for IoT
Security challenges for IoT
 
IoT Basics
IoT BasicsIoT Basics
IoT Basics
 
IoT/M2M Security
IoT/M2M SecurityIoT/M2M Security
IoT/M2M Security
 
組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)組み込みLinuxでのGolangのススメ(Go con版)
組み込みLinuxでのGolangのススメ(Go con版)
 
Automatic Fire Fighting Robot by St John College
Automatic Fire Fighting Robot by St John CollegeAutomatic Fire Fighting Robot by St John College
Automatic Fire Fighting Robot by St John College
 

Viewers also liked

Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...
Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...
Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...Spark Summit
 
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...Spark Summit
 
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli Spark Summit
 
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...Spark Summit
 
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...Spark Summit
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark Summit
 
Realtime Analytical Query Processing and Predictive Model Building on High Di...
Realtime Analytical Query Processing and Predictive Model Building on High Di...Realtime Analytical Query Processing and Predictive Model Building on High Di...
Realtime Analytical Query Processing and Predictive Model Building on High Di...Spark Summit
 
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...Spark Summit
 
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Spark Summit
 
Scalable Data Science with SparkR: Spark Summit East talk by Felix Cheung
Scalable Data Science with SparkR: Spark Summit East talk by Felix CheungScalable Data Science with SparkR: Spark Summit East talk by Felix Cheung
Scalable Data Science with SparkR: Spark Summit East talk by Felix CheungSpark Summit
 
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...Spark Summit
 
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...Spark Summit
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Spark Summit
 
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...Spark Summit
 
FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...
 FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by... FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...
FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...Spark Summit
 
Using SparkR to Scale Data Science Applications in Production. Lessons from t...
Using SparkR to Scale Data Science Applications in Production. Lessons from t...Using SparkR to Scale Data Science Applications in Production. Lessons from t...
Using SparkR to Scale Data Science Applications in Production. Lessons from t...Spark Summit
 
Spark and Online Analytics: Spark Summit East talky by Shubham Chopra
Spark and Online Analytics: Spark Summit East talky by Shubham ChopraSpark and Online Analytics: Spark Summit East talky by Shubham Chopra
Spark and Online Analytics: Spark Summit East talky by Shubham ChopraSpark Summit
 
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Spark Summit
 
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...Spark Summit
 
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Summit
 

Viewers also liked (20)

Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...
Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...
Distributed Real-Time Stream Processing: Why and How: Spark Summit East talk ...
 
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...
R&D to Product Pipeline Using Apache Spark in AdTech: Spark Summit East talk ...
 
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
Virtualizing Analytics with Apache Spark: Keynote by Arsalan Tavakoli
 
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...
Practical Large Scale Experiences with Spark 2.0 Machine Learning: Spark Summ...
 
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
Powering Predictive Mapping at Scale with Spark, Kafka, and Elastic Search: S...
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
 
Realtime Analytical Query Processing and Predictive Model Building on High Di...
Realtime Analytical Query Processing and Predictive Model Building on High Di...Realtime Analytical Query Processing and Predictive Model Building on High Di...
Realtime Analytical Query Processing and Predictive Model Building on High Di...
 
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...
High Resolution Energy Modeling that Scales with Apache Spark 2.0 Spark Summi...
 
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
Scaling Apache Spark MLlib to Billions of Parameters: Spark Summit East talk ...
 
Scalable Data Science with SparkR: Spark Summit East talk by Felix Cheung
Scalable Data Science with SparkR: Spark Summit East talk by Felix CheungScalable Data Science with SparkR: Spark Summit East talk by Felix Cheung
Scalable Data Science with SparkR: Spark Summit East talk by Felix Cheung
 
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...
Sketching Data with T-Digest In Apache Spark: Spark Summit East talk by Erik ...
 
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...
Apache Spark for Machine Learning with High Dimensional Labels: Spark Summit ...
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...
Unlocking Value in Device Data Using Spark: Spark Summit East talk by John La...
 
FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...
 FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by... FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...
FIS: Accelerating Digital Intelligence in FinTech: Spark Summit East talk by...
 
Using SparkR to Scale Data Science Applications in Production. Lessons from t...
Using SparkR to Scale Data Science Applications in Production. Lessons from t...Using SparkR to Scale Data Science Applications in Production. Lessons from t...
Using SparkR to Scale Data Science Applications in Production. Lessons from t...
 
Spark and Online Analytics: Spark Summit East talky by Shubham Chopra
Spark and Online Analytics: Spark Summit East talky by Shubham ChopraSpark and Online Analytics: Spark Summit East talky by Shubham Chopra
Spark and Online Analytics: Spark Summit East talky by Shubham Chopra
 
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
Building Real-Time BI Systems with Kafka, Spark, and Kudu: Spark Summit East ...
 
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...
Modeling Catastrophic Events in Spark: Spark Summit East Talk by Georg Hofman...
 
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence SpracklenSpark Autotuning: Spark Summit East talk by Lawrence Spracklen
Spark Autotuning: Spark Summit East talk by Lawrence Spracklen
 

Similar to IoT and the Autonomous Vehicle in the Clouds: Simultaneous Localization and Mapping (SLAM) with Kafka and Spark Streaming: Spark Summit East talk by Jay White Bear

Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...
Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...
Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...Provectus
 
Architecting IoT with Machine Learning
Architecting IoT with Machine LearningArchitecting IoT with Machine Learning
Architecting IoT with Machine LearningRudradeb Mitra
 
Autonomous Vehicles: the Intersection of Robotics and Artificial Intelligence
Autonomous Vehicles: the Intersection of Robotics and Artificial IntelligenceAutonomous Vehicles: the Intersection of Robotics and Artificial Intelligence
Autonomous Vehicles: the Intersection of Robotics and Artificial IntelligenceWiley Jones
 
Machine-Learning-and-Robotics.pptx
Machine-Learning-and-Robotics.pptxMachine-Learning-and-Robotics.pptx
Machine-Learning-and-Robotics.pptxshohel rana
 
Barga ACM DEBS 2013 Keynote
Barga ACM DEBS 2013 KeynoteBarga ACM DEBS 2013 Keynote
Barga ACM DEBS 2013 KeynoteRoger Barga
 
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...James Crawshaw
 
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial IntelligenceLIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial IntelligenceJason Creadore 🌐
 
Zühlke Meetup - Mai 2017
Zühlke Meetup - Mai 2017Zühlke Meetup - Mai 2017
Zühlke Meetup - Mai 2017Boris Adryan
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learningpratik pratyay
 
The unknown spatial quality of dense point clouds derived from stereo images
The unknown spatial quality of dense point clouds derived from stereo imagesThe unknown spatial quality of dense point clouds derived from stereo images
The unknown spatial quality of dense point clouds derived from stereo imagesieeepondy
 
Iit 1782 designing for the internet of things (io t) v4 gb
Iit 1782 designing for the internet of things (io t) v4 gbIit 1782 designing for the internet of things (io t) v4 gb
Iit 1782 designing for the internet of things (io t) v4 gbGraham Bleakley
 
AI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousAI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousRaffael Marty
 
GANS Artifical Intelligence Assigmentt 7.pptx
GANS Artifical Intelligence Assigmentt 7.pptxGANS Artifical Intelligence Assigmentt 7.pptx
GANS Artifical Intelligence Assigmentt 7.pptxamazingsun810
 
陸永祥/全球網路攝影機帶來的機會與挑戰
陸永祥/全球網路攝影機帶來的機會與挑戰陸永祥/全球網路攝影機帶來的機會與挑戰
陸永祥/全球網路攝影機帶來的機會與挑戰台灣資料科學年會
 
Welcome Our Robot Overlords
Welcome Our Robot OverlordsWelcome Our Robot Overlords
Welcome Our Robot OverlordsCloudCheckr
 
How AI is Disrupting Traffic Management in Smart City
How AI is DisruptingTraffic Management in Smart CityHow AI is DisruptingTraffic Management in Smart City
How AI is Disrupting Traffic Management in Smart CityJorge Sebastiao
 

Similar to IoT and the Autonomous Vehicle in the Clouds: Simultaneous Localization and Mapping (SLAM) with Kafka and Spark Streaming: Spark Summit East talk by Jay White Bear (20)

Spark Technology Center IBM
Spark Technology Center IBMSpark Technology Center IBM
Spark Technology Center IBM
 
Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...
Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...
Data Summer Conf 2018, “Architecting IoT system with Machine Learning (ENG)” ...
 
Architecting IoT with Machine Learning
Architecting IoT with Machine LearningArchitecting IoT with Machine Learning
Architecting IoT with Machine Learning
 
Autonomous Vehicles: the Intersection of Robotics and Artificial Intelligence
Autonomous Vehicles: the Intersection of Robotics and Artificial IntelligenceAutonomous Vehicles: the Intersection of Robotics and Artificial Intelligence
Autonomous Vehicles: the Intersection of Robotics and Artificial Intelligence
 
Smart car
Smart carSmart car
Smart car
 
Machine-Learning-and-Robotics.pptx
Machine-Learning-and-Robotics.pptxMachine-Learning-and-Robotics.pptx
Machine-Learning-and-Robotics.pptx
 
Barga ACM DEBS 2013 Keynote
Barga ACM DEBS 2013 KeynoteBarga ACM DEBS 2013 Keynote
Barga ACM DEBS 2013 Keynote
 
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...
The Scope for Robotic Process Automation & Machine Learning in Telecom Operat...
 
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial IntelligenceLIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
LIDAR Magizine 2015: The Birth of 3D Mapping Artificial Intelligence
 
Zühlke Meetup - Mai 2017
Zühlke Meetup - Mai 2017Zühlke Meetup - Mai 2017
Zühlke Meetup - Mai 2017
 
Real Time Object Dectection using machine learning
Real Time Object Dectection using machine learningReal Time Object Dectection using machine learning
Real Time Object Dectection using machine learning
 
IoT Robot
IoT RobotIoT Robot
IoT Robot
 
The unknown spatial quality of dense point clouds derived from stereo images
The unknown spatial quality of dense point clouds derived from stereo imagesThe unknown spatial quality of dense point clouds derived from stereo images
The unknown spatial quality of dense point clouds derived from stereo images
 
Iit 1782 designing for the internet of things (io t) v4 gb
Iit 1782 designing for the internet of things (io t) v4 gbIit 1782 designing for the internet of things (io t) v4 gb
Iit 1782 designing for the internet of things (io t) v4 gb
 
AI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are DangerousAI & ML in Cyber Security - Why Algorithms Are Dangerous
AI & ML in Cyber Security - Why Algorithms Are Dangerous
 
GANS Artifical Intelligence Assigmentt 7.pptx
GANS Artifical Intelligence Assigmentt 7.pptxGANS Artifical Intelligence Assigmentt 7.pptx
GANS Artifical Intelligence Assigmentt 7.pptx
 
slide-171212080528.pptx
slide-171212080528.pptxslide-171212080528.pptx
slide-171212080528.pptx
 
陸永祥/全球網路攝影機帶來的機會與挑戰
陸永祥/全球網路攝影機帶來的機會與挑戰陸永祥/全球網路攝影機帶來的機會與挑戰
陸永祥/全球網路攝影機帶來的機會與挑戰
 
Welcome Our Robot Overlords
Welcome Our Robot OverlordsWelcome Our Robot Overlords
Welcome Our Robot Overlords
 
How AI is Disrupting Traffic Management in Smart City
How AI is DisruptingTraffic Management in Smart CityHow AI is DisruptingTraffic Management in Smart City
How AI is Disrupting Traffic Management in Smart City
 

More from Spark Summit

FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang Spark Summit
 
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...Spark Summit
 
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang WuSpark Summit
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya RaghavendraSpark Summit
 
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...Spark Summit
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...Spark Summit
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingSpark Summit
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingSpark Summit
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...Spark Summit
 
Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakSpark Summit
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimSpark Summit
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraSpark Summit
 
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Spark Summit
 
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...Spark Summit
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spark Summit
 
Goal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovGoal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovSpark Summit
 
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Spark Summit
 
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkGetting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkSpark Summit
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Spark Summit
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...Spark Summit
 

More from Spark Summit (20)

FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
FPGA-Based Acceleration Architecture for Spark SQL Qi Xie and Quanfu Wang
 
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
VEGAS: The Missing Matplotlib for Scala/Apache Spark with DB Tsai and Roger M...
 
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang WuApache Spark Structured Streaming Helps Smart Manufacturing with  Xiaochang Wu
Apache Spark Structured Streaming Helps Smart Manufacturing with Xiaochang Wu
 
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data  with Ramya RaghavendraImproving Traffic Prediction Using Weather Data  with Ramya Raghavendra
Improving Traffic Prediction Using Weather Data with Ramya Raghavendra
 
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
A Tale of Two Graph Frameworks on Spark: GraphFrames and Tinkerpop OLAP Artem...
 
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
No More Cumbersomeness: Automatic Predictive Modeling on Apache Spark Marcin ...
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
Apache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim DowlingApache Spark and Tensorflow as a Service with Jim Dowling
Apache Spark and Tensorflow as a Service with Jim Dowling
 
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...
 
Next CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub WozniakNext CERN Accelerator Logging Service with Jakub Wozniak
Next CERN Accelerator Logging Service with Jakub Wozniak
 
Powering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin KimPowering a Startup with Apache Spark with Kevin Kim
Powering a Startup with Apache Spark with Kevin Kim
 
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya RaghavendraImproving Traffic Prediction Using Weather Datawith Ramya Raghavendra
Improving Traffic Prediction Using Weather Datawith Ramya Raghavendra
 
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
Hiding Apache Spark Complexity for Fast Prototyping of Big Data Applications—...
 
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...How Nielsen Utilized Databricks for Large-Scale Research and Development with...
How Nielsen Utilized Databricks for Large-Scale Research and Development with...
 
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
Spline: Apache Spark Lineage not Only for the Banking Industry with Marek Nov...
 
Goal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim SimeonovGoal Based Data Production with Sim Simeonov
Goal Based Data Production with Sim Simeonov
 
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
Preventing Revenue Leakage and Monitoring Distributed Systems with Machine Le...
 
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir VolkGetting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
 
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
Deduplication and Author-Disambiguation of Streaming Records via Supervised M...
 
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
MatFast: In-Memory Distributed Matrix Computation Processing and Optimization...
 

Recently uploaded

Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlkumarajju5765
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...shambhavirathore45
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 

Recently uploaded (20)

Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girlCall Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
Call Girls 🫤 Dwarka ➡️ 9711199171 ➡️ Delhi 🫦 Two shot with one girl
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 

IoT and the Autonomous Vehicle in the Clouds: Simultaneous Localization and Mapping (SLAM) with Kafka and Spark Streaming: Spark Summit East talk by Jay White Bear

  • 1. IOT AND THE AUTONOMOUS VEHICLE IN THE CLOUDS: SIMULTANEOUS LOCALIZATION AND MAPPING (SLAM) WITH KAFKA AND SPARK STREAMING J. White Bear IBM, Spark STC
  • 2. About Me Education • University of Michigan- Computer Science • Databases, Machine Learning/Computational Biology, Cryptography • University of California San Francisco, University of California Berkeley- • Multi-objective Optimization/Computational Biology/Bioinformatics • McGill University • Machine Learning/ Multi-objective Optimization for Path Planning/ Cryptography Industry • IBM • Amazon • TeraGrid • Pfizer • Research at UC Berkeley, Purdue University, and every university I ever attended. J Fun Facts (?) I love research for its own sake. I like robots, helping to cure diseases, advocating for social change and reform, and breaking encryptions. Also, all activities involving the Ocean and I usually hate taking pictures. J
  • 3. Introduction: Robotics Today FIRST Robotics World Championship NASA Glenn Research Center in Cleveland sponsored Tri-C's team. Tartan Racing’s Boss, the robotic SUV that won the 2007 DARPA Urban Challenge, South Korean Team, KAIST wins the DARPA Robot Challenge Amazon Drones
  • 4. Introduction: Robotics Tomorrow Navigate stores, museums and other indoor locations, with directions overlaid onto your surroundings. Google Tango Nanorobots wade through blood to deliver drugs Space/underground/underwater rescue and exploration. Places humans can’t go. SLaM and ML on automated wheelchair
  • 5. What is SLAM? Simultaneous Localization and Mapping (SLAM) ••Formal Definition ••Given a series of sensor observations over discrete time steps the SLAM problem is to compute an estimate of the agent's location and a map of the environment. All quantities are usually probabilistic, so the objective is to compute: ••Computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. ••SLAM algorithms use various implementations to attempt to find heuristics to make this problem tractable using machine learning and probabilistic models ••GPS cannot account for unknown barriers, precision navigation, moving objects, or any areas with satellite interference including weather phenomena.
  • 6. What is SLAM? What are some of the key challenges in SLAM? ••Computer vision correctly and identifying images observed ••Moving objects Non-static environments, such as those containing other vehicles or pedestrians, continue to present research challenges. (collision detection) ••Data Association-refers to the problem of ascertaining which parts of one image correspond to which parts of another image, where differences are due to movement of the camera, the elapse of time, and/or movement of objects in the photos. ••Loop closure is the problem of recognizing a previously visited location and updating the states accordingly.
  • 8. Why SLAM on IoT? SLAM in IoT ••"[SLAM] is one of the fundamental challenges of robotics . . . [but it] seems that almost all the current approaches can not perform consistent maps for large areas, mainly due to the increase of the computational cost and due to the uncertainties that become prohibitive when the scenario becomes larger."[12] Generally, complete 3D SLAM solutions are highly computationally intensive as they use complex real-time particle filters, sub-mapping strategies or hierarchical combination of metric topological representations, etc. (Wiki) ••Computational costs become prohibitive on embedded systems, especially smaller robotic modules. The data becomes large and the calculations and corrections over time and space become much more important. Specifically, SlaM increases exponentially with the number of landmarks found. ••The state uncertainty increase with time and space, and must be bounded by some form of machine learning to predict and use accurate corrections in the algorithm ••Additional sensors, rapid movements, processing visual input adds additional computational burdens…
  • 9. Why SLAM on IoT? The Benefits ••Seamless integration and scaling allowing users to easily improve the heuristics of the algorithm without losing any of the performance expectations of an embedded system. ••Including smart cities, lawn mowing, dog walking, kitchen appliances, or even communication inside the human body creating a truly unique interaction between humans and robotics ••Large scale evaluation of performance metrics for all IoT systems (Big Data) ••Monitoring and control of sensors based on stored data (eg reducing sensor usage to conserve power)
  • 10. Why SLAM on IoT? Current Approaches ••Robot Operating System (ROS) a collection of software frameworks for robot software development ••Providing operating system-like functionality on a heterogeneous computer cluster. ••Hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management. ••No true real-time analytics! Despite the importance of reactivity and low latency in robot control, ROS is not a Realtime OS ••Difficult to scale in IoT! Adding a heterogenous swarm, or integrating interactions requires significant planning. ••There is a need! Are there any plans to build Kalman filtering and system identification into this framework? https://github.com/sryza/spark-timeseries/issues/19 ••We need a framework that can do this! Enter Apache Kafka and Spark Streaming!
  • 11. Why SLAM on IoT? Why build an ATV in isolation? “Google is trying to teach its cars to think more like humans. Google’s explanation of the incident ….” • Google cars have been involved in multiple accidents. Like many drivers, Googles blames the other non ATV drivers on the roads, humans. • http://gizmodo.com/a-google-self-driving-car-got-into-a-crash-with-a-bus-1762007421 • http://www.reuters.com/article/us-google-autos-accidents-idUSKBN0NX04I20150512 • “The autopilot sensors on the Model S failed to distinguish a white tractor-trailer crossing the highway against a bright sky.” • Tesla cars, also, recently ran into a bus. Unfortunatetly resulting in a death. • https://www.theguardian.com/technology/2016/jun/30/tesla-autopilot-death-self-driving- car-elon-musk
  • 12. Why SLAM on IoT? Sensor Corrections Proximity Data Weather Data Cell phone Data Traffic Data This image cannot currently be displayed.
  • 13. Why SLAM on IoT? Visual Data Odometry GPS Vehicle Sensors Kafka Messages Sensor Corrections Proximity Data Weather Data Cell phone Data Traffic Data
  • 14. The Framework. 14 Business Processes & Functions Database Transactions POS/Retail Transactions Workforce/ workflow Manufacturing Production Line Optim. Energy Management Supply Chain Mgmt. Smart Cities/Homes Traffic Patterns/ Autonomous Vehicles Public Transit Energy/Water Mgmt Medical Devices Emergency Services Cellular Data More! Drone/Robotic Delivery Underwater/Space Research Nanobot Drug Delivery SensorData Kafka • BiDirectional Communication • High/Variable throughput • Adaptive Latency • Recovery • Redundancy • Metadata Analysis • Sensor Integration • ETL/Storage • Distributed/Hybrid Architecture Multiple Sensor Types • Wifi/ Lan/Wan • TCP/IP • Bluetooth • Cellular • Mems • Biological/ Chemical Sensors SparkStreaming/ML • High Performance Hybrid Cloud • Real-Time Analytics • Semi-Supervised Learning • Variety of Machine Learning Algorithms • Distributed Storage • Graphical Analysis • Data Science at your fingertips • More!
  • 15. More sensors, more problems. 15
  • 16. The Framework: The Kafka’s in the Details. 16 Topic Illustration 3. S1 Partition Management Bot5: 30ms Bot4: 25ms A. Increase in sensors/bots Bot1: 10ms Sensor Interval Detection (10ms & 40ms) Bot2: 10ms Bot3: 40ms Producer Producer Thread 10ms Producer Thread 40ms Sensor Interval Detection (10ms,25ms,30ms, 40ms) Producer Producer Thread 10ms Producer Thread 40ms Producer Thread 25ms & 30ms Topic C2 . Partition Doubling Optimization. All partitions are at maximum expected throughput, eg Bots arrive. We add 2 partitions (min needed partitions is 1) and divide the sensor over the two partitions X/ 2. B. New Producer Threads Spawned C. Bots 4,5 are added to the 40ms partition b/c it is the slowest. This happens for each new sensor interval until max throughput is reached. Partition 10ms (Bots 1,2) Partition 40ms (Bot 3) Bot1: 10ms Bot2: 10ms Bot3: 40ms Partition 10ms (Bots 1,2) Partition 40ms (Bots 3,4,5) Topic Partition 10ms (Bots 1,2) Partition 5ms (Bots X1) Partition 40ms (Bots 3,4,5) Partition 45ms (Bots X2) Partition Throughput Monitor
  • 17. The Framework: The Kafka’s in the Details. 17 This is the first of many machine learning entry points in our cloud. Let’s assume a sensor is detected….. • How do we determine what kind of sensor is it? • What is the expected interval of communication of this sensor? • What is an interval that indicates failure? • Which vehicle is it connected to? • What other sensors should we be expecting to integrate with it? • What are the key intersections in this data, with our public data?
  • 18. The Framework: The Kafka’s in the Details. 18 We need to model this as a machine learning problem and, in order to be efficient we need this to happen in real-time or near real-time. • Every sensor needs to be detected and distributed correctly in our messaging architecture. • The attributes we looked at early can be modeled as features and hashed accordingly. • The distribution needs to be correct and responsive. • We need automated retraining on these algorithms to ensure our models don’t diverge and remain within a certain boundary.
  • 19. The Framework: Enter Real-Time Learning… 19 Kafka Producer RealTime Streaming Data Spark MlLib Streaming Real-Time Consumption Feature Extraction Feature Hashing Hashing Trick Matrix Factorization (omitted in POC) Out-of-Core Component RDD of All Data (not in cache) Timed/Event Based Training on Historical Dataset Can Trigger Model Updates *very large data can use subsampling methodology Background Out-of-Core Processing AllReduce Component All Reduce Analysis of mini batch data using dist. node averaging Can trigger Model Updates Initiates semi-supervised state, mini batches can be sequential or subsampling scheme Background In-Memory Processing Spanning Tree Protocol for AllReduce (simulated in POC) MiniBatches of RDD’s distributed to nodes Current Model Analysis Model Monitor Periodically tracks model performance poor performance initiates trigger to background/ cache processes for better model parameters Store current model parameters Current Model Parameters & Performance Single Batch Analysis (min >= 1 record) Cache of all model params and performance Comparative analysis of cached model, implement best perform local, if curr list of global performers < curr local, biased toward local Global Cache Stores/Best Performers Metrics from Out of Core Local Cache Stores/Best Performers Metrics from AllReduce
  • 20. The Framework: Enter Real-Time Learning… 20 A Reliable Effective Terascale Linear Learning System, Agarwal et al.
  • 21. The Framework: Implementation 21 The Approach ••Extended Kalman Filter (matrix based update/estimation) ••Nonlinear version of the Kalman filter which linearizes about an estimate of the current mean and covariance. de facto standard in the theory of nonlinear state estimation eg navigation systems and GPS. (wiki) ••TurtleBot II (standard robotics research bot) (named PQ)
  • 24. The Framework 24 Our cluster: IBM SoftLayer cluster with 3 Nodes.
  • 25. The Framework 25 IBM SoftLayer cluster with 3 Nodes. Node 1: Management Node Apache Kafka (Multithreaded Producers are each assigned a sensor) Simulator/Sensor Data Mapping Agent Node 2: Hadoop/Spark Spark Streaming Consumer/ Apache Kafka Producer to Simulator Spark Streaming Spark ML Analytics Node 3: Hadoop/Spark Spark Streaming Consumer/ Apache Kafka Producer to Simulator Spark Streaming Spark ML/ Analytics
  • 26. The Framework 26 Apache Kafka Spark Streaming Spark ML/ Analytics and Computation Apache Kafka Simulated Turtlebot • Odometry, pose and orientation data for every movement. • Laser scan data every 30ms with over 1200 data points per read! • One robot and not even all the sensors! A high performing plug n play cloud for smart robotics, drones and intelligent systems that allows easily tuneable interactions for scientists and industry in any environment!
  • 27. The Framework 27 A high performing plug n play cloud for smart robotics, drones and intelligent systems that allows easily tuneable interactions for scientists and industry in any environment! ••EKF is calculated primarily using matrix operations! ••Distributed raw sensor data using Apache Kafka. Number of sensors limited only by Kafka cluster! ••Improved performance using RDDs and Spark ML for computational intensive tasks! ••Fast/optimized learning and analytics! ••Real-time sensor messaging! ••Easy sensor integration and scaling! ••Retention of data over time for improved optimizations and accuracy!
  • 28. The Framework: Apache Kafka 28 Page 1 of 3untitled text 8 package com.kafka.producer;1 2 import org.apache.kafka.clients.producer.Producer;3 import org.apache.kafka.clients.producer.ProducerRecord;4 5 public class ProducerSim {6 7 public ProducerSim(ProducerSimConnect sim){8 try {9 10 //publish odometry data11 Thread threadOdom = new Thread("threadOdomSim") {12 13 public void run(){14 //instance must be created inside run class15 ProducerClass prod = new ProducerClass();16 Producer<String,String> prodr = prod.getProducer();17 18 //get odom file19 try {20 while(true){21 double[] odom = sim.getOdom();22 String odomLine =23 odom[1] +","+ odom[2] + ","+ odom[3];24 prodr.send(new ProducerRecord<String, String>25 ("odom", String.valueOf(odom[0]),odomLine));26 prodr.flush();27 System.out.println("odom " + odomLine);28 //laser scanner intervals29 Thread.sleep(1000);30 }31 32 } catch (Exception e) {33 // TODO Auto-generated catch block34 e.printStackTrace();35 }36 37 }38 };39 40 //publish odometry data41 Thread threadLaser = new Thread("threadLaserSim") {42 public void run(){43 //instance must be new in each thread to maintain thread safety44 ProducerClass prod = new ProducerClass();45 Producer<String,String> prodr = prod.getProducer();46
  • 29. The Framework: Spark Streaming 29 Spark Streaming Integration Apache Spark Streaming Apache Kafka Consumer Replaces Kafka Consumer Producer feeds directly to Spark Streaming Adheres to fault tolerance policies incl. WAL (write ahead logs to HDFS) Not necessarily thread safe (Java Api) KafkaUtils.createDirectStreamDirect w/o Receivers in new version, better access to low level Kafka metadata Auto-commit feature, partition replication, integration with Zookeeper. Finely tuned metadata access and storage by topic and partition Microbatch processing and better integration into Spark incl online learning Buffered batches, developing streaming analytics capabilities
  • 30. The Framework: Spark Streaming 30 Page 1 of 3untitled text 8 public class Stream {1 private Set<String> topicSet;2 private Map<String, String> kafkaParams;3 private ArrayList<double[]> odometry;4 private ArrayList<ArrayList<double[]>> laserData;5 private Data d;6 7 public Stream(JavaSparkContext sc){8 //storage9 odometry = new ArrayList<double[]>();10 laserData = new ArrayList<ArrayList<double[]>>();11 d = new Data();12 13 //set batch size14 //streaming context15 JavaStreamingContext jssc =16 new JavaStreamingContext(sc, Durations.seconds(1));17 18 //topic list19 topicSet = new HashSet<String>(Arrays.asList("odom", "laser"));20 //parameter list21 kafkaParams = new HashMap<String, String>();22 kafkaParams.put("bootstrap.servers", "localhost:9092");23 kafkaParams.put("group.id", "ekf");24 //set at movement of robot25 kafkaParams.put("auto.commit.interval.ms", "1");26 kafkaParams.put("consumer.timeout.ms", "10");27 28 29 //connect to tcp30 /*JavaReceiverInputDStream<String> lines =31 jssc.socketTextStream("localhost", 10555);32 33 lines.print();*/34 35 JavaPairInputDStream<String, String> msg =36 KafkaUtils.createDirectStream(37 jssc,38 String.class,39 String.class,40 StringDecoder.class,41 StringDecoder.class,42 kafkaParams,43 topicSet44 );45 46
  • 31. The Framework: Spark ML, RANSAC 31 Spark ML with RANSAC ••RANSAC •• One of many iterative method to estimate parameters of a mathematical model from a set of observed data which contains outliers. •• Default methodology for determining whether a series of landmark forms a wall or structure ••Ideal for consumption with high-throughput batches in Spark Streaming! ••Integrated as an online learning algorithm (This framework) as back-end iterative process in Spark Streaming/ Spark!
  • 32. The Framework: RANSAC 32 Page 1 of 3untitled text 8 /* Tuning Parameters1 * N – Max number of times to attempt to find lines.2 S – Number of samples to compute initial line.3 D – Degrees from initial reading to sample from.4 X – Max distance a reading may be from line to get associated to line.5 C – Number of points that must lie on a line for it to be taken as a line.6 */7 8 //RANSAC Parameters9 final static int MAX_ITERATIONS = 10;10 final static int SAMPLES = 5;11 final static int DEGREE_RANGE = 10;12 final static int MAX_INLIER_DISTANCE = 3; //in cm/inches13 final static int MIN_LINE_SIZE = 10; //in number of points14 15 //ml vars16 SQLContext sqlContext;17 DataFrame training;18 19 //SLAM vars20 final static int LIFE = 40; //time to discard landmark ???21 final static double MAXRANGE = 1;22 final static double DEGREESPERSCAN = 0.5; //??23 24 //landmark25 ArrayList<Landmark2> landmarkDB; //track landmarks, change to RDD26 27 public Landmark2(){28 //landmarkDB = new ArrayList<Landmark2>();29 30 sqlContext = new org.apache.spark.sql.SQLContext(sc);31 32 // Load a text file and convert each line to a JavaBean.33 JavaRDD<String> readings =34 sc.textFile("sample_laser_range_cartesion_data.txt");35 36 // The schema is encoded in a string37 String schemaString = "x y";38 39 // Generate the schema based on the string of schema40 List<StructField> fields = new ArrayList<StructField>();41 for (String fieldName: schemaString.split(" ")) {42 fields.add(DataTypes.createStructField(fieldName, DataTypes.StringType, true));43 }44 fields.add(new StructField("features", new VectorUDT(), false, Metadata.empty()));45 fields.add(new StructField("label", DataTypes.DoubleType, false, Metadata.empty()));46
  • 33. The Results 33 Key Challenges ••Network Latency ••Embedded vs Framework ••Matrix computations and updates to large matrices ••Jacobian (derivatives), Inversion, Transpositon, Multiplication, Addition/ Subtraction, Gaussian ••Covariance/Estimation computations ••Coordinating movement with computation ••Spark ML to correctly interpret visual landmark data, minimizing errors
  • 34. The Results 34 Challenges ••~4KLOC (Java != verbose J) •• Java lambda documentation ••Kafka topics from Spark Streaming consumer ••Real-life latency depends on the type of connection and creates additional noise ••Matrix computation ••Defining heuristics
  • 35. The Results 35 Measuring landmark acquisition and cpu time Embedded vs Framework at 500 iterations.
  • 36. The Results 36 Measuring landmark acquisition and cpu time Embedded vs Framework at 500 iterations. Framework completed 500 iterations with expected exponential growth Embedded failed to complete at 500 iterations (up to ~300)
  • 37. The Results 37 Measuring landmark acquisition and cpu time Embedded vs Framework for complete map. Both installations were run until the number of landmarks/maps were roughly equivalent and iterations marked. Iterations: ~100, Time ~2 min Iterations: ~100, Time ~30-40s
  • 39. Next Steps 39 • Automated Message Identification and Partition Management • Expanded stochastic analysis beyond gradient descent • Kalman Filter and Extended Kalman Filter • Improving accuracy and precision with an end to end pipeline that allows customization/optimization • Path Planning algorithms to improve search and search times • Incorporate swarms/particles • A complete robotics library or even extension to handle robotics, computer vision or any of the ai/machine learning problems specifics to robotics publishable and opens the door to a whole new group of scientists. • Further scaling and optimization with robotic swarms and rapid/increased volume sensor data
  • 41. 38 Contact Information: J. White Bear (jwhiteb@us.ibm.com) IBM Spark Technology Center 425 Market St San Francisco, CA