russtedrake PRO
Roboticist at MIT and TRI
MIT 6.881: Robotic Manipulation
Fall 2020, Lecture 17
Follow live at https://slides.com/russtedrake/fall20-lec17/live
(or later at https://slides.com/russtedrake/fall20-lec17)
OpenAI - Learning Dexterity
Recipe:
http://www.ai.mit.edu/projects/leglab/robots/robots.html
Levine*, Finn*, Darrel, Abbeel, JMLR 2016
this slide is from Sean Meyn's talk at Simon's RL Bootcamp, Sept 2020
this slide is from Sean Meyn's talk at Simon's RL Bootcamp, Sept 2020
this slide is from Sean Meyn's talk at Simon's RL Bootcamp, Sept 2020
import gym
from gym import error, spaces, utils
from gym.utils import seeding
class FooEnv(gym.Env):
metadata = {'render.modes': ['human']}
def __init__(self):
...
def step(self, action):
...
def reset(self):
...
def render(self, mode='human'):
...
def close(self):
...http://gym.openai.com/
import pydrake.all
builder = DiagramBuilder()
....
diagram = builder.Build()
simulator = Simulator(diagram)
simulator.AdvanceTo(...)
observation = sensor_output_port->Eval(context)
reward = reward_output_port->Eval(context)
context = diagram.CreateDefaultContext()
meshcat.Publish(context)(Image source: Tobin et al, 2017)
https://en.wikipedia.org/wiki/CMA-ES
OpenAI - Learning Dexterity
"PPO has become the default reinforcement learning algorithm at OpenAI because of its ease of use and good performance."
https://openai.com/blog/openai-baselines-ppo/
(better controller parameterizations?)
A simple counter-example from static output feedback:
http://underactuated.mit.edu/policy_search.html
The set of stabilizing \(k\) is a disconnected set.
|
k |
Maximum real closed-loop eigenvalue |
|---|---|
| 0.9 | -0.035 |
| 1.5 | 0.032 |
| 2.1 | -0.009 |
http://underactuated.csail.mit.edu/lqr.html
HSCC, 2020
Simple example: for linear Gaussian, this will recover the (unrolled) LQG controller.
(Kalman gains + LQR, up to the similarity transform)
ADPRL, 2012
By russtedrake
MIT Robotic Manipulation Fall 2020 http://manipulation.csail.mit.edu