-
Notifications
You must be signed in to change notification settings - Fork 2
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
New tem3 #3
base: master
Are you sure you want to change the base?
Conversation
34c7088
to
cead252
Compare
}; | ||
|
||
/// Data structure that represents information necessary to execute an interdependent set of trajectories | ||
struct MetaTrajectoryExecutionContext |
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.
Meta sounds to generic, maybe Ordered
or Consecutive
or Sequential
?
You could add a temporary commit to use the modified moveit_msgs branch so ci works again |
1fc70f4
to
cff22fb
Compare
Instead of reverting I was thinking about adding a commit that modifies these lines |
913c310
to
5def0b5
Compare
The collision check of trajectories against the Some tests were also added. TO DO:
|
This is beautiful. Thanks Cristian & co! |
94820d4
to
816382a
Compare
8ba9c89
to
4482d04
Compare
Delay push so that depending on `enable_simultaneous_execution` we push or push-and-execute
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.
halfway through ...
moveit_core/controller_manager/include/moveit/controller_manager/controller_manager.h
Show resolved
Hide resolved
moveit_plugins/moveit_fake_controller_manager/src/moveit_fake_controllers.cpp
Outdated
Show resolved
Hide resolved
moveit_ros/move_group/src/default_capabilities/execute_trajectory_action_capability.cpp
Outdated
Show resolved
Hide resolved
moveit_ros/move_group/src/default_capabilities/execute_trajectory_action_capability.cpp
Outdated
Show resolved
Hide resolved
Attempt to cancel the execution of only the trajectory related to the `GoalHandle`
@simonschmeisser code review
Event-based TEM (v3)
Summary
Add a dynamic reconfigure variable
allow_continuous_execution
to enable non-blocking execution of trajectories.Events: When a new trajectory is pushed, it is immediately validated, by checking that the required controllers are active and not in use and that there are no collisions with active trajectories or the current state of the planning scene. Then, the trajectory is sent for execution in the corresponding controllers.
The execution of each trajectory part will result in the event
EXECUTION_COMPLETED
being triggered. It marks the completion of the execution from the controller's side regardless of the status (SUCCEEDED, ABORTED, ...). If the status of the execution for a trajectory part is SUCCEEDED, we wait until all other parts are completed successfully. If the status of the trajectory is not successful, all other trajectory parts are canceled.The execution of a trajectory can result in the event
EXECUTION_TIMEOUT
being triggered. This occurs when the trajectory execution duration monitor is enabled and the trajectory takes longer to execute than expected. When triggered, all trajectory parts for this trajectory are canceled.Interdependent set of trajectories: The user can define a set of trajectories to be executed in strictly sequential order. In such cases, all the required controllers for the set of trajectories would be locked so that no other trajectory can use them. Example use case: In a picking task, the user would send a trajectory for the robot arm to get into a grasping pose and a trajectory for the gripper to close after reaching the grasping pose (two separate trajectories). After execution of this set of trajectories starts, new trajectories that attempt to use the gripper would be rejected (in the no backlog use case).
TODO
blocking-mode
execution use the event-based approach.Implementplan_execution
'sis_path_valid
in TEMAdd support for backlog mode