TwoPandas.world File Reference

Introduction

This task involves two 7-DOF Franka Emika arms moving a gas bottle cooperatively. The task consists in lifting the bottle onto a truck while avoiding the collisions with the surrounding obstacles (a conveyor belt, the ground, and the truck). The first and last joints in each arm are held fixed during the task, and the goal is to compute control policies for the remaining joints, which are all actuated. The weight of the bottle is twice the added payload of the two arms, so in this example the planner allows the system to move much beyond its static capabilities.

Start Goal
[Model][Problem Dimensions][Process and Results]

Model

Note that, unlike parallel robots, serial robots have actuation in all joints. Thus, in this example there are a total of 10 actuated joints, considering the first and last joints in each arm are fixed.

The set of geometric and dynamic parameters are given within the world file accessible at the bottom of the page.

Problem Dimensions

Considering the first and last joints in each arm are fixed, the dimensions of the problem are

Nbr. of joints 10
Nbr. of states 20
Nbr. of actuators 10
Nbr. of position equations 6
Nbr. of position and velocity equations 12
State-space manifold dimension 8

Process and Results

This example illustrates that a randomized steering strategy performs poorly when the number of actuators is large. In this case, the number of actuators is 10, which is notably higher than in the previous examples. Note that the number of random actions needed to properly represent the action space should be proportional to its volume, so it should grow exponentially with the number of actuators in principle. In contrast, the LQR strategy proposed in the TRO19 paper only computes one control policy per branch extension, so an increase in the number of actuators does not affect the planning time dramatically.

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

  • Run the kinodynamic RRT algorithm:
  • Execute the trajectory:

Definition in file TwoPandas.world.