7.7.1
Bug Fixes
- Fixed an issue where MoveIt Pro writes objective xml files with too much whitespace.
A small release before the upcoming 8.0 release...
multi_arm_sim
example robot_configPlanToJointGoal
and its MTC-equivalent SetupMTCPlanToJointState
now have a new port called seed
that allows you to specify the seed for the random number generator used during path planning.
The same seed number will generate the same results for the same input parameters.
This can be used to explore other solutions if the one found by the planner with the default seed is not satisfactory.SetupMTCGraspAndTwistThenMoveAlongArcPush
and SetupMTCGraspThenMoveAlongArcPull
Behaviors.
These can be replicated as Objectives using existing Behaviors.SetupMTCApproachGrasp
, SetupMTCConnectWithTrajectory
, SetupMTCMoveToJointState
, SetupMTCMoveToNamedState
, SetupMTCMoveToPose
, SetupMTCPickFromPose
, SetupMTCPickObject
, and SetupMTCPlaceFromPose
to use ProRRT by default.SetupMTCApproachGrasp
now exposes link_padding as a parameter for use with ProRRT.moveit_pro dev
after changing the workspace Dockerfile doesn't use an updated version of the image.MoveIt Pro now supports computing Inverse Kinematics for multiple end-effectors simultaneously using the ComputeInverseKinematics
behavior. This feature is useful for robots with multiple arms or end-effectors that need to reach multiple goals at the same time.
You can now assign categories to objectives, as well as create new categories, from within the UI.
Our example workspace fanuc_sim
is now factory_sim
and contains new assets and example objectives for planar and mesh based reachability analysis.
Creates a new d-pad for pose jog in the sidebar rather than overlaying it on visualization pane
/objective_server_heartbeat
ROS topic with the currently running process runtime, current objective name, and the status of the objective. This topic publishes the moveit_studio_agent_msgs/msg/ObjectiveServerStatus
message.moveit_pro_objectives
package) that can be inherited in any robot config or workspace to speed up development time and increase consistency.ComputeInverseKinematics
behavior to compute IK for multiple end-effectors simultaneously.-l
and --list
options to moveit_pro run
verb to list all available configuration packages in the current user workspace.--browser
(default) and --no-browser
options to prevent the application to launch a new browser window on startup.PublishMask2D
exposes opacity
as an input port to change the translucency of the overlaid masks.InitializeMTCTask
has a new port called trajectory_monitoring
. If it is set to true, every subtrajectory of that task is going to be collision checked against the most recent planning scene right before it is executed. The default value of the port is False
since this additional collision check is only necessary if anything other than the robot state in the planning scene has changed.LoadObjectiveParameters
has been deprecated. Please migrate to declaring ports directly on behaviors, or to specializations of the LoadFromYaml
template behavior.--browser
(default) and --no-browser
options to prevent the application to launch a new browser window on startup.--browser
(default) and --no-browser
options to prevent the application to launch a new browser window on startup.MetadataFields
element is being stripped from an objective's xml file resulting in objectives becoming uncategorized and "subtree only" objectives becoming runnable.hangar_sim
that have large URDFs should now properly do first-time setup of the camera stream layout in the UI.runnable
metadata field in an objective xml file is now the source of truth for specifying "subtree only" objectives. If the _subtreeOnly
BehaviorTree attribute exists in an objective file and runnable
is not set, MoveIt Pro will respect the old BehaviorTree attribute and automatically migrate to runnable
on the next update to the objective.BreakpointSubscriber
behavior would cause the "Stop Motion" button to disappear.PlanToJointGoal
where if the given target robot state message was missing values for some joints in the group, the planner would assume those values were zero.
Now the planner will use the current robot state for those missing joints.moveit_studio::behaviors::createTrajectoryFromWaypoints
-> cartesian_planning::createTrajectoryFromWaypoints
moveit_studio::behaviors::collisionValidationFunction
-> pro_rrt::collisionValidationFunction
moveit_studio::behaviors::planTrajectoryToJointGoal
-> pro_rrt::planTrajectoryToJointGoal
docker-compose.yaml
in the example user workspace for those with NVIDIA hardware.MoveIt Pro now includes a new tool for decimating meshes to increase performance of collision checking and simulation. See the Simulation Troubleshooting Guide for usage details.
The joint control spinner user inputs are now always present and don't require a click to enter into them. They are also refreshed with updated styling and they have been moved into the side bar.
You can now publish text markers in our visualizer, to better help understand and debug your robotics system.
RecordJointTrajectory
Behavior which allows you to record the joint states of a given planning group as a JointTrajectory
message./studio_breakpoint
to /moveit_pro_breakpoint
SwitchUIPrimaryView
behavior no longer throws an error when a topic does not exist yet, and instead displays a placeholder while waiting for the topic to become available.SetupMTCCurrentState
no longer makes a collision check. Planners downstream in the pipeline are responsible for this.
The skip_collision_check
input port is kept for backwards compatibility, but it is now ignored and will be fully removed in the next major release.moveit_pro configure
, users will be asked to re-enter the name if the package cannot be found.Based on a large amount of customer demand, we’ve added a new view pane in the "Run" tab that allows users to introspect the variable value contents of the blackboard.
Now when editing an Objective in the Build tab, the input and in/out ports will now provide a drop down of autocompletion suggestions based on the presence of output and in/out ports in the objective.
Extending our existing Nav2 support, MoveIt Pro now has the ability to visualize a generated navigation path in the "Run" tab visualization panel.
Now when running an Objective, watching the live status of Behavior Trees is more manageable with the ability to collapse and expand subtrees in the Behavior Tree Status panel. This allows you to specify how much of a large Behavior Tree to monitor.
Checkout these new robot worlds to explore the full possibilities of MoveIt Pro:
Mobile manipulator moving cargo boxes in an airplane hangar.
moveit_pro run -c hangar_sim
Engine block machining example with PushCorp end effector on UR10e.
moveit_pro run -c grinding_sim
Client and servicer space vehicles performing grappling operation.
moveit_pro run -c space_satellite_sim
WaitForUserPathApproval
Behavior visualizes a nav_msgs/Path
message in the UI, giving the user the opportunity to either accept or reject the path. Try it out in the hangar_sim
MoveIt Pro configuration.SetupMTCMultiEEFMoveAlongAxis
behavior, for adding a "Move along frame axis" task to an MTC pipeline for multiple end-effectors.ros2_control
.moveit_pro
command line tool error output and print exceptions in red./joint_states
while Teleoperating caused the UI to crash instead of displaying a temporary error message.The ability to get a pose by clicking in the UI has been added via the GetPoseFromUser
Behavior. With this Behavior, you can prompt the user to click in the Visualization
pane in the UI, and return a PoseStamped
message which corresponds the location of the click in the world
frame. This Behavior can be used in conjunction with others, such as NavigateToPoseAction
to command the robot more interactively!
The ComputePathToPoseAction
Behavior was added which interfaces with Nav2. This Behavior is intended to call the /compute_path_to_pose
Nav2 action server so that a nav_msgs/Path
is generated to some goal pose.
The FollowPath
Behavior was added which interfaces with Nav2. This Behavior is intended to call the /follow_path
Nav2 action server with a nav_msgs/Path
message so that Nav2 can follow that path with the desired controller.
SetupMTCBatchPoseIK
, to compute pose inverse kinematics on a given set of target poses and insert the solutions in the MTC pipeline.
This can be used, for instance, for grasping, where the set of grasp poses is computed externally.keep_orientation_link_names
port to the PlanToJointGoal
and SetupMTCPlanToJointState
Behaviors.
This port allows the user to specify the link names where the orientation constraint will be enforced.
Multiple links can be constrained.fanuc_sim
example.servo_node
process rather than the more ambiguous component_container_mt
process.RobotJointState
message, when there was a mismatch between the number of joint names and joint positions.