0% found this document useful (0 votes)
249 views24 pages

Principles of Robot Autonomy I: Course Overview, Mobile Robot Kinematics

This document provides an overview of a course on principles of robot autonomy. The course aims to teach theoretical, algorithmic, and implementation aspects of techniques for robot autonomy. It will cover topics like motion control and planning, perception, localization and SLAM, and system architecture. The course uses the Robot Operating System and requires background in calculus, linear algebra, and probability theory. It is structured in four modules and includes lectures, sections for hands-on exercises, assignments, and a final project. The document also discusses mobile robot kinematics and models like the unicycle model.

Uploaded by

ratjerry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
249 views24 pages

Principles of Robot Autonomy I: Course Overview, Mobile Robot Kinematics

This document provides an overview of a course on principles of robot autonomy. The course aims to teach theoretical, algorithmic, and implementation aspects of techniques for robot autonomy. It will cover topics like motion control and planning, perception, localization and SLAM, and system architecture. The course uses the Robot Operating System and requires background in calculus, linear algebra, and probability theory. It is structured in four modules and includes lectures, sections for hands-on exercises, assignments, and a final project. The document also discusses mobile robot kinematics and models like the unicycle model.

Uploaded by

ratjerry
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Principles of Robot Autonomy I

Course overview, mobile robot kinematics


From automation…

9/21/21 AA 274A | Lecture 1 2


…to autonomy

9/21/21 AA 274A | Lecture 1 3


Course goals
• To learn the theoretical, algorithmic, and implementation aspects of
main techniques for robot autonomy. Specifically, the student will
1. Gain a fundamental knowledge of the “autonomy stack”
2. Be able to apply such knowledge in applications / research by using ROS
3. Devise novel methods and algorithms for robot autonomy

9/21/21 AA 274A | Lecture 1 4


The see-think-act cycle
Knowledge Mission goals
Localiza(on posi(on Decision making
Map Building global map Mo(on planning

environmental model trajectory


local map

Informa(on Trajectory
extrac(on execu(on

actuator
raw data commands
See-think-act
Sensing Actua(on

Real world
environment

9/21/21 AA 274A | Lecture 1 5


Course structure
• Four modules, roughly of equal length
1. motion control and planning
2. robotic perception
3. localization and SLAM
4. state machines and system architecture

• Extensive use of the Robot Operating System (ROS)

• Requirements
• CS 106A or equivalent
• CME 100 or equivalent (for calculus, linear algebra)
• CME 106 or equivalent (for probability theory)
• See also the pre-knowledge quiz on the course website
9/21/21 AA 274A | Lecture 1 6
Logistics
• Lectures:
• Tuesdays and Thursdays, 9:45am – 11:15am (NVIDIA Auditorium)
• Recordings will be made available to all students on Canvas.

• Sections
• 2-hour, once-a-week sessions starting Week 2
• Hands-on exercises that complement the lecture material, build
familiarity with ROS, develop skills necessary for the final project

• Link to the section sign-up sheet


9/21/21 AA 274A | Lecture 1 7
Logistics
• Office hours:
• Dr. Schmerling: Thursday, 12:45 – 1:45pm (Durand 217) and by appointment
• CAs: Monday, 1:00 – 3:00pm (Skilling Lab); Tuesday 11:30am – 1:30pm (Zoom);
Friday, 10:00am – 12:00pm (Zoom)

• Course websites:
• For course content and announcements: http://asl.stanford.edu/aa274a/
• For course-related questions: https://edstem.org/us/courses/14340
• For homework submissions: https://www.gradescope.com/courses/309846
• For lecture videos: https://canvas.stanford.edu/courses/142088
• To contact the AA274 staff, use the email: aa274a-aut2122-
[email protected]
9/21/21 AA 274A | Lecture 1 8
Grading
• Course grade calculation
• (20%) final project
• (60%) homework
• (20%) sections
• (extra 5%) participation on Piazza

9/21/21 AA 274A | Lecture 1 9


9/21/21 AA 274A | Lecture 1 10
Team
Instructor CAs Somrita Banerjee Robin Brown

Ed Schmerling
Research Engineer
Associate Director, Stanford
Autonomous Systems Lab

Collaborators Labs
• Daniel Watzenig

Thomas Lew Stephanie Schneider


9/21/21 AA 274A | Lecture 1 11
Schedule

9/21/21 AA 274A | Lecture 1 12


Mobile robot kinematics
• Aim
• Understand motion constraints
• Learn about basic motion models for wheeled vehicles
• Gain insights for motion control

• Readings
• R. Siegwart, I. R. Nourbakhsh, D. Scaramuzza. Introduction to Autonomous
Mobile Robots. MIT Press, 2nd Edition, 2011. Sections 3.1-3.3.
• B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo. Robotics: Modelling, Planning,
and Control. Springer, 2008 (chapter 11).

9/21/21 AA 274A | Lecture 1 13


Holonomic constraints
• Let 𝜉 = 𝜉! , … , 𝜉" # denote the configuration of a robot (e.g., 𝜉 =
𝑥, 𝑦, 𝜃 # for a wheeled mobile robot)

• Holonomic constraints
• ℎ! 𝜉 = 0, for 𝑖 = 1, … , 𝑘 < 𝑛
• Reduce space of accessible configurations to an 𝑛 − 𝑘
dimensional subset
• If all constraints are holonomic, the mechanical system
is called holonomic
• Generally the result of mechanical interconnections

9/21/21 AA 274A | Lecture 1 14


Kinematic constraints
• Kinematic constraints

• constrain the instantaneous admissible motion of the mechanical system


• generally expressed in Pfaffian form, i.e., linear in the generalized velocities

• Clearly, 𝑘 holonomic constraints imply the existence of an equal


number of kinematic constraints

• However, the converse is not true in general…


9/21/21 AA 274A | Lecture 1 15
Nonholonomic constraints
• If a kinematic constraint is not integrable in the form ℎ$ 𝜉 = 0,
then it is said nonholonomic -> nonholonomic mechanical system
• Nonholonomic constraints reduce mobility in a completely different
way. Consider a single Pfaffian constraint

• Holonomic • Nonholonomic
• Can be integrated to ℎ 𝜉 = 0 • Velocities constrained to belong
• Loss of accessibility, motion to a subspace of dimension 𝑛 −
constrained to a level surface of 1, the null space of 𝑎" 𝜉
dimension 𝑛 − 1 • No loss of accessibility
9/21/21 AA 274A | Lecture 1 16
Example of nonholonomic system
• System: disk that rolls
without slipping y ✓

• 𝜉 = 𝑥, 𝑦, 𝜃 #
x
• No side slip constraint

• Facts:
• No loss of accessibility
• Wheeled vehicles are generally nonholonomic
9/21/21 AA 274A | Lecture 1 17
Types of wheels
• Standard wheels (four types)
YR YR

Robot Robot
chassis chassis

P XR
P XR

Standard, off-centered wheel (caster)


Standard wheel -- fixed or steerable
-- passive or active

• Special wheels: achieve omnidirectional motion (e.g., Swedish or


spherical wheels)
9/21/21 AA 274A | Lecture 1 18
Kinematic models
• Assume the motion of a system is subject to k Pfaffian constraints
2 3
aT1 (⇠)
6 .. 7 ⇠˙ := AT (⇠)⇠˙ = 0
4 . 5
aTk (⇠)
• Then, the admissible velocities at each configuration 𝜉 belong to
the (n − k)-dimensional null space of matrix 𝐴# (𝜉)
• Denoting by {𝑔! 𝜉 , … , 𝑔"%& (𝜉)} a basis of the null space of 𝐴# (𝜉),
admissible trajectories can be characterized as solutions to

Input vector

9/21/21 AA 274A | Lecture 1 19


Example: unicycle
• Consider pure rolling constraint for the wheel:

• Consider the matrix

where [𝑔! 𝜉 , 𝑔' (𝜉)] is a basis of the null space of 𝑎# (𝜉)

• All admissible velocities are therefore obtained as linear


combination of 𝑔! 𝜉 and 𝑔' (𝜉)
9/21/21 AA 274A | Lecture 1 20
Unicycle and differential drive models
0 1 0r 1
ẋ 2 (!l + !r ) cos ✓
@ẏ A = @ r (!l + !r ) sin ✓ A
2
˙✓ r
L (!r !l )

(x, y) Unicycle (x, y) Differential drive



|!l |  !l,max
L
r
|!r |  !r,max

The kinematic model of the unicycle also applies to the r r


v = (!r + !l ) ! = (!r !l )
differential drive vehicle, via the one-to-one input mappings: 2 L
9/21/21 AA 274A | Lecture 1 21
Simplified car model
0 1 0 1 Simple car
ẋ v cos ✓
@ẏ A = @ v sin ✓ A
✓˙ v
L tan L


|v|  vmax , | |  max < Simple car model
2

v 2 { vmax , vmax }, | |  max < Reeds&Shepp’s car
2

v = vmax , | |  max < Dubins’ car
2
References: (1) J.-P. Laumond. Robot Motion Planning and Control. 1998. (2) S. LaValle.
Planning algorithms, 2006.
9/21/21 AA 274A | Lecture 1 22
From kinematic to dynamic models
• A kinematic state space model should be interpreted only as a
subsystem of a more general dynamical model

• Improvements to the previous kinematic models can be made by


placing integrators in front of action variables

• For example, for the unicycle model, one can set the speed as the
integration of an action 𝑎 representing acceleration, that is

ẋ = v cos ✓, ẏ = v sin ✓, ✓˙ = !, v̇ = a

9/21/21 AA 274A | Lecture 1 23


Next time

9/21/21 AA 274A | Lecture 1 24

You might also like