Đề cương khóa học
Week 01
Introduction
- What is a smart Robot?
Physical vs Virtual Robots
- Smart Machines, Sentient Machines, etc.
The Role of 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
The Role of 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
Hardware Components of a Robot
- Motors, sensors, microcontrollers, cameras, etc.
Common Sensors of Robots
- Machine vision, voice recognition, speech synthesis, proximity sensing, pressure sensing, etc.
Development Frameworks for Building a Robot
- Open source and commercial frameworks
- Robot Operating System (ROS)
- Architecture: workspace, topics, messages, services, nodes, actionlibs, tools, etc.
Tools for Building a Robot
- Tools for low level controlling
- Tools for orchestration
- Building ROS nodes in Python and C++
- Other languages
Tools for Simulating a Physical Robot
- Commercial and open source 3D simulation and visualization software
Week 02
Preparing the Development Environment
- Software installation and setup
- Useful packages and utilities
Case Study: Mechanical Robots
- Robots in the nuclear technology field
- Robots in environmental systems
Building the Robot
- Building a node in Python and C++
- Understanding ROS node
- Messages and topics in ROS
- Publication / subscription paradigm
- Project: Bump & Detect 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
Week 03
Building the 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
Building the Robot (Continued...)
- ActionLib
- Speech and Speech Generation
- Controlling robotic arms with MoveIt!
- Controlling robotic neck for active vision
- Project: Search and collection of objects
- Troubleshooting
Testing Your Robot
- Unit testing
Week 04
Extending a Robot's Capabilities with AI
- Perception -- vision, audio, and haptics
- Knowledge representation
- Voice recognition through NLP (natural language processing)
- Computer vision
Crash Course in AI
- Artificial Neural Networks (ANNs)
- Artificial Neural Networks vs. Symbolic AI
- Feedforward Neural Networks
- Activation Functions
- Training Artificial Neural Networks
Crash Course in AI (Continued...)
- AI Models
- Convolutional Networks and Recurrent Networks
- Convolutional Neural Networks (CNNs or ConvNets)
- Convolution Layer
- Pooling Layer
- Convolutional Neural Network Architecture
Week 05
Crash Course in AI (Continued...)
- Recurrent Neural Networks (RNN)
- Training an RNN
- Stabilizing gradients during training
- Long short-term memory networks
- AI Platforms and Software Libraries
- AI in ROS
Using Data in Your Robot
- Big data concepts
- Approaches to data analysis
- Data tooling
- Recognizing patterns in the data
- Exercise: NLP and Machine Learning on large data sets
Using Data in Your Robot (Continued...)
- Distributed processing of large data sets
- Coexistence and cross-fertilization of Data and AI
- The 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
Building an Autonomous AI Robot
- AI robot components
- Setting up the robot simulator
- Running a CUDA-accelerated neural network with Caffe
- Troubleshooting
Week 06
Building an Autonomous AI Robot (Continued...)
- Recognizing objects in photographs or video streams
- Enabling computer vision with OpenCV
- Troubleshooting
Data Analytics
- Using the robot to collect and organize new data
- Tools and processes for making sense of the data
Deploying a Robot
- Transitioning a simulated robot to physical hardware
- Deploying the robot in the physical world
- Monitoring and servicing robots in the field
Securing Your Robot
- Preventing unauthorized tampering
- Preventing hackers from viewing and stealing sensitive data
Building a Robot Collaboratively
- Building a robot in the cloud
- Joining the robotics community
Future Trends for Robots in the Science and Energy Field
Summary and Conclusion
Requirements
- Programming kinh nghiệm về C hoặc C++
- Programming kinh nghiệm về Python (hữu ích nhưng không bắt buộc; có thể được giảng dạy trong khóa học)
- Kinh nghiệm với dòng lệnh Linux
Đối tượng
- Nhà phát triển
- Kỹ sư
- Nhà khoa học
- Kỹ thuật viên
Testimonials (1)
I feel I get the core skills I need to understand how the ROS fits together, and how to structure projects in it.