Course Outline
Section 01
Day 01
Introduction
- What Makes a Smart Robot Smart?
Physical vs. Virtual Smart Robots
- Smart Robots, Intelligent Machines, Sentient Systems, and Robotic Process Automation (RPA)
The Role of Artificial Intelligence (AI) in Smart Robots
- Beyond "if-then-else" logic: The Learning Machine
- The Algorithms Driving AI
- AI in Smart Robots: Machine Learning, Computer Vision, Natural Language Processing (NLP), etc.
- Cognitive Robotics for Government Applications
The Role of Big Data in Smart Robots
- Data-Driven Decision Making and Pattern Recognition
The Cloud and Smart Robots
- Integrating Robotics with Information Technology (IT)
- Enhancing Robot Functionality Through Cloud-Based Information Access and Collaboration
Case Study: Mechanical Smart Robots
- Industrial Smart Robots
- Baxter
- Personal Service Robots
- Domestic Assistants for the Elderly, Autonomous Vehicles
- 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 for Government Use
- 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 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 for Government Applications
Day 08
Using Big Data in Your Smart Robot
- Big Data Concepts
- Approaches to Data Analysis
- Big Data Tooling for Government Use
- 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 for Government
- 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 for Government Use
- 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 for Government Applications
- Troubleshooting
Day 12
Data Analytics for Government
- Using the Smart Robot to Collect and Organize New Data
Building a Smart Robot Collaboratively for Government
Deploying Your Smart Robot on Physical Hardware for Government Use
Monitoring and Servicing Smart Robots in the Field for Government Applications
Securing Your Robot for Government Use
- Preventing Unauthorized Tampering
- Preventing Hackers from Viewing and Stealing Sensitive Business Data (Credit Card, Employee Information, etc.)
Joining the Robotics Community for Government Collaboration
Future Outlook for Smart Robots in Government
Closing Remarks
Requirements
- Proficiency in C++ programming for government applications
- Experience with Python programming for government projects
- Familiarity with the Linux command line for government systems
Testimonials (2)
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.