Section 01
Day 01
Introduction
What Makes a Smart Robot Smart?
Physical vs Virtual Smart Robots
Smart Robots, Smart Machines, Sentient Machines and Robotic Process Automation (RPA), etc.
The Role of Artificial Intelligence (AI) in Smart Robots
Beyond "if-then-else" and the learning machine
The algorithms behind AI
AI in Smart Robots: machine learning, computer vision, natural language processing (NLP), etc.
Cognitive robotics
The Role of Big Data in Smart Robots
Decision-making based on data and patterns
The Cloud and Smart Robots
Linking robotics with IT
Building more functional robots that access more information and collaborate
Case Study: Mechanical Smart Robots
Industrial Smart Robots
Baxter
Personal Service Robots
Domestic robots that assist the elderly, smart self-driving cars
Professional Service Robots
Agricultural robots in diary operations
Hardware components of a Smart Robot
Motors, sensors, microcontrollers, cameras, etc.
Common Elements of Smart Robots
Machine vision, voice recognition, speech synthesis, proximity sensing, pressure sensing, etc.
Development Frameworks for Programming a Smart Robot
Open source and commercial frameworks
Robot Operating System (ROS)
Architecture: workspace, topics, messages, services, nodes, actionlibs, tools, etc.
Languages for Programming a Smart Robot
C++ for low level controlling
Python for orchestration
Programming ROS nodes in Python and C ++
Other languages
Tools for Simulating a Physical Smart Robot
Commercial and open source 3D simulation and visualization software
Preparing the Development Environment
Software installation and setup
Useful packages and utilities
Day 02
Programming the Smart Robot
Programming a node in Python and C ++
Understanding ROS node
Messages and topics in ROS
Publication / subscription paradigm
Project: Bump & Go with real robot
Troubleshooting
Simulation of robots with Gazebo / ROS
Frames in ROS and reference changes
2D information processing of cameras with OpenCV
Information processing of a laser
Project: Safe tracking of objects by color
Troubleshooting
Day 03
Programming the Smart Robot (Continued...)
Services in ROS
3D information processing of RGB-D sensors with PCL
Maps and Navigation with ROS
Project: Search for objects in the environment
Troubleshooting
Section 02
Day 04
Programming the Smart Robot (Continued...)
ActionLib
Speech Recognition and Speech Generation
Controlling robotic arms with MoveIt!
Controlling robotic neck for active vision
Project: Search and collection of objects
Troubleshooting
Testing Your Smart Robot
Unit testing
Day 05
Extending a Smart Robot's Capabilities with Deep Learning
Perception -- vision, audio, and haptics
Knowledge representation
Voice recognition through NLP (natural language processing)
Computer vision
Crash Course in Deep Learning
Artificial Neural Networks (ANNs)
Artificial Neural Networks vs. Biological Neural Networks
Feedforward Neural Networks
Activation Functions
Training Artificial Neural Networks
Day 06
Crash Course in Deep Learning (Continued...)
Deep Learning Models
Convolutional Networks and Recurrent Networks
Convolutional Neural Networks (CNNs or ConvNets)
Convolution Layer
Pooling Layer
Convolutional Neural Networks Architecture
Section 03
Day 07
Crash Course in Deep Learning (Continued...)
Recurrent Neural Networks (RNN)
Training an RNN
Stabilizing gradients during training
Long short-term memory networks
Deep Learning Platforms and Software Libraries
Deep Learning in ROS
Day 08
Using Big Data in Your Smart Robot
Big data concepts
Approaches to data analysis
Big Data tooling
Recognizing patterns in the data
Exercise: NLP and Computer Vision on large data sets
Day 09
Using Big Data in Your Smart Robot (Continued...)
Distributed processing of large data sets
Coexistence and cross-fertilization of Big Data and Robotics
The Smart Robot as a generator of data
Range measuring sensors, position, visual, tactile sensors, and other modalities
Making sense of sensory data (sense-plan-act loop)
Exercise: Capturing streaming data
Section 04
Day 10
Programming an Autonomous Deep Learning Smart Robot
Deep Learning robot components
Setting up the robot simulator
Running a CUDA-accelerated neural network with Cafe
Troubleshooting
Day 11
Programming an Autonomous Deep Learning Smart Robot (Continued...)
Recognizing objects in photographs or video streams
Enabling computer vision with OpenCV
Troubleshooting
Day 12
Data Analytics
Using the Smart Robot to collect and organize new data
Building a Smart Robot Collaboratively
Deploying Your Smart Robot on Physical Hardware
Monitoring and Servicing Smart Robots in the Field
Securing Your Robot
Preventing unauthorized tampering
Preventing hackers from viewing and stealing sensitive business data (credit card, employee information, etc.)
Joining to the Robotics Community
Future Outlook for Smart Robots
Closing Remarks |