April 15, 2021

MoveIt Noetic Update

by Tyler Weaver

We are proud to announce a new release of Noetic is on the way. There were 60 separate commits that are new since the last release of MoveIt. Here is a summary of what new changes there are:

Features

  • Add utility functions to Python PSI: add/detach objects, apply_planning_scene() #2532
  • Make setToIKSolverFrame accessible again #2580
  • Python bindings for moveit_core #2547
  • add get_active_joint_names #2533
  • Provide a function to set the position of active joints in a JointModelGroup #2456
  • RobotModelBuilder: Add parameter to specify the joint rotation axis
  • RobotModelBuilder: Allow adding end effectors #2454
  • Sanitize CHOMP initialization method parameter #2540
  • Order PlaceLocations by quality during planning #2378
  • Support multiple planning pipelines with MoveGroup via MoveItCpp #2127
  • FixStartStateBounds: Copy attached bodies when adapting the start state #2398
  • Allow selecting planning pipeline in RViz MotionPlanningDisplay
  • Low latency mode #2401
  • Update MSA launch templates for multi-pipeline support
  • Add Pilz industrial motion planner #1893

Testing

  • Add test to OMPL interface for StateValidityChecker #2247
  • Add test for PlanningContextManager in ompl interface #2248
  • Enable mesh filter #2448
  • Improve robustness of subframes test #2488
  • Improve robustness of move group interface test #2484
  • Unit Test for ByteString-based ROS msg conversion #2362

Documentation

  • Update doxygen comments for distance() and interpolate() #2528
  • Clean up collision-related log statements #2480
  • Fix doxygen documentation for setToIKSolverFrame #2461
  • Update collision-related comments #2382 #2388
  • Fix some typos in comments #2466
  • Add debugging log statement for a common error #2509

Maintenance

  • Replaced eigen+kdl conversions with tf2_eigen + tf2_kdl #2472
  • Delete CollisionRequest min_cost_density
  • Changed processing_thread_ spin to use std::make_unique instead of new #2412
  • Python3 compatibility for ikfast’s round_collada_numbers.py #2473
  • Fix scaling factor parameter names #2452
  • Suppress warnings “mesh_use_embedded_materials is ignored”
  • Refactor Servo velocity bounds enforcement #2471
  • Cleanup current state handling in servo #2372
  • Change servo namespacing logic #2354
  • MSA launch files: fix indentation #2371
  • pilz planner: add string includes #2483
  • Use kinematics solver timeout if not specified otherwise #2489
  • Upgrade cmake_minimum_required to 3.1 #2453
  • Halt Servo command on Pose Tracking stop #2501

Bug Fixes

  • Fix logic, improve function comment for clearDiffs() #2497
  • Fix RobotState::dropAccelerations/dropEffort to not drop velocities #2478
  • Fix validation of orientation constraints #2434
  • Fix OrientationConstraint::decide #2414
  • Fix missing isEmpty check in compute_ik service #2544
  • It’s not an error not to define a plugin #2521
  • Fixed flood of errors on startup for mesh_filter #2550
  • PlanExecution: Correctly handle preempt-requested flag #2554
  • thread safety in clear octomap & only update geometry #2500
  • Python interface improvements. Fix #1966, add enforceBounds #2356
  • Fix various issues in PlanningScene / MotionPlanning displays #2588
  • Catch exceptions during RobotModel loading in rviz #2468
  • Fix QObject::connect: Cannot queue arguments of type ‘QVector’ #2392
  • stop_requested_ flag clearing fix #2537
  • Add missing include #2519
  • Protect paused_ flag, for thread safety #2494
  • Do not break out of loop – need to update low pass filters #2496
  • Fix initial angle error is always 0 #2464
  • Add an important sleep in Servo pose tracking #2463
  • Prevent moveit_servo transforms between fixed frames from causing timeout #2418
  • Move timer initialization down to fix potential race condition
  • Fix pose tracking race condition #2395
  • Fix servo trajectory point timestamping #2375
  • Fix ordering of windup args to control_toolbox::Pid #2370
  • Fix segfault in MSA #2564
  • Missing RViz and moveit_simple_controller_manager dependencies in MSA template #2455
  • Fix empty sequence in moveit_setup_assistant #2406
  • Add missing dependency on joint_limits_interface #2487

Thank You

This release comes with features from 31 different contributors.

  • AdamPettinger
  • AndyZe
  • Bjar Ne
  • Boston Cleek
  • Christian Henkel
  • Cong Liu
  • David V. Lu!!
  • Felix von Drigalski
  • Henning Kayser
  • Immanuel Martini
  • Jafar Abdi
  • Jere Liukkonen
  • Jeroen
  • John Stechschulte
  • Markus Vieth
  • Michael Görner
  • Nathan Brooks
  • parunapu
  • Peter Mitrano
  • petkovich
  • Pilz GmbH and Co. KG
  • Robert Haschke
  • sevangelatos
  • Shota Aoki
  • Simon Schmeisser
  • Stuart Anderson
  • Thomas G
  • tkovich
  • Tobias Fischer
  • Tyler Weaver
  • Udbhavbisarya23