Course Outline
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
Requirements
- Programming experience in C++
- Programming experience in Python
- Experience with Linux command line
Testimonials (1)
every time i wasn't sure about some exercise, the trainer explained to me in multiple ways, until I understood.