- Programming experience in C or C++
- Programming experience in Python (useful but not necessary; can be taught as part of course)
- Experience with Linux command line
Audience
- Developers
- Engineers
- Scientists
- Technicians
Robotics and Artificial Intelligence (AI) are powerful tools for the development of safety systems in nuclear facilities.
In this instructor-led, live training (online or onsite), participants will learn the different technologies, frameworks and techniques for programming different types of robots to be used in the field of nuclear technology and environmental systems.
The 6-week course is held 5 days a week. Each day is 4-hours long and consists of lectures, discussions, and hands-on robot development in a live lab environment. Participants will complete various real-world projects applicable to their work in order to practice their acquired knowledge.
The target hardware for this course will be simulated in 3D through simulation software. The ROS (Robot Operating System) open-source framework, C++ and Python will be used for programming the robots.
By the end of this training, participants will be able to:
- Understand the key concepts used in robotic technologies.
- Understand and manage the interaction between software and hardware in a robotic system.
- Understand and implement the software components that underpin robotics.
- Build and operate a simulated mechanical robot that can see, sense, process, navigate, and interact with humans through voice.
- Understand the necessary elements of artificial intelligence (machine learning, deep learning, etc.) applicable to building a smart robot.
- Implement filters (Kalman and Particle) to enable the robot to locate moving objects in its environment.
- Implement search algorithms and motion planning.
- Implement PID controls to regulate a robot's movement within an environment.
- Implement SLAM algorithms to enable a robot to map out an unknown environment.
- Extend a robot's ability to perform complex tasks through Deep Learning.
- Test and troubleshoot a robot in realistic scenarios.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To customize any part of this course (programming language, robot model, etc.) please contact us to arrange.
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
United Arab Emirates - AI and Robotics for Nuclear - Extended
Qatar - AI and Robotics for Nuclear - Extended
Egypt - AI and Robotics for Nuclear - Extended
Saudi Arabia - AI and Robotics for Nuclear - Extended
South Africa - AI and Robotics for Nuclear - Extended
Brasil - AI and Robotics for Nuclear - Extended
Canada - AI and Robotics for Nuclear - Extended
中国 - AI and Robotics for Nuclear - Extended
香港 - AI and Robotics for Nuclear - Extended
澳門 - AI and Robotics for Nuclear - Extended
台灣 - AI and Robotics for Nuclear - Extended
USA - AI and Robotics for Nuclear - Extended
Österreich - AI and Robotics for Nuclear - Extended
Schweiz - AI and Robotics for Nuclear - Extended
Deutschland - AI and Robotics for Nuclear - Extended
Czech Republic - AI and Robotics for Nuclear - Extended
Denmark - AI and Robotics for Nuclear - Extended
Estonia - AI and Robotics for Nuclear - Extended
Finland - AI and Robotics for Nuclear - Extended
Greece - AI and Robotics for Nuclear - Extended
Magyarország - AI and Robotics for Nuclear - Extended
Ireland - AI and Robotics for Nuclear - Extended
Luxembourg - AI and Robotics for Nuclear - Extended
Latvia - AI and Robotics for Nuclear - Extended
España - AI and Robotics for Nuclear - Extended
Italia - AI and Robotics for Nuclear - Extended
Lithuania - AI and Robotics for Nuclear - Extended
Nederland - AI and Robotics for Nuclear - Extended
Norway - AI and Robotics for Nuclear - Extended
Portugal - AI and Robotics for Nuclear - Extended
România - AI and Robotics for Nuclear - Extended
Sverige - AI and Robotics for Nuclear - Extended
Türkiye - AI and Robotics for Nuclear - Extended
Malta - AI and Robotics for Nuclear - Extended
Belgique - AI and Robotics for Nuclear - Extended
France - AI and Robotics for Nuclear - Extended
日本 - AI and Robotics for Nuclear - Extended
Australia - AI and Robotics for Nuclear - Extended
Malaysia - AI and Robotics for Nuclear - Extended
New Zealand - AI and Robotics for Nuclear - Extended
Philippines - AI and Robotics for Nuclear - Extended
Singapore - AI and Robotics for Nuclear - Extended
Thailand - AI and Robotics for Nuclear - Extended
Vietnam - AI and Robotics for Nuclear - Extended
India - AI and Robotics for Nuclear - Extended
Argentina - AI and Robotics for Nuclear - Extended
Chile - AI and Robotics for Nuclear - Extended
Costa Rica - AI and Robotics for Nuclear - Extended
Ecuador - AI and Robotics for Nuclear - Extended
Guatemala - AI and Robotics for Nuclear - Extended
Colombia - AI and Robotics for Nuclear - Extended
México - AI and Robotics for Nuclear - Extended
Panama - AI and Robotics for Nuclear - Extended
Peru - AI and Robotics for Nuclear - Extended
Uruguay - AI and Robotics for Nuclear - Extended
Venezuela - AI and Robotics for Nuclear - Extended
Polska - AI and Robotics for Nuclear - Extended
United Kingdom - AI and Robotics for Nuclear - Extended
South Korea - AI and Robotics for Nuclear - Extended
Pakistan - AI and Robotics for Nuclear - Extended
Sri Lanka - AI and Robotics for Nuclear - Extended
Bulgaria - AI and Robotics for Nuclear - Extended
Bolivia - AI and Robotics for Nuclear - Extended
Indonesia - AI and Robotics for Nuclear - Extended
Kazakhstan - AI and Robotics for Nuclear - Extended
Moldova - AI and Robotics for Nuclear - Extended
Morocco - AI and Robotics for Nuclear - Extended
Tunisia - AI and Robotics for Nuclear - Extended
Kuwait - AI and Robotics for Nuclear - Extended
Oman - AI and Robotics for Nuclear - Extended
Slovakia - AI and Robotics for Nuclear - Extended
Kenya - AI and Robotics for Nuclear - Extended
Nigeria - AI and Robotics for Nuclear - Extended
Botswana - AI and Robotics for Nuclear - Extended
Slovenia - AI and Robotics for Nuclear - Extended
Croatia - AI and Robotics for Nuclear - Extended
Serbia - AI and Robotics for Nuclear - Extended
Bhutan - AI and Robotics for Nuclear - Extended