Course Outline

Week 01

Day 01


  • 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


  • 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


  • Developers
  • Engineers
  • Scientists
  • Technicians
  80 Hours


Related Courses

Aerial Robotics

  21 hours

Drone Fundamentals

  7 hours

Drones for Agriculture

  21 hours

Drone Programming with ArduPilot

  14 hours

ROS: Programming for Robotics

  21 hours

Smart Robots for Developers

  84 hours

Developing Intelligent Bots with Azure

  14 hours

Developing a Bot

  14 hours

Artificial Intelligence (AI) for Mechatronics

  21 hours

Prompt Engineering for AI Text and Image Generation

  14 hours

Leonardo AI: Creating AI Images and Talking Portraits

  14 hours

Midjourney for Image Generation

  14 hours

Introduction to DALL-E and DALL-E 2: Creating Images with AI

  7 hours


  14 hours

ChatGPT for Marketing

  14 hours