  Sampling-based model predictive control (MPC) is a promising tool for
feedback control of robots with complex and non-smooth dynamics and cost
functions. The computationally demanding nature of sampling-based MPC
algorithms is a key bottleneck in their application to high-dimensional robotic
manipulation problems. Previous methods have addressed this issue by running
MPC in the task space while relying on a low-level operational space controller
for joint control. However, by not using the joint space of the robot in the
MPC formulation, existing methods cannot directly account for non-task space
related constraints such as avoiding joint limits, singular configurations, and
link collisions. In this paper, we develop a joint space sampling-based MPC for
manipulators that can be efficiently parallelized using GPUs. Our approach can
handle task and joint space constraints while taking less than 0.02 seconds
(50Hz) to compute the next control command. Further, our method can integrate
perception into the control problem by utilizing learned cost functions from
raw sensor data. We validate our approach by deploying it on a Franka Panda
robot for a variety of common manipulation tasks. We study the effect of
different cost formulations and MPC parameters on the synthesized behavior and
provide key insights that pave the way for the application of sampling-based
MPC for manipulators in a principled manner. Videos of experiments can be found
at: https://sites.google.com/view/manipulation-mppi.
