Abstract
This paper presents a framework for optimizing both the shape and the motion of a planar rigid endeffector to satisfy a desired manipulation task. Both shape and motion play key roles in determining contact interaction, and while both are commonly seen as design/control freedoms, their synergies are rarely formally explored. In this paper we study quasistatic problems like cam design, or dynamic problems like ball throwing, where both the shape and motion of the surfaces at contact are relevant. We frame this design problem as a nonlinear optimization program, where shape and motion are decision variables represented as splines. The task is represented as a series of constraints, along with a fitness cost, which force the solution to be compatible with the dynamics of frictional hard contact while satisfying the task. We illustrate the approach with the example problem of moving a disk along a desired path or trajectory, and we verify it by applying it to three classical design problems: the rolling brachistochrone, the design of teeth of involute gears, and the pitch curve of rolling cams. We conclude with a case study involving the optimization and real implementation of the shape and motion of a dynamic throwing arm.
This is a preview of subscription content, log in to check access.
Access options
Buy single article
Instant unlimited access to the full article PDF.
US$ 39.95
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
US$ 99
This is the net price. Taxes to be calculated in checkout.
References
Becker, A., & Bretl, T. (2012). Approximate steering of a plateball system under bounded model perturbation using ensemble control. In IEEE/RSJ international conference on intelligent robots and systems (IROS) (pp. 5353–5359).
Brokowski, M., Peshkin, M., & Goldberg, K. (1995). Optimal curved fences for part alignment on a belt. TransactionsAmerica Society of Mechanical Engineers Journal of Mechanical Design, 117, 27–35.
Caine, M. (1994). The design of shape interactions using motion constraints. In IEEE international conference on robotics and automation (ICRA) (pp. 366–371).
Chen, P. T. (2010). Simulation and optimization of a twowheeled, ballflinging robot. Masters thesis, University of California, San Diego.
Cristescu, A., Cristescu, B., & Laurenia, A. (2014). Generalization of multispeed gear pitch curves design. Applied Mechanics and Materials, 659, 559–564.
Gill, P. E., Murray, W., & Saunders, M. A. (2005). SNOPT: An SQP algorithm for largescale constrained optimization. SIAM Review, 47(1), 99–131.
Goss, V. G. A. (2013). Application of analytical geometry to the form of gear teeth. Resonance, 18(9), 817–831.
Ha, S., Coros, S., Alspach, A., Kim, J., & Yamane, K. (2017). Joint optimization of robot design and motion parameters using the implicit function theorem. In Robotics: Science and systems.
Hargraves, C. R., & Paris, S. W. (1987). Direct trajectory optimization using nonlinear programming and collocation. Journal of Guidance, Control, and Dynamics, 10(4), 338–342.
Lippiello, V., Ruggiero, F., & Siciliano, B. (2016). The effect of shapes in inputstate linearization for stabilization of nonprehensile planar rolling dynamic manipulation. IEEE Robotics and Automation Letters, 1(1), 492–499.
Litvin, F. L., FuentesAznar, A., GonzalezPerez, I., & Hayasaka, K. (2009). Noncircular gears: Design and generation. New York: Cambridge University Press.
Liu, J. Y., & Chen, Y. C. (2008). A design for the pitch curve of noncircular gears with function generation. In Proceedings of the international multiconference of engineers and computer scientists (Vol. 2).
Lynch, K. M., & Mason, M. T. (1999). Dynamic nonprehensile manipulation: Controllability, planning, and experiments. The International Journal of Robotics Research, 18(1), 64–92.
Lynch, K. M., Shiroma, N., Arai, H., & Tanie, K. (1998). The roles of shape and motion in dynamic manipulation: The butterfly example. In IEEE international conference on robotics and automation (ICRA) (pp. 1958–1963).
Montana, D. J. (1988). The kinematics of contact and grasp. The International Journal of Robotics Research, 7(3), 17–32.
Posa, M., Cantu, C., & Tedrake, R. (2014). A direct method for trajectory optimization of rigid bodies through contact. The International Journal of Robotics Research, 33(1), 69–81.
Reist, P., & D’Andrea, R. (2009). Bouncing an unconstrained ball in three dimensions with a blind juggling robot. In IEEE international conference on robotics and automation (ICRA) (pp. 1774–1781).
Reist, P., & D’Andrea, R. (2011). Design of the pendulum juggler. In IEEE international conference on robotics and automation (ICRA) (pp. 5154–5159).
Rodgers, E. (1946). Brachistochrone and tautochrone curves for rolling bodies. American Journal of Physics, 14(4), 249–252.
Rodriguez, A. (2013). Shape for contact. Ph.D. thesis, CMURITR1321, Carnegie Mellon University.
Rodriguez, A., & Mason, M. T. (2012). Grasp invariance. The International Journal of Robotics Research, 31(2), 237–249.
Rodriguez, A., & Mason, M. T. (2013). Effector form design for 1DOF planar actuation. In IEEE international conference on robotics and automation (ICRA) (pp. 349–356).
Ryu, J. C., Ruggiero, F., & Lynch, K. M. (2012). Control of nonprehensile rolling manipulation: Balancing a disk on a disk. In IEEE international conference on robotics and automation (ICRA) (pp. 3232–3237).
Sussmann, H. J., & Willems, J. C. (1997). 300 years of optimal control: From the brachystochrone to the maximum principle. IEEE Control Systems Magazine, 17(3), 32–44.
Yang, D. C., & Tong, S. H. (1998). Generation of identical noncircular pitch curves. Journal of mechanical design, 120, 337–341.
Zarbski, I., & Saaciski, T. (2008). Designing of noncircular gears. Archive of Mechanical Engineering, 55(3), 275–292.
Author information
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This is one of several papers published in Autonomous Robots comprising the “Special Issue on Robotics Science and Systems”.
Electronic supplementary material
Below is the link to the electronic supplementary material.
Supplementary material 1 (mp4 20699 KB)
Appendices
A Collocation details
A.1 Motion variables
Let’s consider a motion variable \(\xi (t)\) represented using N evenly spaced basis function, in a nonlinear program that makes use of \(M+1\) evenly spaced collocation points. If the time length of the trajectory is \(\tau \), then the jth collocation point corresponds to time \(t_j=\frac{\tau }{M}j\). As described in Sect. 5, \(\xi (t)\) equals:
where
For the sake of completeness, we list the definition of \(\varPhi (x)\) and its derivatives:
As a quick reminder, this choice of \(\varPhi (x)\) is special because:

It is twice differentiable

It vanishes outside the interval \([\,2,2]\)

It is constructed out of 3rd degree polynomials (which is the minimum degree required for it to be twice differentiable)

It has evenly spaced knot points.
Differentiating, we find expressions for \(\dot{\xi }(t)\) and \(\ddot{\xi }(t)\):
In the optimization, \(\xi (t)\) and its derivatives are only evaluated at the collocation points \(t_j=\frac{\tau }{M}j\). Substituting this in for t, we find that:
It is important to remember that the actual decision variables in the optimization are the weights of the basis functions \(\alpha _1\ldots \alpha _N\) used to describe each of the continuous decision variables \(\xi (x)\), and the inverse of the time length of the trajectory \(\frac{1}{\tau }\). Thus, it would be useful to be able to quickly map \(\frac{1}{\tau }\) and the vector of basis function weights,
to the vectors encoding the values of \(\xi \) and its derivatives evaluated at the collocation points:
To do this, we define transformation matrices \(D^0\), \(D^1\), \(D^2\):
These matrices are constant for a given choice of (M, N), meaning that they only need to be evaluated once at the start of the optimization. The matrices are also sparse, since \(\varPhi (x)\),\(\dot{\varPhi }(x)\),\(\ddot{\varPhi }(x)\) vanish outside of the interval \([\,2,2]\). It follows that:
We construct transformation matrices for each motion variable, since each motion variable can be represented with a different number of basis functions. This framework gives us the flexibility to tune the resolution of each spline independently, while managing the necessary rescaling operations to ensure that each motion variable is evaluated across the same time interval.
A.2 Shape variables
We represent shape as a parametric curve: \(\left( X(s),Y(s)\right) \). Like the motion variables, X(s) and Y(s) are described as a sum of basis functions,
where the basis function \(\varPhi \) is described in Sect. A.1. Unlike the motion variables, which can have varying resolutions, we use the same number of basis functions to describe the X and Y splines of a given shape. Since the contact parameter s(t) is one of the motion variables in the optimization, it follows that \(\varPhi (s(t_j)ik)\) is not constant during the optimization. Thus, there is no benefit in constructing a set of transformation matrices for X and Y as we did in Sect. A.1. Instead, we must reevaluate \(\varPhi ,\dot{\varPhi }\) using (27) and (28) each time we compute X, Y and their derivatives.
B Toy problem implementation
In this section, we will describe the specifics details of converting the toy problem into a nonlinear program.
B.1 Variable definitions
For the sake of simplicity, we will assume that each motion variable uses the same number of basis functions. In this case, if the motion variables use N basis functions and the shape variables use L basis functions, then the decision variables in the optimization are the vectors of basis function weights for each continuous decision variable:
We include an additional decision variable \(\nu =\frac{1}{\tau }\), where \(\tau \) is the time length of the trajectory. For the toy problem, we assume that the ball is a circle of radius r, and the hand is constrained to rotate about the origin, meaning that the decision variables \(\bar{p}_{hx},\bar{p}_{hy},\bar{c}_{bx},\bar{c}_{by}\) are absent from the optimization.
If \(\xi _j,\xi '_j,\xi ''_j\) denote the value of a continuous decision variable and its derivatives evaluated at the jth collocation point, then for M \(+\) 1 collocation points this can be represented in vector form as:
As shown in Sect. A.1, we see that if \(\xi (t)\) is a motion variable, then we can use the transformation matrices \(D^0,D^1,D^2\) to quickly map \(\bar{\xi }\) and \(\nu \) to \(\xi _j,\xi '_j,\xi ''_j\):
To evaluate the hand shape and its tangency vector at the jth collocation point, we use the definitions:
Since the ball is a circle of radius r, the ball shape and its tangecny vector at the jth collocation point are given by:
B.2 Function definitions
We define R as a function that maps angle \(\theta \) to the rotation matrix corresponding to a counterclockwise rotation by \(\theta \):
We define \(\angle \) as the function that maps the vector \([x,y]^T\) to its polar angle:
B.3 Constraints
At the jth collocation point, we apply the kinematic and dynamic constraints of motion, as described in Sect. 4.1.
Contact constraint
Tangency constraint
Here, \(k_j\) is the integer used to deal with the fact that the original tangency constraint is true mod \(2\pi \). It is chosen at each constraint evaluation to minimize the constraint error.
Rolling constraint
Inertia constraint
Friction cone constraint
where
Task constraints
To constrain the ball to move along a specific path, we use the constraint:
If we want to control both the spatial path, and the speed of the ball as it travels, we instead fix the decision variables for the position of the ball and the length of the trajectory:
We can fix the motion of the hand using the constraints:
If instead we’d like to fix the shape of the hand, we use the constraint:
Rights and permissions
About this article
Cite this article
Taylor, O., Rodriguez, A. Optimal shape and motion planning for dynamic planar manipulation. Auton Robot 43, 327–344 (2019). https://doi.org/10.1007/s105140189773y
Received:
Accepted:
Published:
Issue Date:
Keywords
 Manipulation
 Optimization
 Robot end effector design