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), etc.
The Role of Artificial Intelligence (AI) in Smart Robots
- Beyond "if-then-else" logic and the learning machine
- Core AI algorithms
- AI in Smart Robots: machine learning, computer vision, natural language processing (NLP), etc.
- Cognitive robotics
The Role of Big Data in Smart Robots
- Data-driven decision-making and pattern recognition
The Cloud and Smart Robots
- Integrating robotics with IT infrastructure
- Creating more functional robots that access information and collaborate effectively
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
Setting Up the Development Environment
- Software installation and configuration
- Useful packages and utilities
Day 02
Programming the Smart Robot
- Programming a node in Python and C++
- Understanding ROS nodes
- ROS messages and topics
- Publish/subscribe paradigm
- Project: Bump & Go with a real robot
- Troubleshooting
- Robot simulation with Gazebo/ROS
- ROS frames and reference changes
- 2D camera image processing with OpenCV
- Laser information processing
- Project: Safe tracking of objects by color
- Troubleshooting
Day 03
Programming the Smart Robot (Continued...)
- ROS services
- 3D information processing of RGB-D sensors with PCL
- Mapping and Navigation with ROS
- Project: Object search in the environment
- Troubleshooting
Section 02
Day 04
Programming the Smart Robot (Continued...)
- ActionLib
- Speech Recognition and Generation
- Controlling robotic arms with MoveIt!
- Controlling robotic neck for active vision
- Project: Object search and collection
- Troubleshooting
Testing Your Smart Robot
- Unit testing
Day 05
Ext Smart Robot 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
Leveraging Big Data in Your Smart Robot
- Big data concepts
- Data analysis approaches
- Big Data tooling
- Pattern recognition in data
- Exercise: NLP and Computer Vision on large datasets
Day 09
Leveraging Big Data in Your Smart Robot (Continued...)
- Distributed processing of large datasets
- Synergy and cross-fertilization of Big Data and Robotics
- The Smart Robot as a data generator
- Range measuring sensors, position, visual, tactile sensors, and other modalities
- Interpreting 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...)
- Object recognition 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 accessing or stealing sensitive business data (credit card details, employee information, etc.)
Joining the Robotics Community
Future Outlook for Smart Robots
Closing Remarks
Requirements
- Programming experience in C++
- Programming experience in Python
- Familiarity with 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.