FiveBars_dynamics.world File Reference

Introduction

A planar five bar mechanism with dynamics.

This tasks consists in throwing a given object from a certain position at a prescribed velocity, indicated with the red arrow. This shows the planner ability to reach goal states ${\bf x}_g$ with nonzero velocity, which would be difficult to achieve with conventional C-space approaches.

Start Goal
[Model Parameters][Problem Dimensions][Forward Singularities][Process and Results][References]

Model Parameters

The robot involves five links cyclically connected with revolute joints from which only the two base joints are actuated.

The lenght of the links are set to

$L_0$ 0.6472
$L_1$ 1.14
$L_2$ 0.9
$L_3$ 0.9
$L_4$ 1.14

The remaining set of geometric and dynamic parameters, such as mass, inertia or friction, are given within the world file accessible at the bottom of the page.

Forward Singularities

Any parallel robot may present forward singularities, which are configurations in which the robot is locally underactuated. In particular, a five-bar robot (with the two base joints actuated) is known to exhibit a forward singularity when its two distal links happen to be aligned. Two examples of forward singularities are shown in the following image:

These configurations are difficult to manage, as they can only be crossed under very specific velocities and accelerations fulfilling certain rank-deficiency conditions. However, since our planner trajectories result from simulating control policies ${\bf u}(t)$ using forward dynamics, they naturally satisfy the mentioned conditions at the singularities, and are thus kinematically and dynamically feasible even in such configurations.

Problem Dimensions

The dimensions of the problem are

Nbr. of joints 5
Nbr. of states 10
Nbr. of actuators 2
Nbr. of position equations 3
Nbr. of position and velocity equations 6
State-space manifold dimension 4

Process and Results

This example is used to show how the kinodynamic planner is able to deal with start or goal states with non-zero velocity and how it is able to cross forward singularities.

To solve the kinodynamic planning problem, follow these steps (from the main CuikSuite folder):

  • Run the kinodynamic RRT algorithm:
  • Execute the trajectory:
    • scripts/cuikplayer examples/FourBars/FourBars_pendulum examples/FourBars/FourBars_pendulum_traj.sol

The video is slowed down when the robot is crossing forward singularities. We see that the robot passes through these configurations in a smooth and predictable manner with no difficulty.

Note that, while such a trajectory would be difficult to execute using classical computed-torque controllers, the LQR controller for closed kinematic chains presented in [1] have no trouble in accomplishing this task. Forward singularities can still be avoided by using the formulation presented in [2]. In practice, just uncomment the corresponding lines in the world file to enable the singularity avoidance constraints.

References

[1] R. Bordalba, J. M. Porta, and L. Ros. A singularity-robust LQR controller for parallel robots. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 270–276, 2018.

[2] R. Bordalba, J. M. Porta, and L. Ros. Randomized planning of dynamic motions avoiding forward singularities. In Advances in Robot Kinematics, pages 170–178, 2018.

Definition in file FiveBars_dynamics.world.