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

Developing Intelligent Bots with Azure

  14 hours


  14 hours

ChatGPT for Executives

  14 hours

ChatGPT for Finance

  14 hours

ChatGPT for Marketing

  14 hours

ChatGPT for SEO

  14 hours

Developing a Bot

  14 hours

Artificial Intelligence (AI) for Mechatronics

  21 hours

Smart Robots for Developers

  84 hours

Midjourney for Image Generation

  14 hours

ROS: Programming for Robotics

  21 hours