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
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
 
Testimonials (1)
its knowledge and utilization of AI for Robotics in the Future.