Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ROS2] Improve Collision Scene #65

Open
amalnanavati opened this issue Aug 31, 2023 · 3 comments
Open

[ROS2] Improve Collision Scene #65

amalnanavati opened this issue Aug 31, 2023 · 3 comments

Comments

@amalnanavati
Copy link
Contributor

Right now, our collision scene (#39 ) has several issues:

  1. We have not yet validated that the wheelchair location relative to the robot actually aligns with the true wheelchair. To do this, we should visualize the depth map from the robot's camera in RVIZ and move the wheelchair collision object to align with the real wheelchair.
  2. We have one large wheelchair_collision_object which is meant to expand the wheelchair to account for the user's body/. However, user's have a variety of body types. We have currently implemented a wheelchair_collision_object focused on a large, tall body type. However, if someone who is shorter sits in the wheelchair, their head is in inside the wheelchair_collision_object which means the robot cannot move to their head. We currently address this by turning off the wheelchair_collision_object (see [ROS2] Improve Bite Transfer #64 ) but that is dangerous. Instead, we should do one or more of the following:
    1. We should make the wheelchair_collision_mesh more granular, so as opposed to having one mesh that expands the wheelchair and adds the user body, we separate this into two meshes. Then, when we move the head mesh in bite transfer, we should also move the body mesh. Then we won't have to turn off the body mesh during transfer.
    2. We should rely on an Octomap to get real-time perception of the user, as opposed to relying on pre-defined meshes of abstract human bodies/heads..
@amalnanavati
Copy link
Contributor Author

We should also consider expanding the collision box around the face when not doing the final approach to or retraction from the user's mouth.

@amalnanavati amalnanavati mentioned this issue Sep 7, 2023
8 tasks
@amalnanavati
Copy link
Contributor Author

As of ada_ros2#16, the robot rotates with wheelchair rotations, but the collision meshes do not. We need to find a way to handle this. The simplest way would be to just divide the wheelchair and wheelchair collision mesh in half and rotate the upper half with the robot. Although we'd have to see whether MoveIt updates collision objects if the frame they are in updates.

@amalnanavati
Copy link
Contributor Author

Re. collision objects rotating with the robot, we should consider attaching some of the collision objects to the robot. This can be done with the ApplyPlanningScene service. That service message's fields scene.robot_state.attached_collision_objects lets us define collision objects that are attached to a robot link.

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

No branches or pull requests

1 participant