Written by Nikos Vaggalis
Tuesday, 14 December 2021

As part of the Stanford Engineering Everywhere initiative, which expands the Stanford experience to students and educators online and at no charge, the content of CS223A - Introduction to Robotics has been made available for free to anyone in a self-paced version.

The purpose of CS223A is to introduce you to basics of modeling, design, planning, and controlling robot systems. In essence, the material treated in this course is a brief survey of relevant results from geometry, kinematics, statics, dynamics, and control.

As in every Stanford Engineering Everywhere (SEE) course, the material that is offered is an actual campus course including lecture videos, as well as all lecture slides, reading lists and handouts, homework assignments, quizzes, examinations, and when appropriate, solution sets.

And while the course offered is well-established rather than brand new, the principles remain the same since the mathematical models that represent robotic systems,the foundations in kinematics and dynamics don't change.Those models are necessary for creating controllers to control the robot's motions.

The course is addressed to students with no prior experience on the topic as the instructor Prof. Khatib describes:

I’m going to assume that everyone has no knowledge of dynamics, control or kinematics, and I will start with the basic foundation. You shouldn’t worry about the fact that you don’t have a strong background in those areas. We will cover them from the start. We will go to what is the inertia, how did we describe the accelerations and then we will establish the dynamics, which is quite simple.

With that in mind,the main areas of focus are:

Kinematics
Kinematics is the way of finding a configuration that corresponds to the desired and effective position and orientation.This is used to do interpolation between where the robot is at a given point and how to move the robot to the final configuration through a trajectory smooth in velocity and acceleration and other constraints that we might impose.

Jacobian
The Jacobian, describes the V vector, the linear velocity, and the Omega vector, the angular velocity, and it relates those velocities to the joint velocities. It is really related to the way the axes of the robot are designed.

Vision
Namely, what is the perception in sensing you need to really build a system that has both manipulation and mobility capabilities?

You turn a robot on, it has to figure out where it is and, in particular, be able to move without running into things, be able to perform potentially some useful tasks that involve mobility. The next step up once you’ve decided where things are is you’d actually like to be able to identify where you are and what the things are in the environment.The final question is, once I know what the things are how do I interact with them?

Trajectory Planning
the underlying mathematics that plan for an object's path among other objects.

Dynamics
First we need to understand the dynamics of just one rigid body, and then combine these different dynamics together to understand the articulated multi-body system. To do that several formulations are used.

Control
A lot of the projects in Experimental Robotics involve dynamic skills,throwing a ball into a basket or playing ping-pong,therefore juggling is quite challenging.The lecture gives insight on how to control that.

That's the high level overview, while the detailed syllabus is comprised of:

• Introduction
• Spatial descriptions 1
• Spatial descriptions 2
• Forward Kinematics 1
• Forward Kinematics 2
• Jacobians: Velocities
• Jacobians: Explicit Form
• Jacobians: Static Forces
• Inverse Kinematics/Trajectory generation
• Dynamics: Acceleration and Inertia
• Dynamics: Explicit Form
• Control: PID control
• Control: Joint space control
• Control: Operational space control and Force control

To sum it up,this is a course leaning heavily on the valuable mathematical concepts behind controlling and moving a robot.
If instead you are looking for something more concrete that abstracts those details you better off with an operating system like ROS.

CS223A - Introduction to Robotics

Related Articles

Triple Treat Machine Learning

Gazebo Robot Simulator Makes Version 7

Dashing Diademata, the Future of ROS

PyRobot - Python for Robotics

 World Emoji Day 2024 Surveys Most Confusing Emojis19/07/2024This week sees the 'celebration', if that's the word we're looking for, of World Emoji Day, the annual emoji-fest that has happened on 17 July for the last eleven years. This year we've largely been s [ ... ] + Full Story Rust's Rapid Rise on TIOBE Index10/07/2024Rust is making spectacular progress up the TIOBE index and JavaScript is also on the up and experiencing a personal best. Kotlin is maintaining its inclusion in the top 20 and the gap at the very top  [ ... ] + Full Story More News