AI and Robotics for Nuclear Training Course

Overview

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 4-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 code will then be loaded onto physical hardware (Arduino or other) for final deployment testing. 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.
  • 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.

About the Hardware

  • Hardware kits will be confirmed by the instructor before the training. Kits will more-or-less contain the following components:
    • Arduino board
    • Motor controller
    • Distance sensor
    • Bluetooth slave
    • Prototyping board and cables
    • USB cable
    • Vehicle kit
  • Participants will need to provision their own hardware.

Course Customization Options

  • To customize any part of this course (programming language, robot model, microcontroller, etc.) please contact us to arrange.

Requirements

  • 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

Course Outline

Week 01

Day 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

Day 02

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

Day 03

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.

Day 04

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

Day 05

Tools for Simulating a Physical Robot

  • Commercial and open source 3D simulation and visualization software

Tools for Designing the Physical Characteristics of a Robot

  • Commercial and open source CAD software

Case Study: Mechanical Robots

  • Robots in the nuclear technology field
  • Robots in environmental systems

Week 02

Day 06

Crash Course in Python

  • Software installation and setup
  • Useful packages and utilities
  • Working with Python data structures, operators, loops, conditionals, functions, methods, etc.
  • Writing a sample program
  • Team project

Day 07

Preparing for Robot Development

  • Setting up the development environment (e.g., Arduino IDE)
  • Exploring the Arduino language (C/C++) syntax
  • Coding, compiling, and uploading to the microcontroller
  • Assembling the hardware components of an Arduino robot

Day 08

Working with Arduino Components

  • Analog sensors
  • Digital sensors

Working with Arduino Communication Modules

  • Bluetooth Modules
  • Wi-Fi Modules
  • RFID Modules
  • I2C and SPI
  • Mobile internet

Day 09

Constructing a Robot

  • Planning the features and characteristics of a robot
  • Implementing robot movement

Team project

  • Discussion and review

Day 10

Controlling the Robot

  • Implementing the controller
  • Connecting to the robot (wired and wirelessly)

Team Project

  • Discussion and review

Week 03

Day 11

Programming the Robot

  • Simulating a robot with Gazebo / ROS
  • Understanding ROS node
  • Programming a node in Python and C ++
  • Messages and topics in ROS
  • Publication / subscription paradigm

Team Project

  • Bump & Go with real robot
  • Discussion and review

Day 12

Programming the Robot (continued…)

  • Frames in ROS and reference changes
  • 2D information processing of cameras with OpenCV
  • Information processing of a laser

Team Project

  • Safe tracking of objects by color
  • Discussion and review

Day 13

Testing the Robot

  • Tools for testing your code
  • Unit testing
  • Creating a test suite
  • Automating your tests
  • Troubleshooting

Team Project

  • Safe tracking of objects by color
  • Discussion and review

Day 14

Programming the Robot (Continued…)

  • Services in ROS
  • 3D information processing of RGB-D sensors with PCL
  • Maps and Navigation with ROS

Day 15

Programming the Robot (Continued…)

  • Completing tasks with ActionLib

Team Project

  • Search for objects in the environment

Week 04

Day 16

Programming the Robot (Continued…)

  • Completing tasks with ActionLib

Day 17

Programming the Robot (Continued…)

  • Speech Recognition and Speech Generation
  • Troubleshooting

Team Project

  • Controlling a robot using voice

Day 18

Programming the Robot (Continued…)

  • Controlling robotic arms with MoveIt!
  • Controlling robotic neck for active vision
  • Troubleshooting

Team Project

  • Search and collection of objects

Day 19

Deploying the Robot

  • Deploying the robot in the physical world
  • Monitoring and servicing robots in the field
  • Using a mobile app to control a robot

Securing the Robot

  • Preventing unauthorized tampering
  • Preventing hackers from viewing and stealing sensitive data

Day 20

Data Analytics

  • Collecting and organizing data generated by the robot
  • Making sense of the data through visualization tools and processes

Building a Robot Collaboratively

  • Building a robot in the cloud
  • Building a mobile app to interact with your robot
  • Joining the robotics community

Future Outlook for Robots in the Science and Energy Field

Summary and Conclusion

Leave a Reply

Your email address will not be published. Required fields are marked *