The aim of this project is to plan a throwing motion for a planar mobile manipulator (MM), in an attempt to increase its workspace or reduce the time needed for a pick and place task. The motion planning problem is formulated as an Optimal Control Problem (OCP) and solved using numerical optimization via the Optimization Toolbox of MATLAB. Robot balance is guaranteed along the whole planned trajectory using an appropriate nonlinear constraint based on the MM full dynamics, ensuring non-negative moments around the edges of the support polygon.
The OCP to solve is the following
The cost function is composed of four terms: we have the running and terminal cost associated to the joint velocity
The following video, available also in the media
folder, shows the obtained solution and the influence of the base penalization parameter
video_aggressive.mp4
More details are available in the pdf, and an extended version of this video, with additional simulations, is available here.
The source
folder contains
dyn_model_complete.m
derives the dynamic model of the robot. It generates 3 functions:get_balance_terms.m
used to formulate the balance constraintget_dyn_terms.m
used for the equations of motion in ct_dynamics.mget_gen_forces.m
that computes the reaction forces used to find the ZMP
optimization.m
solves the Non Linear Programdt_dynamics.m
discretizes the dynamics with 4th-order Runge-Kutta
A skect of the Mobile Manipulator, along with the kinematic and dynamic quantities that are specified in the scripts, can be found in media/MM_measures.PNG
.
Project realized by me ([email protected]) and Giovanbattista Gravina ([email protected])