Awesome
Search-Based Motion Planning Library
Overview
SMPL is a set of packages for implementing robotic motion planners using heuristic search algorithms. Includes the following packages:
smpl
- A library of generic graph representations, heuristics, search algorithms, and many utilities for robotic motion planning.smpl_test
- Example applications and test cases using SMPLsmpl_ros
- A ROS Interface to the planning algorithms available in SMPLsbpl_kdl_robot_model
- An implementation of SMPL planning interfaces using the KDL library for kinematics.sbpl_pr2_robot_model
- An implementation of SMPL planning interfaces for the PR2 and UBR1 robots, using their custom kinematics libraries.sbpl_collision_checking
- A collision detection library using approximate sphere- and grid-based models for a robot and its environment. Implements the collision checking interface defined in the smpl package.sbpl_collision_checking_test
- Example application and benchmarking tools forsbpl_collision_checking
smpl_moveit_interface
- Plugins to the MoveIt! motion planning framework for planning with SMPLsmpl_ompl_interface
- An implementation of ompl planning interfaces using SMPL algorithmssmpl_urdf_robot_model
- An implementation of SMPL planning interfaces using a URDF model and custom forward kinematics
Building
The core smpl
package is built with standard cmake conventions. It can be
built simultaneously within a catkin workspace using the catkin_make_isolated
or catkin build
commands.
The other packages are standard catkin packages and can be built with catkin build tools. These instructions assume you are building all of the SMPL packages simultaneously within a catkin workspace catkin_ws.
Required system dependencies for each package can be installed using rosdep. System dependencies can be installed via:
rosdep install --from-paths smpl -i -y
where smpl
is the path to the cloned repository, not the smpl
package.
SMPL requires the latest SBPL to be installed. Because catkin prefers to find packages in your current and parent workspaces before searching system directories, you may need to remove any binary packages that provide SBPL, e.g. ros-distro-sbpl, to prevent catkin from giving it higher priority.
git clone https://github.com/sbpl/sbpl
cd sbpl && mkdir build && cd build && cmake .. && make && sudo make install
Clone additional source dependencies:
git clone https://github.com/aurone/leatherman
Once all system and source dependencies are built and installed, (re)build your catkin workspace:
cd catkin_ws
catkin_make [-j#]
if using standard catkin commands, or
catkin build
using the catkin
tool from the python-catkin-tools
package.
Running
Coming "soon"