tud-amr / fabrics

Optimization fabrics for behavior design
GNU General Public License v3.0
53 stars 8 forks source link

Support for cylinder, capsule or urdf obstacles #127

Open newuhe opened 10 months ago

newuhe commented 10 months ago

Does fabrics support cylinder, capsule or urdf obstacles? It seems now only support static sphere or moving sphere and static cuboid obstacles. Also, if num of obstacles increases to 5 or more, the planning time is quite slow.

maxspahn commented 9 months ago

The supported obstacle you described are correct. There is also support for signed distance Fields. For urdf obstacles you would need to define a function that computes the distance between mesh and robot.

The planning time should be fast, just the generation of the silver at the beginning might take a couple of seconds. Can you point me to the example that is slow?

newuhe commented 9 months ago

For signed distance filed, is there any example for geometric fabrics with some complicated urdf? As to the planning time, if there is obstacle in the scene, the closer the arm is to the target pose, the slower it moves. If there is no obstacle, the arm will reach target pose quickly. The scene is shown below: screenshot-20231212-224431

maxspahn commented 9 months ago

@newuhe You seem to have spotted the example with the point_robot, where we use the euclidean signed distance field, right? Currently, there is no example with a robotic arm and collision avoidance with an arm.

Fabrics are designed to move slow in the proximity of obstacles, that is considered safer. So your described behavior is expected. However, you can always tune up the attractor weight to increase the general speed. Also, the arm will always slow down approaching the target to avoid overshooting.

newuhe commented 9 months ago

I'm confused about definition of the distance between mesh and robot. Should it be signed distance filed? If so the collision avoidance is limited to current point view without consideration of 3D obstacle. Also, if the resolution to compute signed distance filed is expanded to 720,480, the planning time highly increased.

maxspahn commented 9 months ago

Indeed, it is taken the closest point of the robot to the obstacle and its gradient. This is why it is considered a reactive method with no time horizon. However. You can and should take multiple links of your robot for collision avoidance. For the planning time, can you give me an example of that?