Course Outline

Section 01

Day 01

  • What Makes a Smart Robot Smart?

Physical vs Virtual Smart Robots

  • Smart Robots, Smart Machines, Sentient Machines and Robotic Process Automation (RPA), etc.

The Role of Artificial Intelligence (AI) in Smart Robots

  • Beyond "if-then-else" and the learning machine
  • The algorithms behind AI
  • AI in Smart Robots: machine learning, computer vision, natural language processing (NLP), etc.
  • Cognitive robotics

The Role of Big Data in Smart Robots

  • Decision-making based on data and patterns

The Cloud and Smart Robots

  • Linking robotics with IT
  • Building more functional robots that access more information and collaborate

Case Study: Mechanical Smart Robots

  • Industrial Smart Robots
    • Baxter
  • Personal Service Robots
    • Domestic robots that assist the elderly, smart self-driving cars
  • Professional Service Robots
    • Agricultural robots in diary operations

Hardware components of a Smart Robot

  • Motors, sensors, microcontrollers, cameras, etc.

Common Elements of Smart Robots

  • Machine vision, voice recognition, speech synthesis, proximity sensing, pressure sensing, etc.

Development Frameworks for Programming a Smart Robot

  • Open source and commercial frameworks
  • Robot Operating System (ROS)
    • Architecture: workspace, topics, messages, services, nodes, actionlibs, tools, etc.

Languages for Programming a Smart Robot

  • C++ for low level controlling
  • Python for orchestration
  • Programming ROS nodes in Python and C ++
  • Other languages

Tools for Simulating a Physical Smart Robot

  • Commercial and open source 3D simulation and visualization software

Preparing the Development Environment

  • Software installation and setup
  • Useful packages and utilities

Day 02
Programming the Smart Robot

  • Programming a node in Python and C ++
  • Understanding ROS node
  • Messages and topics in ROS
  • Publication / subscription paradigm
  • Project: Bump & Go with real robot
  • Troubleshooting
  • Simulation of robots with Gazebo / ROS
  • Frames in ROS and reference changes
  • 2D information processing of cameras with OpenCV
  • Information processing of a laser
  • Project: Safe tracking of objects by color
  • Troubleshooting

Day 03
Programming the Smart Robot (Continued...)

  • Services in ROS
  • 3D information processing of RGB-D sensors with PCL
  • Maps and Navigation with ROS
  • Project: Search for objects in the environment
  • Troubleshooting


Section 02

Day 04
Programming the Smart Robot (Continued...)

  • ActionLib
  • Speech Recognition and Speech Generation
  • Controlling robotic arms with MoveIt!
  • Controlling robotic neck for active vision
  • Project: Search and collection of objects
  • Troubleshooting

Testing Your Smart Robot

  • Unit testing

Day 05
Extending a Smart Robot's Capabilities with Deep Learning

  • Perception -- vision, audio, and haptics
  • Knowledge representation
  • Voice recognition through NLP (natural language processing)
  • Computer vision

Crash Course in Deep Learning

  • Artificial Neural Networks (ANNs)
  • Artificial Neural Networks vs. Biological Neural Networks
  • Feedforward Neural Networks
  • Activation Functions
  • Training Artificial Neural Networks

Day 06
Crash Course in Deep Learning (Continued...)

  • Deep Learning Models
    • Convolutional Networks and Recurrent Networks
  • Convolutional Neural Networks (CNNs or ConvNets)
    •  Convolution Layer
    •  Pooling Layer
    •  Convolutional Neural Networks Architecture

Section 03

Day 07
Crash Course in Deep Learning (Continued...)

  • Recurrent Neural Networks (RNN)
    • Training an RNN
    • Stabilizing gradients during training
    • Long short-term memory networks
  • Deep Learning Platforms and Software Libraries
    • Deep Learning in ROS

Day 08
Using Big Data in Your Smart Robot

  • Big data concepts
  • Approaches to data analysis
  • Big Data tooling
  • Recognizing patterns in the data
  • Exercise: NLP and Computer Vision on large data sets

Day 09
Using Big Data in Your Smart Robot (Continued...)

  • Distributed processing of large data sets
  • Coexistence and cross-fertilization of Big Data and Robotics
  • The Smart Robot as a generator of data
    • Range measuring sensors, position, visual, tactile sensors, and other modalities
  • Making sense of sensory data (sense-plan-act loop)
  • Exercise: Capturing streaming data


Section 04

Day 10
Programming an Autonomous Deep Learning Smart Robot

  • Deep Learning robot components
  • Setting up the robot simulator
  • Running a CUDA-accelerated neural network with Cafe
  • Troubleshooting

Day 11
Programming an Autonomous Deep Learning Smart Robot (Continued...)

  • Recognizing objects in photographs or video streams
  • Enabling computer vision with OpenCV
  • Troubleshooting

Day 12
Data Analytics

  • Using the Smart Robot to collect and organize new data

Building a Smart Robot Collaboratively

Deploying Your Smart Robot on Physical Hardware

Monitoring and Servicing Smart Robots in the Field

Securing Your Robot

  • Preventing unauthorized tampering
  • Preventing hackers from viewing and stealing sensitive business data (credit card, employee information, etc.)

Joining to the Robotics Community

Future Outlook for Smart Robots

Closing Remarks


  • Programming experience in C++
  • Programming experience in Python
  • Experience with Linux command line
 84 Hours

Number of participants

Price per participant

Testimonials (2)

Related Categories