AI and Robotics for Nuclear - Extended培训
Week 01
Introduction
What Makes a Robot smart?
Physical vs Virtual Robots
Smart Robots, Smart Machines, Sentient Machines and Robotic Process Automation (RPA), etc.
The Role of Artificial Intelligence (AI) in Robotics
Beyond "if-then-else" and the learning machine
The algorithms behind AI
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
Linking robotics with IT
Building more functional robots that access more 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 controlling
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 the nuclear technology field
Robots in environmental systems
Programming the Robot
Programming a node in Python and C ++
Understanding ROS node
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 Speech 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 (RNN)
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 Cafe
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
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