Course Outline
Section 01
Day 01
Introduction
- What Makes an Intelligent Robot Smart?
Physical vs. Virtual Intelligent Robots
- Intelligent Robots, Smart Machines, Sentient Machines, and Robotic Process Automation (RPA), among others.
The Role of Artificial Intelligence (AI) in Intelligent Robots
- Beyond simple "if-then-else" logic and the concept of a learning machine.
- Underlying AI algorithms.
- AI applications in Intelligent Robots: machine learning, computer vision, natural language processing (NLP), etc.
- Cognitive robotics.
The Role of Big Data in Intelligent Robots
- Data-driven decision-making based on patterns.
The Cloud and Intelligent Robots
- Integrating robotics with IT infrastructure.
- Creating more functional robots that access extensive information and collaborate.
Case Study: Mechanical Intelligent Robots
- Industrial Intelligent Robots
- Baxter
- Personal Service Robots
- Domestic robots assisting the elderly, smart self-driving cars.
- Professional Service Robots
- Agricultural robots in dairy operations.
Hardware Components of an Intelligent Robot
- Motors, sensors, microcontrollers, cameras, etc.
Common Elements of Intelligent Robots
- Machine vision, voice recognition, speech synthesis, proximity sensing, pressure sensing, etc.
Development Frameworks for Programming an Intelligent Robot
- Open-source and commercial frameworks.
- Robot Operating System (ROS)
- Architecture: workspace, topics, messages, services, nodes, action libraries, tools, etc.
Languages for Programming an Intelligent Robot
- C++ for low-level control.
- Python for orchestration.
- Programming ROS nodes in Python and C++.
- Other relevant languages.
Tools for Simulating a Physical Intelligent 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 Intelligent Robot
- Programming a node in Python and C++.
- Understanding ROS nodes.
- Messages and topics in ROS.
- Publication/subscription paradigm.
- Project: Bump & Go with a real robot.
- Troubleshooting.
- Robot simulation with Gazebo / ROS.
- Frames in ROS and reference changes.
- 2D image processing of cameras with OpenCV.
- Information processing of laser data.
- Project: Safe tracking of objects by color.
- Troubleshooting.
Day 03
Programming the Intelligent 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 Intelligent Robot (Continued...)
- ActionLib.
- Speech Recognition and Speech Synthesis.
- Controlling robotic arms with MoveIt!.
- Controlling robotic neck for active vision.
- Project: Search and collection of objects.
- Troubleshooting.
Testing Your Intelligent Robot
- Unit testing.
Day 05
Extending an Intelligent 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 Intelligent 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 Intelligent Robot (Continued...)
- Distributed processing of large data sets.
- Coexistence and cross-fertilization of Big Data and Robotics.
- The Intelligent Robot as a data generator
- 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 Intelligent Robot
- Deep Learning robot components.
- Setting up the robot simulator.
- Running a CUDA-accelerated neural network with Caffe.
- Troubleshooting.
Day 11
Programming an Autonomous Deep Learning Intelligent Robot (Continued...)
- Recognizing objects in photographs or video streams.
- Enabling computer vision with OpenCV.
- Troubleshooting.
Day 12
Data Analytics
- Using the Intelligent Robot to collect and organize new data.
Building an Intelligent Robot Collaboratively
Deploying Your Intelligent Robot on Physical Hardware
Monitoring and Servicing Intelligent Robots in the Field
Securing Your Robot
- Preventing unauthorized tampering.
- Preventing hackers from viewing and stealing sensitive business data (credit card details, employee information, etc.).
Joining the Robotics Community
Future Outlook for Intelligent Robots
Closing Remarks
Requirements
- Programming experience in C++.
- Programming experience in Python.
- Experience using the Linux command line.
Testimonials (3)
All in general
Daniele Donzelli - ITT ITALIA S.r.l.
Course - CANoe for CAN Compact Training
PLC basic knowledge
Bartosz - Phillips-Medisize Poland
Course - Introduction to OMRON PLC programming
every time i wasn't sure about some exercise, the trainer explained to me in multiple ways, until I understood.