Robotics Lectures

0 views
Skip to first unread message

Albina Hickel

unread,
Aug 5, 2024, 4:08:41 AM8/5/24
to tiperderssert
AbstractThis course gives an introduction to the Robot Operating System (ROS) including many of the available tools that are commonly used in robotics. With the help of different examples, the course should provide a good starting point for students to work with robots. They learn how to create software including simulation, to interface sensors and actuators, and to integrate control algorithms.

Content: This course consists of a guided tutorial and exercises with increasing level of difficulty when working with an autonomous robot. You learn how to setup such a system from scratch using ROS, how to interface the individual sensors and actuators, and finally how to implement first closed loop control systems.


If you work on a project involving ROS programming under Linux, a native installation will provide you with a more stable and more performant alternative to a Virtual Machine. To set up a native installation, follow the instructions DownloadSetup developer PC (PDF, 91 KB)vertical_align_bottom.




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

The course is presented in a standard format of lectures, readings and problem sets. There will be an in-class midterm and final examination. These examinations will be open book. Lectures will be based mainly, but not exclusively, on material in the Lecture Notes book. Lectures will follow roughly the same sequence as the material presented in the book, so it can be read in anticipation of the lectures



Topics: robotics foundations in kinematics, dynamics, control, motion planning, trajectory generation, programming and design.



Prerequisites: matrix algebra.


Khatib's current research is in human-centered robotics, human-friendly robot design, dynamic simulations, and haptic interactions. His exploration in this research ranges from the autonomous ability of a robot to cooperate with a human to the haptic interaction of a user with an animated character or a surgical instrument. His research in human-centered robotics builds on a large body of studies he pursued over the past 25 years and published in over 200 contributions in the robotics field.Prof. Khatib was the Program Chair of ICRA2000 (San Francisco) and Editor of ``The Robotics Review'' (MIT Press). He has served as the Director of the Stanford Computer Forum, an industry affiliate program. He is currently the President of the International Foundation of Robotics Research, IFRR, and Editor of STAR, Springer Tracts in Advanced Robotics. Prof. Khatib is IEEE fellow, Distinguished Lecturer of IEEE, and recipient of the JARA Award.


The PDF version of these notes are autogenerated from the HTML version. There are a few conversion/formatting artifacts that are easy to fix (please feel free to point them out). But there are also interactive elements in the HTML version are not easy to put into the PDF. When possible, I try to provide a link. But I consider the online HTML version to be the main version.


This book is about nonlinear dynamics and control, with a focus on mechanical systems. I've spent my career thinking about how to make robots move robustly, but also with speed, efficiency, and grace. I believe that this is best achieved through a tight coupling between mechanical design, passive dynamics, and nonlinear control synthesis. These notes contain selected material from dynamical systems theory, as well as linear and nonlinear control. But the dynamics of our robots quickly get too complex for us to handle with a pencil-and-paper approach. As a result, the primary focus of these notes is on computational approaches to control design, especially using optimization and machine learning. When I started teaching this class, and writing these notes, the computational approach to control was far from mainstream in robotics. I had just finished my Ph.D. focused on reinforcement learning (applied to a bipedal robot), and was working on optimization-based motion planning. I remember sitting at a robotics conference dinner as a young faculty, surrounded by people I admired, talking about optimization. One of the senior faculty said "Russ: the people that talk like you aren't the people that get real robots to work." Wow, have things changed. Now almost every advanced robot is using optimization or learning in the planning/control system.


Today, the conversations about reinforcement learning (RL) are loud and passionate enough to drown out almost every other conversation in the room. Ironically, now I am the older professor and I find myself still believing in RL, but not with the complete faith of my youth. There is so much one can understand about the structure of the equations that govern our mechanical systems; algorithms which don't make use of that structure are missing obvious opportunities for data efficiency and robustness. The dream is to make the learning algorithms discover this structure on their own; but even then it pays for you (the designer) to understand the optimization landscape the learning systems are operating on. That's why my goal for this course is to help you discover this structure, and to learn how to use this structure to develop stronger algorithms and to guide your scientific endeavors into learning-based control.


I'll go even further. I'm willing to bet that our views of intelligence in 10-20 years will look less like feedforward networks with a training mode and a test mode, and more like a system with dynamics that ebb and flow in a beautiful dance with streams of incoming data and the ever-changing dynamics of the environment. These systems will move more flexibly between perception, forward prediction / sequential decision making, storing and retrieving long-term memories, and taking action. Dynamical systems theory offers us a way to understand and harness the complexity of these systems that we are building.


Although the material in the book comes from many sources, the presentation is targeted very specifically at a handful of robotics problems. Concepts are introduced only when and if they can help progress the capabilities we are trying to develop. Many of the disciplines that I am drawing from are traditionally very rigorous, to the point where the basic ideas can be hard to penetrate for someone that is new to the field. I've made a conscious effort in these notes to keep a very informal, conversational tone even when introducing these rigorous topics, and to reference the most powerful theorems but only to prove them when that proof would add particular insights without distracting from the mainstream presentation. I hope that the result is a broad but reasonably self-contained and readable manuscript that will be of use to any enthusiastic roboticist.


The material in these notes is organized into a few main parts. "Model Systems" introduces a series of increasingly complex dynamical systems and overviews some of the relevant results from the literature for each system. "Nonlinear Planning and Control" introduces quite general computational algorithms for reasoning about those dynamical systems, with optimization theory playing a central role. Many of these algorithms treat the dynamical system as known and deterministic until the last chapters in this part which introduce stochasticity and robustness. "Estimation and Learning" follows this up with techniques from statistics and machine learning which capitalize on this viewpoint to introduce additional algorithms which can operate with less assumptions on knowing the model or having perfect sensors. The book closes with an "Appendix" that provides slightly more background (and references) for the main topics used in the course.


The order of the chapters was chosen to make the book valuable as a reference. When teaching the course, however, I take a spiral trajectory through the material, introducing robot dynamics and control problems one at a time, and introducing only the techniques that are required to solve that particular problem.


All of the examples and algorithms in this book, plus many more, are now available as a part of our open-source software project: . is a C++ project, but in this text we will use Drake's Python bindings. I encourage super-users or readers who want to dig deeper to explore the C++ code as well (and to contribute back).


Robotics courses cover a wide range of topics essential for understanding and creating robotic systems. These include the basics of robotics, such as kinematics, dynamics, and control systems. Learners will explore topics such as sensors and actuators, programming for robotics, and robot design and construction. Advanced courses might cover areas like machine learning for robotics, human-robot interaction, and autonomous systems. Practical projects and labs help learners apply these concepts to build and program functional robots.


Choosing the right robotics course depends on your current skill level and career aspirations. Beginners should look for courses that introduce the fundamentals of robotics, including basic mechanics, electronics, and programming. Those with some experience might benefit from intermediate courses focusing on advanced robotics topics like machine learning, computer vision, and complex control systems. Advanced learners or professionals seeking specialized knowledge might consider courses on autonomous robots, robotic manipulation, or preparing for certifications in robotics engineering. Reviewing course content, instructor expertise, and learner feedback can help ensure the course aligns with your goals.


A certificate in robotics can open up various career opportunities in engineering, manufacturing, and research. Common roles include robotics engineer, automation specialist, research scientist, and robotics technician. These positions involve designing, building, and maintaining robotic systems, developing automation solutions, and conducting research on advanced robotic technologies. With the growing importance of automation and robotics in various industries, earning a robotics certificate can significantly enhance your career prospects and opportunities for advancement in fields such as aerospace, automotive, healthcare, and consumer electronics.

3a8082e126
Reply all
Reply to author
Forward
0 new messages