你将学到什么
Represent 2D and 3D spatial relationships, homogeneous coordinates
Manipulate robot arms: kinematic chains, forward and inverse kinematics, differential kinematics
Program and navigate mobile robots: robot and map representations, motion planning
Plan complete robot systems
Develop present and future applications for robots
课程概况
We think of Robotics as the science of building devices that physically interact with their environment. The most useful robots do it precisely, powerfully, repeatedly, tirelessly, fast, or some combinations of these. The most interesting robots maybe even do it intelligently. This course will cover the fundamentals of robotics, focusing on both the mind and the body.
We will learn about two core robot classes: kinematic chains (robot arms) and mobile bases. For both robot types, we will introduce methods to reason about 3-dimensional space and relationships between coordinate frames. For robot arms, we will use these to model the task of delivering a payload to a specified location. For mobile robots, we will introduce concepts for autonomous navigation in the presence of obstacles.
Class projects will make use of ROS – the open-source Robot Operating System (www.ros.org) widely used in both research and industry. Computer requirements for working on the projects will include a computer set up with Ubuntu Linux and high bandwidth internet access for downloading and installing ROS packages.
课程大纲
Week 1
Introduction to Robotics
Homogenous coordinates and transform representations
Week 2
Kinematic chains
Forward kinematics
Week 3
Inverse kinematics: analytical methods
Week 4
Differential kinematics: Jacobian computation, singular configurations
Week 5
Configuration space operation
Week 6
Mobile robots
Differential drive kinematics
Week 7
Motion planning in robotics
预备知识
College-level introductory linear algebra (vector spaces, linear systems, matrix decomposition)
College-level introductory calculus (partial derivatives, function gradients)
Basic knowledge of computer programming (variables, functions, control flow)
Projects will be carried out in the Python language, with C++ as an option





