AI and Robotics for Nuclear培训
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