Part I: Optimization-based
MIT 6.421
Robotic Manipulation
Fall 2023, Lecture 11
Follow live at https://slides.com/d/naUMBG4/live
(or later at https://slides.com/russtedrake/fall23-lec11)
I would group them into:
"Using trajectory optimization made scooping up to twice as fast"
credit:
Charles W. Wampler and Andrew J. Sommese. Numerical algebraic geometry and algebraic kinematics. Acta Numerica, 20:469-567, 2011.
subject to:
ik = InverseKinematics(plant, plant_context)
ik.AddPositionConstraint(
gripper_frame,
[0, 0, 0],
plant.world_frame(),
pose.translation(),
pose.translation(),
)
ik.AddOrientationConstraint(
gripper_frame,
RotationMatrix(),
plant.world_frame(),
pose.rotation(),
0.0,
)
prog = ik.get_mutable_prog()
q = ik.q()
prog.AddQuadraticErrorCost(np.identity(len(q)), q0, q)
prog.SetInitialGuess(q, q0)
result = Solve(ik.prog())
ik.AddPositionConstraint(
frameB=gripper_frame, p_BQ=[0, 0.1, -0.02],
frameA=cylinder_frame, p_AQ_lower=[0, 0, -0.5], p_AQ_upper=[0, 0, 0.5])
ik.AddPositionConstraint(
frameB=gripper_frame, p_BQ=[0, 0.1, 0.02],
frameA=cylinder_frame, p_AQ_lower=[0, 0, -0.5], p_AQ_upper=[0, 0, 0.5])
for
where C - cylinder, G - Gripper
start
goal
fixed number of samples
collision-avoidance
(outside the \(L^1\) ball)
nonconvex
work by Hongkai Dai et al. at TRI
Danny Driess and Jung-Su Ha and Marc Toussaint, Deep Visual Reasoning: Learning to Predict Action Sequences for Task and Motion Planning from an Initial
Scene Image, Robotics: Science and Systems (R:SS) 2020.