What you will learn
- 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.
Before you start
- 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
- Instructor-Led: course contains assignments and exams that have specific due dates, and you complete the course within a defined time period.
- Course ends: Jan 17, 2019