Giter VIP home page Giter VIP logo

ros-chomp's Introduction

Cargo-ANTS Path Adaptor

CHOMP implementation is based on source code from trychomp which is based on CHOMP.

Build and Run GUI:

You need CMake, Eigen v3, and GTK+ v2 (only the GUI).

git clone https://github.com/j3sq/ROS-CHOMP.git chomp
mkdir chomp/build
cd chomp/build
cmake ..
make
./chomp-shell

Usage:

void generatePath(VectorXd const &qs, VectorXd const &qe, VectorXd &xi, MatrixXd const &obs);
  • qs : Start point (x,y) as a 2x1 vector.
  • qe : End point (x,y) as a 2x1 vector.
  • xi : Generated chomp trajectory points (x1,y1,x2,y2,...,xN,yN) as 2*Nx1 vector. N is currently fixed to 20.
  • obs : A matrix of disk like obstacles of size Kx3. Each row is (x,y,R) of the obstacle.

Notes:

  • If the function is called with a non empty trajectory xi, the function will use the provided trajectory as an initial guess for the chomp algorithm.
  • demo/minimal_program.cpp shows a basic example of using chomp

ROS Support:

You need Cargo-ANTS for messages definitions. Place the project folder inside (path_to_ros_workspace)/src and then build by executing catkin_make.
For testing:

roscore
//on a separate terminal
rosrun cargo_ants_path_adaptor path_adaptor
//on a separate terminal
rostopic echo /trajectory  
//on a separate terminal. Replace x0,y0 and x1,y1 (below) by coordinates of start and end points respectively.
rostopic pub -1 /path_planner cargo_ants_msgs/Path '{mode: 0, container: name , goals: [{gx: x0, gy: y0, gth: 0, dr: 0, dth: 0},{gx: x1, gy: g1, gth: 0, dr: 0, dth: 0}]}'
//on a separate terminal. Replace o0,o0,R0 and o1,y1,R1 (below) by coordinates x,y,Radius of obstacles
rostopic pub -1 /obstacles cargo_ants_msgs/ObstacleMap '{obstacles:[origin: {ox : x0, oy : y0 , oth : R0}, origin:{ox : x1, oy : y1, oth : R1}]}'

ros-chomp's People

Contributors

j3sq avatar jenniferdavid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.