-
Notifications
You must be signed in to change notification settings - Fork 43
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
base: dev
Are you sure you want to change the base?
Giskard fallschool changes #226
Conversation
… 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.
…e kept while navigating.
corrected adding of gripper groups
corrected adding of gripper groups
…veTCP. Navigate rotation then translation when transporting to avoid wierd arm pose.
""" | ||
Enum for the different movement types of the robot. | ||
""" | ||
STRAIGHT_TRANSLATION = auto() |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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): |
There was a problem hiding this comment.
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, |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
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': |
There was a problem hiding this comment.
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
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).