The Next Big Push

MoveIt! Interfaces

MoveIt

Starting Stances, loaded from config files – DONE

KickIt states (or function mechanism) – Idea is that MoveIt often needs to be asked twice in order to do something correctly (like compute a trajectory), so we need a way to retry on abort x number of times. – See MoveIt3

Navigation Realignment SuperStates, if pose not reached (ABORT), then navigate backwards .1m, – This needs a superstate with it’s own loops.

  • case too close (collision),
  • case too far (no valid path)

Starting Stance to Cartesian Motion Motif.

The Wait Problem. – In Moveit, we need to wait in order to get a plan back (see cb_move_cartesian_relative.cpp) because we’re in onEntry()

We can use either a new thread, or an update function. – We decided to go with the update function method first, so that we can keep tighter control of our threads…


Next example. 6 tables, 6 cube colors on one table, separating the cube to all the other tables…

Next example after that, Picking the cubes up off the floor (searching via a navigation plan)…

Panda example

Goal is to make the examples bulletproof.


We need to be able to take messages from MoveIt, (Collision, Plan not found, Controller loses track of trajectory), and then respond (via a transition) to a state. Using moveit_msgs/MoveItErrorCodes?


Joint Discontinuity Problem

This is the file where v4hn put in place the rejection sampling code. See line 458 and down…

https://github.com/ros-planning/moveit/blob/master/moveit_planners/ompl/ompl_interface/src/planning_context_manager.cpp#L478

ROS-I

https://rosindustrial.squarespace.com/news?offset=1533660079053

Using Tesseract for collision checking and Trajopt.

Also, maybe yak_ros