Skip to content

Conversation

@askuric
Copy link
Contributor

@askuric askuric commented Oct 30, 2025

Repaired collision check with placo.

  • Added simpified collisions in URDF
  • Using placo's collision avoidance rather than the collision check from before

imageimage

imageimage

TAKEAWAY
Placo can now plan for the collisions and adapt the motor control to still be able to execute the task, rather than just collide with the robot body and hope the target is reached approximately.

WITHOUT collision avoidance WITH collision avoidance
Robot body_yaw does not move - the head collides
Kazam_screencast_00043.mp4
Robot body_yaw adapts to allow for low z position
Kazam_screencast_00046.mp4
The robot's body_yaw movement planned without collisions so the head cannot look back when low
Kazam_screencast_00042.mp4
The robot automatically set the body_yaw to be able to look back even if very low
Kazam_screencast_00040.mp4

@askuric askuric requested a review from RemiFabre October 30, 2025 09:41
@askuric askuric linked an issue Oct 30, 2025 that may be closed by this pull request
@RemiFabre
Copy link
Member

I was able to reproduce the avoidance mechanism on an IRL Beta Reachy mini, the same type of movements shown in the simulation videos above. This is very cool!

However, even when multiplying x10 the values below, some collisions persisted:

image

This seems to be related to the cases where the collision model doesn't quite fit the physical model. Antun tried more complex shapes but it created instabilities.

This version is a clear improvement still, as in most cases the collision is greatly reduced. It should merged imo, good work!

For future readers that want to activate this, run the daemon as follows:
reachy-mini-daemon --kinematics-engine Placo --check-collision

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

--check-collision is actually broken somehow 😢

3 participants