Skip to content
The Better Benching Framework™
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CMakeModules
robowflex
robowflex_doc
robowflex_library
robowflex_movegroup
robowflex_ompl added missing dependency (#39) Mar 21, 2019
robowflex_tesseract
robowflex_visualization
tmpack
.clang-format
.clang-tidy
.gitattributes
.gitignore
.style.yapf
LICENSE
README.md

README.md

robowflex 💪🤖

The Better Robot Benching Framework™. Documentation for this project can be read online at GitHub pages.

robowflex_library

A library that simplifies using MoveIt! in applications. Examples of basic motion planning, benchmarking of planning requests, and input/output can be found in the robowflex_library/scripts directory.

robowflex_visualization

Python scripts for visualizing robots and motion plans in Blender. See robowflex_visualization/README.md for more information on how to use.

robowflex_ompl

An optionally compiled library component that adds more direct access to OMPL through a new robowflex::Planner. Requires moveit_planners_ompl, from MoveIt!. Some basic examples of how to use the new planner are in robowflex_ompl/scripts.

robowflex_tesseract

An optionally compiled library component that adds support for tesseract-based planners. Currently, only OMPL-based planning is available. Requires both tesseract and trajopt. Some basic examples of how to use the new planner(s) are in robowflex_tesseract/scripts.

robowflex_movegroup

A library component with helper classes and functions to interact with a move_group process being used for motion planning. Scenes can be pushed and pulled and trajectories can be executed with this component through move_group.

tmpack

Task and motion planning using robowflex as the motion planning layer.

robowflex_doc

Documentation for all library and module components in robowflex (sans tmpack). Documentation is automatically generated using Doxygen, and is placed in ${CATKIN_DEVEL_PREFIX}/share/robowflex_doc/doc/index.html. The online version exists here.

Installation Instructions

Robowflex is supported on many ROS platforms, from Indigo on Ubuntu 14.04 to Melodic on 18.04. Here are some bare-bones installation instructions to get up and running on a new Ubuntu 18.04 machine without ROS already installed. This will only enable the core modules to be built, as some modules require special packages to be installed.

First, install ROS following the directions copied below:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
sudo apt install ros-melodic-desktop-full
sudo rosdep init
rosdep update
source /opt/ros/melodic/setup.bash
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

We recommend catkin-tools to build your ROS workspace:

sudo apt install python-catkin-tools

Install MoveIt!:

sudo apt install ros-melodic-moveit

Finally, create a workspace with Robowflex inside:

cd ~
mkdir -p rb_ws/src
cd rb_ws
source /opt/ros/melodic/setup.bash # if you haven't already
catkin config --init
cd src
git clone https://github.com/KavrakiLab/robowflex.git
catkin build

To try out a demo script, you first need a robot description. The easiest to try is the Fetch robot, either by debian or source:

# Debian
sudo apt install ros-melodic-fetch-ros

# Or, Source
cd ~/rb_ws/src
git clone https://github.com/fetchrobotics/fetch_ros
catkin build

After the workspace is built, source and run a demo:

cd ~/rb_ws
source ./devel/setup.bash
rosrun robowflex_library fetch_test
You can’t perform that action at this time.