Course Outline
Section 01
Day 01
Introduction
- What Defines a Smart Robot?
Physical vs. Virtual Smart Robots
- Smart Robots, Smart Machines, Sentient Machines, and Robotic Process Automation (RPA).
The Role of Artificial Intelligence (AI) in Smart Robots
- Moving beyond "if-then-else" logic to machine learning.
- The algorithms driving AI.
- AI applications 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
- Integrating robotics with IT infrastructure.
- Creating more functional robots that access greater information and collaborate.
Case Study: Mechanical Smart Robots
- Industrial Smart 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 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 control.
- 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 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 from lasers.
- 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 Caffe.
- 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 the Robotics Community
Future Outlook for Smart Robots
Closing Remarks
Requirements
- Programming experience in C++
- Programming experience in Python
- Experience with the Linux command line
Testimonials (2)
All in general
Daniele Donzelli - ITT ITALIA S.r.l.
Course - CANoe for CAN Compact Training
PLC basic knowledge