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

Giskard fallschool changes #226

Open
wants to merge 11 commits into
base: dev
Choose a base branch
from

Conversation

AbdelrhmanBassiouny
Copy link
Collaborator

Updates to Giskard interface like:

Allow / Disable gripper collision fix where incorrect links were used + added a configuration parameter and a passable argument to achieve_cartesian_goal.

Use of seed configuration only in projection mode.

Added MovementType Enum to use the correct motion in Giskard.

Added a world configuration parameter that controls the use of Giskard monitors.

Added a parameter that controls the pickup prepose distance (I think the best solution is to use the knowledge here).

… giskard.

Updated robot_description usage from old version to new version in Giskard.

Added options for disabling monitors and allowing gripper collision in achieve_cartesian_goal in Giskard and added these options to the configurations of the world.

Added a globale variable that indicates if robokudo was found or not to avoid using real detection processs module if Robokudo was not found.
…veTCP.

Navigate rotation then translation when transporting to avoid wierd arm pose.
"""
Enum for the different movement types of the robot.
"""
STRAIGHT_TRANSLATION = auto()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the context it is not understandable to me what these enums fields mean. Please provide docsstring for them

@@ -70,3 +70,6 @@ class MultiverseConfig(WorldConfig):

position_tolerance = 2e-2
prismatic_joint_position_tolerance = 2e-2

use_giskard_monitor = False
allow_gripper_collision = False
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this a global parameter? that should be depending on the Motion.

Whether to use the Giskard goal monitor when executing the goals.
"""

allow_gripper_collision: bool = True
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, why a global parameter?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is nothing here?!

@@ -279,7 +279,8 @@ class NavigateAction(ActionDesignatorDescription):
"""

def __init__(self, target_locations: List[Pose], resolver=None,
ontology_concept_holders: Optional[List[Thing]] = None):
ontology_concept_holders: Optional[List[Thing]] = None,
keep_joint_states: bool = False):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add this to the doc sting

@@ -310,14 +312,18 @@ class TransportAction(ActionDesignatorDescription):
def __init__(self,
object_designator_description: Union[ObjectDesignatorDescription, ObjectDesignatorDescription.Object],
arms: List[Arms],
target_locations: List[Pose], resolver=None,
target_locations: List[Pose],
pickup_prepose_distance: float = 0.15,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea! But 15 centimeter is a bit much, I think that is also why the action_designator examples fails the CI

@@ -838,11 +843,17 @@ class NavigateActionPerformable(ActionAbstract):
"""
Location to which the robot should be navigated
"""

keep_joint_states: bool = False
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? Does this not cause problems with the collision avoidance? and the optional parameter is in the dataclass when it should be in the description

@@ -863,13 +874,19 @@ class TransportActionPerformable(ActionAbstract):
"""
Target Location to which the object should be transported
"""

pickup_prepose_distance: float = 0.07
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WTF? Now it is 7 centimeter and also in the dataclass?

@@ -23,6 +22,7 @@
try:
from giskardpy.python_interface.old_python_interface import OldGiskardWrapper as GiskardWrapper
from giskard_msgs.msg import WorldBody, MoveResult, CollisionEntry
from giskard_msgs.srv import UpdateWorld
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this import since it is not in the giskard_msgs anymore

@@ -314,9 +315,25 @@ def achieve_joint_goal(goal_poses: Dict[str, float]) -> 'MoveResult':
return giskard_wrapper.execute()


def set_joint_goal(goal_poses: Dict[str, float]) -> None:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is already achieve_joint_goal

return giskard_wrapper.execute()


@init_giskard_interface
@thread_safe
def achieve_straight_cartesian_goal(goal_pose: Pose, tip_link: str,
root_link: str) -> 'MoveResult':
root_link: str, allow_gripper_collision_: bool = False) -> 'MoveResult':
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

underscore.
allow_gripper_collsision allows to specify the gripper. Please use this instead of always allowing all grippers to collide

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.

3 participants