Course Outline
Week 01
Introduction
- What Makes a Robot Intelligent?
Physical vs. Virtual Robots
- Smart Robots, Advanced Machines, Sentient Systems, and Robotic Process Automation (RPA), etc.
The Role of Artificial Intelligence (AI) in Robotics
- Beyond Simple Conditional Logic: The Learning Machine
- AI Algorithms
- Machine Learning, Computer Vision, Natural Language Processing (NLP), etc.
- Cognitive Robotics
The Role of Big Data in Robotics
- Decision-Making Based on Data and Patterns
The Cloud and Robotics
- Integrating Robotics with IT
- Developing More Functional Robots that Access Information and Collaborate
Case Study: Industrial Robots
-
Mechanical Robots
- Baxter
-
Robots in Nuclear Facilities
- Radiation Detection and Protection
-
Robots in Nuclear Reactors
- Radiation Detection and Protection
Hardware Components of a Robot
- Motors, Sensors, Microcontrollers, Cameras, etc.
Common Elements of Robots
- Machine Vision, Voice Recognition, Speech Synthesis, Proximity Sensing, Pressure Sensing, etc.
Development Frameworks for Programming a Robot
- Open Source and Commercial Frameworks
-
Robot Operating System (ROS)
- Architecture: Workspace, Topics, Messages, Services, Nodes, Actionlibs, Tools, etc.
Languages for Programming a Robot
- C++ for Low-Level Control
- Python for Orchestration
- Programming ROS Nodes in Python and C++
- Other Languages
Tools for Simulating a Physical Robot
- Commercial and Open Source 3D Simulation and Visualization Software
Week 02
Preparing the Development Environment
- Software Installation and Setup
- Useful Packages and Utilities
Case Study: Mechanical Robots
- Robots in Nuclear Technology
- Robots in Environmental Systems
Programming the 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
Week 03
Programming the 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
Programming the Robot (Continued)
- ActionLib
- Speech Recognition and Generation
- Controlling Robotic Arms with MoveIt!
- Controlling Robotic Neck for Active Vision
- Project: Search and Collection of Objects
- Troubleshooting
Testing Your Robot
- Unit Testing
Week 04
Extending a 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
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
Week 05
Crash Course in Deep Learning (Continued)
-
Recurrent Neural Networks (RNNs)
- Training an RNN
- Stabilizing Gradients During Training
- Long Short-Term Memory Networks
-
Deep Learning Platforms and Software Libraries
- Deep Learning in ROS
Using Big Data in Your 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
Using Big Data in Your Robot (Continued)
- Distributed Processing of Large Data Sets
- Coexistence and Cross-Fertilization of Big Data and Robotics
-
The 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
Programming an Autonomous Deep Learning Robot
- Deep Learning Robot Components
- Setting Up the Robot Simulator
- Running a CUDA-Accelerated Neural Network with Caffe
- Troubleshooting
Week 06
Programming an Autonomous Deep Learning Robot (Continued)
- Recognizing Objects in Photographs or Video Streams
- Enabling Computer Vision with OpenCV
- Troubleshooting
Data Analytics for Government
- Using the Robot to Collect and Organize New Data
- Tools and Processes for Making Sense of the Data
Deploying a Robot
- Transitioning a Simulated Robot to Physical Hardware
- Deploying the Robot in the Physical World
- Monitoring and Servicing Robots in the Field
Securing Your Robot
- Preventing Unauthorized Tampering
- Preventing Hackers from Viewing and Stealing Sensitive Data
Building a Robot Collaboratively
- Building a Robot in the Cloud
- Joining the Robotics Community
Future Outlook for Robots in the Science and Energy Field
Summary and Conclusion
Requirements
- Programming experience in C or C++
- Programming experience in Python (beneficial but not required; can be included as part of the course)
- Experience with Linux command line operations
Audience for Government
- Developers
- Engineers
- Scientists
- Technicians
Testimonials (1)
its knowledge and utilization of AI for Robotics in the Future.