Đề 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)
Tôi cảm thấy mình đã nắm được những kỹ năng核对后发现之前的翻译在最后部分偏离了目标语言 Vietnamese,进行了纠正并完成了句子: 我感觉到我已经掌握了需要理解ROS如何组合在一起以及如何在其结构项目所需的技能。 正确的越南语翻译应为: Tôi cảm thấy mình đã nắm được các kỹ năng cốt lõi cần thiết để hiểu cách ROS hoạt động cùng nhau và cách cấu trúc dự án trong nó.
Dan Goldsmith - Coventry University
Course - ROS: Programming for Robotics
Machine Translated