Robowflex is a software library for robot motion planning in industrial and research applications, leveraging the popular MoveIt library and Robot Operating System (ROS) middleware. Robowflex takes advantage of the ease of motion planning with MoveIt while providing an augmented API to craft and manipulate motion planning queries within a single program. Robowflex's high-level API simplifies many common use-cases while still providing access to the underlying MoveIt library. Robowflex is particularly useful for 1) developing new motion planners, 2) evaluation of motion planners, and 3) complex problems that use motion planning (e.g., task and motion planning). Robowflex also provides visualization capabilities, integrations to other robotics libraries (e.g., DART and Tesseract), and is complimentary to many other robotics packages. With our library, the user does not need to be an expert at ROS or MoveIt in order to set up motion planning queries, extract information from results, and directly interface with a variety of software components. We provide a few example use-cases that demonstrate its efficacy.
I. INTRODUCTIONRobotic manipulators are becoming ever more prevalent-in the near future, we will begin to see robots in the household, search-and-rescue scenarios, and other forms of service. These manipulators are tasked with increasingly complex goals and environments, blending discrete task planning and continuous motion planning to find a sequence of achievable actions. A core component of any autonomous system that operates within the "real world" is motion planning [1]-[3], which can find feasible motion that satisfies task requirements (e.g., reaching the goal, satisfying some motion constraint, etc.). However, it is difficult in general to tailor a specific motion planning algorithm to a particular use-case, evaluate its capabilities, or modify and integrate it within a broader system.There have been many efforts to develop motion planning software systems that are applicable to general manipulators. A popular and robust library for motion planning is MoveIt [4], which is built on top of the ubiquitous Robot Operating System (ROS) framework [5]. MoveIt has four key advantages: it is widely adopted throughout industry and research, it is easy to setup for new robots and over 150 different robot configurations are already available [6], it is easy to integrate with a broader ROS enabled system, and it has a large and vibrant open source community. However, due to MoveIt's massive scope and abstract architecture, many tasks are difficult for both engineers and researchers. For example, it can be difficult to evaluate and develop planning algorithms, extend a planner's functionality, extract low-level information from planners, or use a planner