All Projects → gtrll → piper

gtrll / piper

Licence: other
No description or website provided.

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to piper

Pinocchio
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Stars: ✭ 432 (+764%)
Mutual labels:  robotics, motion-planning, ros
Xpp
Visualization of Motions for Legged Robots in ros-rviz
Stars: ✭ 177 (+254%)
Mutual labels:  robotics, motion-planning, ros
Cleanit
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners. Under development.
Stars: ✭ 125 (+150%)
Mutual labels:  robotics, motion-planning, ros
Free gait
An Architecture for the Versatile Control of Legged Robots
Stars: ✭ 263 (+426%)
Mutual labels:  robotics, motion-planning, ros
Aikido
Artificial Intelligence for Kinematics, Dynamics, and Optimization
Stars: ✭ 133 (+166%)
Mutual labels:  robotics, motion-planning, ros
HRVO
The Hybrid Reciprocal Velocity Obstacle (C++)
Stars: ✭ 90 (+80%)
Mutual labels:  robotics, motion-planning
Ros Control Center
A web-based control center for ROS robots.
Stars: ✭ 180 (+260%)
Mutual labels:  robotics, ros
interbotix ros manipulators
ROS Packages for Interbotix Arms
Stars: ✭ 32 (-36%)
Mutual labels:  robotics, ros
Gqcnn
Python module for GQ-CNN training and deployment with ROS integration.
Stars: ✭ 216 (+332%)
Mutual labels:  robotics, ros
Roslibpy
Python ROS Bridge library
Stars: ✭ 146 (+192%)
Mutual labels:  robotics, ros
Ros2 rust
Rust bindings for ROS2
Stars: ✭ 187 (+274%)
Mutual labels:  robotics, ros
Mcl 3dl
A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.
Stars: ✭ 221 (+342%)
Mutual labels:  robotics, ros
Gpmp2
Gaussian Process Motion Planner 2
Stars: ✭ 161 (+222%)
Mutual labels:  robotics, motion-planning
Rt gene
RT-GENE: Real-Time Eye Gaze and Blink Estimation in Natural Environments
Stars: ✭ 157 (+214%)
Mutual labels:  robotics, ros
Urdf Viz
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
Stars: ✭ 149 (+198%)
Mutual labels:  robotics, ros
Rvo2 Cs
Optimal Reciprocal Collision Avoidance (C#)
Stars: ✭ 208 (+316%)
Mutual labels:  robotics, motion-planning
Ros robotics projects
Example codes of new book ROS Robotics Projects
Stars: ✭ 240 (+380%)
Mutual labels:  robotics, ros
Cupoch
Robotics with GPU computing
Stars: ✭ 225 (+350%)
Mutual labels:  robotics, ros
the-Cooper-Mapper
An open source autonomous driving research platform for Active SLAM & Multisensor Data Fusion
Stars: ✭ 38 (-24%)
Mutual labels:  motion-planning, ros
Robotics-Object-Pose-Estimation
A complete end-to-end demonstration in which we collect training data in Unity and use that data to train a deep neural network to predict the pose of a cube. This model is then deployed in a simulated robotic pick-and-place task.
Stars: ✭ 153 (+206%)
Mutual labels:  motion-planning, ros

PIPER

PIPER (Probabilistic Inference based Platform for Essential problems in Robotics) is a modular package that provides support for algorithms that use probabilistic inference on factor graphs to solve various robotics problems. Each module can be independently installed and implements an easy ROS interface for that algorithm to run on any simulated or real robots. Currently PIPER supports the following algorithms:

  • GPMP2 - Gaussian Process Motion Planner 2
  • STEAP - Simultaneous Trajectory Estimation and Planning
  • more coming soon ...

PIPER is being developed by Mustafa Mukadam at the Georgia Tech Robot Learning Lab. See documentation for information on usage and development.


Table of Contents


Prerequisites

  • Install ROS. We have tested up to ROS Kinetic on Ubuntu 16.04.
  • Install GPMP2 C++ library.

Compilation and Installation

  • Initialize a catkin workspace (if you are using an existing catkin workspace this step is not needed)

    mkdir -p ~/piper_ws/src
    cd ~/piper_ws/src
    catkin_init_workspace

    Before running setup the environment variables

    source ~/piper_ws/devel/setup.bash
  • Clone this repository in ~/piper_ws/src

    git clone https://github.com/gtrll/piper.git
  • To compile only the piperbase library, in the catkin workspace directory do

    catkin_make
  • Otherwise, to install some module, for example, X: first make sure to install dependencies for X, besides the prerequisites for piperbase, then do

    catkin_make -build_flag_X
  • Similarly, to install multiple modules, for example, X and Y: install all their dependencies and then use their appropriate flags together

    catkin_make -build_flag_X -build_flag_Y

    See table below for currently supported modules, their dependencies and build flags

    Module Other Dependencies Build Flag
    GPMP2 None -DBUILD_GPMP2_INTERFACE:OPTION=ON
    STEAP None -DBUILD_STEAP_INTERFACE:OPTION=ON
    ALL All from above -DBUILD_ALL_INTERFACE:OPTION=ON

Questions and Bug reporting

Please use Github issue tracker to report bugs. For other questions please contact Mustafa Mukadam.

Citing

If you use PIPER in an academic context, please cite any module/algorithm specific publications you use, and cite the following:

@article{mukadam2017piper,
  title={{PIPER}},
  author={Mukadam, Mustafa},
  journal={[Online] Available at \url{https://github.com/gtrll/piper}},
  year={2017}
}

FAQs

  • Q: Cannot find trajectory_control server error

    A: To be able to run the included examples you need to have an action server set up in your real or simulated robot's API. See trajectory_control_topic in robot config.

  • Q: Node crashes without running anything

    A: First verify if the error is related to different versions of Eigen being linked. Run gdb ~/piper_ws/devel/lib/piper/gpmp2_interface and r. If you get the following error Program received signal SIGSEGV, Segmentation fault. 0x00007ffff672a2e7 in gtsam::noiseModel::Constrained::Constrained(Eigen::Matrix<double, -1, 1, 0, -1, 1> const& Eigen::Matrix<double, -1, 1, 0, -1, 1> const&) () from /usr/local/lib/libgtsam.so.4, it means that there are at least two versions of eigen conflicting. Make sure to install GTSAM with system Eigen. Then install GPMP2 and try this again.

License

PIPER is released under the BSD license. See LICENSE file in this directory.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].