Course Code: airoboticsnuclear
Duration: 80 hours
Prerequisites:
  • 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
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.
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

Sites Published:

United Arab Emirates - AI and Robotics for Nuclear

Qatar - AI and Robotics for Nuclear

Egypt - AI and Robotics for Nuclear

Saudi Arabia - AI and Robotics for Nuclear

South Africa - AI and Robotics for Nuclear

Brasil - AI and Robotics for Nuclear

Canada - AI and Robotics for Nuclear

中国 - AI and Robotics for Nuclear

香港 - AI and Robotics for Nuclear

澳門 - AI and Robotics for Nuclear

台灣 - AI and Robotics for Nuclear

USA - AI and Robotics for Nuclear

Österreich - AI and Robotics for Nuclear

Schweiz - AI and Robotics for Nuclear

Deutschland - AI and Robotics for Nuclear

Czech Republic - AI and Robotics for Nuclear

Denmark - AI and Robotics for Nuclear

Estonia - AI and Robotics for Nuclear

Finland - AI and Robotics for Nuclear

Greece - AI and Robotics for Nuclear

Magyarország - AI and Robotics for Nuclear

Ireland - AI and Robotics for Nuclear

Luxembourg - AI and Robotics for Nuclear

Latvia - AI and Robotics for Nuclear

España - AI and Robotics for Nuclear

Italia - AI and Robotics for Nuclear

Lithuania - AI and Robotics for Nuclear

Nederland - AI and Robotics for Nuclear

Norway - AI and Robotics for Nuclear

Portugal - AI and Robotics for Nuclear

România - AI and Robotics for Nuclear

Sverige - AI and Robotics for Nuclear

Türkiye - AI and Robotics for Nuclear

Malta - AI and Robotics for Nuclear

Belgique - AI and Robotics for Nuclear

France - AI and Robotics for Nuclear

日本 - AI and Robotics for Nuclear

Australia - AI and Robotics for Nuclear

Malaysia - AI and Robotics for Nuclear

New Zealand - AI and Robotics for Nuclear

Philippines - AI and Robotics for Nuclear

Singapore - AI and Robotics for Nuclear

Thailand - AI and Robotics for Nuclear

Vietnam - AI and Robotics for Nuclear

India - AI and Robotics for Nuclear

Argentina - AI and Robotics for Nuclear

Chile - AI and Robotics for Nuclear

Costa Rica - AI and Robotics for Nuclear

Ecuador - AI and Robotics for Nuclear

Guatemala - AI and Robotics for Nuclear

Colombia - AI and Robotics for Nuclear

México - AI and Robotics for Nuclear

Panama - AI and Robotics for Nuclear

Peru - AI and Robotics for Nuclear

Uruguay - AI and Robotics for Nuclear

Venezuela - AI and Robotics for Nuclear

Polska - AI and Robotics for Nuclear

United Kingdom - AI and Robotics for Nuclear

South Korea - AI and Robotics for Nuclear

Pakistan - AI and Robotics for Nuclear

Sri Lanka - AI and Robotics for Nuclear

Bulgaria - AI and Robotics for Nuclear

Bolivia - AI and Robotics for Nuclear

Indonesia - AI and Robotics for Nuclear

Kazakhstan - AI and Robotics for Nuclear

Moldova - AI and Robotics for Nuclear

Morocco - AI and Robotics for Nuclear

Tunisia - AI and Robotics for Nuclear

Kuwait - AI and Robotics for Nuclear

Oman - AI and Robotics for Nuclear

Slovakia - AI and Robotics for Nuclear

Kenya - AI and Robotics for Nuclear

Nigeria - AI and Robotics for Nuclear

Botswana - AI and Robotics for Nuclear

Slovenia - AI and Robotics for Nuclear

Croatia - AI and Robotics for Nuclear

Serbia - AI and Robotics for Nuclear

Bhutan - AI and Robotics for Nuclear

Nepal - AI and Robotics for Nuclear

Uzbekistan - AI and Robotics for Nuclear