Coder Social home page Coder Social logo

path_planning's Introduction

[Update] A slightly better documented version of this can be found here: https://github.com/ArduPilot/OctomapPlanner

path_planning

Quadcopter path planning using RRT* and minimum jerk trajectory generation

path_planning

Red represents minimum jerk trajectory while green represents a bspline trajectory through the visibility graph generated from RRT*

For futher information take a look at this issue

path_planning's People

Contributors

ayushgaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

path_planning's Issues

Refactoring the code and adding proper documentation

I created this repo for personal reference but since it is being used by quite a number of users now, I am planning to refactor the code and add proper documentation for new users. I am creating this issue to keep track of updates and collect your feedback.

Feel free to share your thoughts and suggestions here.

Problem in building the package.

Just like issue #11, I get a lot of errors. A little introduction to my system - ROS Melodic - Ubuntu 18.04. I have installed and built FCL Library many times in many workspaces. Didn't resolve the problem. Tried installing 0.5.0 as stated in a different issue. It didn't work. Please address this problem.

The errors are depicted as follows:

Errors << path_planning:make /home/bharath/drone_ws/logs/path_planning/build.make.009.log
In file included from /usr/local/include/fcl/BV/RSS.h:41:0,
from /usr/local/include/fcl/ccd/motion_base.h:46,
from /usr/local/include/fcl/collision_object.h:45,
from /usr/local/include/fcl/octree.h:52,
from /home/bharath/drone_ws/src/path_planning/src/old_path_planning.cpp:40:
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected primary-expression before ‘typedef’
typedef typename detail::ScalarTrait::type Real;
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected ‘}’ before ‘typedef’
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected ‘;’ before ‘typedef’
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:134:18: error: ‘S’ does not name a type
static constexpr S pi() { return S(3.141592653589793238462643383279502884197169399375105820974944592L); }
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:137:18: error: ‘S’ does not name a type
static constexpr S phi() { return S(1.618033988749894848204586834365638117720309179805762862135448623L); }
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:145:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real gjk_default_tolerance() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:151:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:160:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_78() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:166:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_34() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:172:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_12() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:179:20: error: ‘constants’ does not name a type; did you mean ‘constexpr’?
using constantsf = constants;
^
constexpr
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:180:20: error: ‘constants’ does not name a type; did you mean ‘constexpr’?
using constantsd = constants;
^
constexpr
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:182:1: error: expected declaration before ‘}’ token
} // namespace fcl
^
In file included from /usr/local/include/fcl/BV/RSS.h:41:0,
from /usr/local/include/fcl/ccd/motion_base.h:46,
from /usr/local/include/fcl/collision_object.h:45,
from /usr/local/include/fcl/octree.h:52,
from /home/bharath/drone_ws/src/path_planning/src/path_planning.cpp:41:
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected primary-expression before ‘typedef’
typedef typename detail::ScalarTrait::type Real;
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected ‘}’ before ‘typedef’
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:131:1: error: expected ‘;’ before ‘typedef’
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:134:18: error: ‘S’ does not name a type
static constexpr S pi() { return S(3.141592653589793238462643383279502884197169399375105820974944592L); }
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:137:18: error: ‘S’ does not name a type
static constexpr S phi() { return S(1.618033988749894848204586834365638117720309179805762862135448623L); }
^
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:145:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real gjk_default_tolerance() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:151:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:160:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_78() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:166:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_34() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:172:8: error: ‘Real’ does not name a type; did you mean ‘read’?
static Real eps_12() {
^
read
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:179:20: error: ‘constants’ does not name a type; did you mean ‘constexpr’?
using constantsf = constants;
^
constexpr
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:180:20: error: ‘constants’ does not name a type; did you mean ‘constexpr’?
using constantsd = constants;
^
constexpr
/home/bharath/drone_ws/devel/include/fcl/math/constants.h:182:1: error: expected declaration before ‘}’ token
} // namespace fcl
^
make[2]: *** [CMakeFiles/old_path_planning.dir/src/old_path_planning.cpp.o] Error 1
make[1]: *** [CMakeFiles/old_path_planning.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o] Error 1
make[1]: *** [CMakeFiles/path_planning_node.dir/all] Error 2
make: *** [all] Error 2
cd /home/bharath/drone_ws/build/path_planning; catkin build --get-env path_planning | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -

Problem by running the code

Hi Ayushgaud,

thank you for your awesome work. I had some problem by running the code. The catkin_make is successful. When I use "rosrun ...." to start the planning there is only Ompl-version showed in the terminal.
image
I have read the issue. But I still can't figure out how to run the code properly. Can you tell me what should I do to make it works? Thank you so much!

best regards
Xiangming

running problem

Hi Gaud,
I encountered the following problem while running the node of traj_gen .
trajectory
and still, in the goalpoint_transformer.cpp file I changed the listener.lookupTransform("odom",....) to listener.lookupTransform("map",....) , because the frame_id of my nav_msgs/Odometry is "map". but there is always an error in the bash. as we can see in this picture.
transform
Do you know the reason? Is my modification wrong? thanks a lot!!

Originally posted by @ifaceyou123 in #1 (comment)

running problem

Hi Gaud,
I encountered the following problem while running the node of path_planning.

"
Initialized:
OMPL version:1.4.2
Total Points:17419907356477628810
Segmentation fault(core dumped)
"
I had changed the OMPL version to 1.3.1, but it didn't work.
The map used is not huge.
Do you know the reason? thanks a lot!!

catkin_make error : /usr/bin/ld: cannot find -loctomap /usr/bin/ld: cannot find -loctomath

Hi Ayushgaud,

thank you for your awesome work. I had some problem when catkin_make the code in my computer,ubuntu16.04 LTS + Kinetic ,and fcl library that I installed is https://github.com/flexible-collision-library/fcl/tree/fcl-0.5 . But when catkin_make, it encountered the following error:
image
and I have tried several ways to fix it ,But failed. Can you tell me what should I do to make it works? Thank you so much!

best regards

old_pathplanning node not publishing

Hey ayush ,

You have got a great package here. I was successful in building your package, but when i try running the old pathplanning node (with a demo .bt file of my own) the only thing printed is OMPL version 1.2.1 (I assumed it should have worked as the start and goal positions are hard-coded in the old planning node,
when I do rostopic echo /waypoints nothing is published to that topic.

I have already looked into issue #4 , I am running octomap_server node as well (although I dont see the use of this node since I am reading the binary manually anyway)

Could you please point me in a direction on how to debug this issue ?

Thanks

Error in fcl/math/constants.h during catkin build

Hi, I'm getting this error while running catkin build on my system. Can you please help me?

Extending:             [env] /opt/ros/kinetic:/home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/path_planning/devel
Workspace:                   /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp
------------------------------------------------------------------------------------------------------------------------------------
Build Space:        [exists] /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/build
Devel Space:        [exists] /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/devel
Install Space:      [unused] /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/install
Log Space:         [missing] /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/logs
Source Space:       [exists] /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/src
DESTDIR:            [unused] None
------------------------------------------------------------------------------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
------------------------------------------------------------------------------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
------------------------------------------------------------------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
------------------------------------------------------------------------------------------------------------------------------------
Workspace configuration appears valid.
------------------------------------------------------------------------------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.                                                                                                           
[build] Updating package table.                                                                                                                      
Warning: generated devel space setup files have been deleted.
Starting  >>> catkin_tools_prebuild                                                                                                                  
Finished  <<< catkin_tools_prebuild                [ 2.4 seconds ]                                                                                   
Starting  >>> path_planning                                                                                                                          
_____________________________________________________________________________________________________________________________________________________
Warnings   << path_planning:cmake /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/logs/path_planning/build.cmake.000.log       
CMake Warning (dev) at CMakeLists.txt:152 (add_executable):
  Policy CMP0028 is not set: Double colon in target name means ALIAS or
  IMPORTED target.  Run "cmake --help-policy CMP0028" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  Target "old_path_planning" links to target "Eigen3::Eigen" but the target
  was not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at CMakeLists.txt:151 (add_executable):
  Policy CMP0028 is not set: Double colon in target name means ALIAS or
  IMPORTED target.  Run "cmake --help-policy CMP0028" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  Target "path_planning_node" links to target "Eigen3::Eigen" but the target
  was not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
This warning is for project developers.  Use -Wno-dev to suppress it.

cd /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/build/path_planning; catkin build --get-env path_planning | catkin env -si  /usr/local/bin/cmake /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/src/path_planning --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/devel/.private/path_planning -DCMAKE_INSTALL_PREFIX=/home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/install; cd -
.....................................................................................................................................................
_____________________________________________________________________________________________________________________________________________________
Errors     << path_planning:make /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/logs/path_planning/build.make.000.log         
In file included from /usr/local/include/fcl/BV/RSS.h:41:0,
                 from /usr/local/include/fcl/ccd/motion_base.h:46,
                 from /usr/local/include/fcl/collision_object.h:45,
                 from /usr/local/include/fcl/octree.h:52,
                 from /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/src/path_planning/src/path_planning.cpp:40:
/usr/local/include/fcl/math/constants.h:80:1: error: expected primary-expression before ‘typedef’
 typedef typename detail::ScalarTrait<S>::type Real;
 ^
/usr/local/include/fcl/math/constants.h:80:1: error: expected ‘}’ before ‘typedef’
/usr/local/include/fcl/math/constants.h:80:1: error: expected ‘;’ before ‘typedef’
/usr/local/include/fcl/math/constants.h:83:18: error: ‘S’ does not name a type
 static constexpr S pi() { return S(3.141592653589793238462643383279502884197169399375105820974944592L); }
                  ^
/usr/local/include/fcl/math/constants.h:86:18: error: ‘S’ does not name a type
 static constexpr S phi() { return S(1.618033988749894848204586834365638117720309179805762862135448623L); }
                  ^
/usr/local/include/fcl/math/constants.h:94:8: error: ‘Real’ does not name a type
 static Real gjk_default_tolerance() {
        ^
/usr/local/include/fcl/math/constants.h:100:8: error: ‘Real’ does not name a type
 static Real eps() {
        ^
/usr/local/include/fcl/math/constants.h:109:8: error: ‘Real’ does not name a type
 static Real eps_78() {
        ^
/usr/local/include/fcl/math/constants.h:115:8: error: ‘Real’ does not name a type
 static Real eps_34() {
        ^
/usr/local/include/fcl/math/constants.h:121:8: error: ‘Real’ does not name a type
 static Real eps_12() {
        ^
/usr/local/include/fcl/math/constants.h:128:20: error: ‘constants’ does not name a type
 using constantsf = constants<float>;
                    ^
/usr/local/include/fcl/math/constants.h:129:20: error: ‘constants’ does not name a type
 using constantsd = constants<double>;
                    ^
/usr/local/include/fcl/math/constants.h:131:1: error: expected declaration before ‘}’ token
 } // namespace fcl
 ^
In file included from /usr/local/include/fcl/BV/RSS.h:41:0,
                 from /usr/local/include/fcl/ccd/motion_base.h:46,
                 from /usr/local/include/fcl/collision_object.h:45,
                 from /usr/local/include/fcl/octree.h:52,
                 from /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/src/path_planning/src/old_path_planning.cpp:40:
/usr/local/include/fcl/math/constants.h:80:1: error: expected primary-expression before ‘typedef’
 typedef typename detail::ScalarTrait<S>::type Real;
 ^
/usr/local/include/fcl/math/constants.h:80:1: error: expected ‘}’ before ‘typedef’
/usr/local/include/fcl/math/constants.h:80:1: error: expected ‘;’ before ‘typedef’
/usr/local/include/fcl/math/constants.h:83:18: error: ‘S’ does not name a type
 static constexpr S pi() { return S(3.141592653589793238462643383279502884197169399375105820974944592L); }
                  ^
/usr/local/include/fcl/math/constants.h:86:18: error: ‘S’ does not name a type
 static constexpr S phi() { return S(1.618033988749894848204586834365638117720309179805762862135448623L); }
                  ^
/usr/local/include/fcl/math/constants.h:94:8: error: ‘Real’ does not name a type
 static Real gjk_default_tolerance() {
        ^
/usr/local/include/fcl/math/constants.h:100:8: error: ‘Real’ does not name a type
 static Real eps() {
        ^
/usr/local/include/fcl/math/constants.h:109:8: error: ‘Real’ does not name a type
 static Real eps_78() {
        ^
/usr/local/include/fcl/math/constants.h:115:8: error: ‘Real’ does not name a type
 static Real eps_34() {
        ^
/usr/local/include/fcl/math/constants.h:121:8: error: ‘Real’ does not name a type
 static Real eps_12() {
        ^
/usr/local/include/fcl/math/constants.h:128:20: error: ‘constants’ does not name a type
 using constantsf = constants<float>;
                    ^
/usr/local/include/fcl/math/constants.h:129:20: error: ‘constants’ does not name a type
 using constantsd = constants<double>;
                    ^
/usr/local/include/fcl/math/constants.h:131:1: error: expected declaration before ‘}’ token
 } // namespace fcl
 ^
make[2]: *** [CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o] Error 1
make[1]: *** [CMakeFiles/path_planning_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/old_path_planning.dir/src/old_path_planning.cpp.o] Error 1
make[1]: *** [CMakeFiles/old_path_planning.dir/all] Error 2
make: *** [all] Error 2
cd /home/pravin/Documents/Projects/Pick_and_place_drone/path_planning/pp/build/path_planning; catkin build --get-env path_planning | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
.....................................................................................................................................................
Failed     << path_planning:make                   [ Exited with code 2 ]                                                                            
Failed    <<< path_planning                        [ 19.9 seconds ]                                                                                  
[build] Summary: 1 of 2 packages succeeded.                                                                                                          
[build]   Ignored:   None.                                                                                                                           
[build]   Warnings:  1 packages succeeded with warnings.                                                                                             
[build]   Abandoned: None.                                                                                                                           
[build]   Failed:    1 packages failed.                                                                                                              
[build] Runtime: 22.3 seconds total.```

catkin build error

Hello, I got some errors when catkin build this project. I use ros-kinetic in ubuntu 16.04 and fcl-0.5 and ros-Octomap.

Errors << path_planning:make /home/fapsros/catkin_ws/logs/path_planning/build.make.018.log CMakeFiles/path_planning.dir/src/path_planning.cpp.o: In function fcl::Transform3f::transform(fcl::Vec3fX<fcl::details::Vec3Data > const&) const':
path_planning.cpp:(.text._ZNK3fcl11Transform3f9transformERKNS_6Vec3fXINS_7details8Vec3DataIdEEEE[_ZNK3fcl11Transform3f9transformERKNS_6Vec3fXINS_7details8Vec3DataIdEEEE]+0x46): undefined reference to fcl::Quaternion3f::transform(fcl::Vec3fX<fcl::details::Vec3Data<double> > const&) const' CMakeFiles/path_planning.dir/src/path_planning.cpp.o: In function fcl::CollisionGeometry::CollisionGeometry()':
path_planning.cpp:(.text._ZN3fcl17CollisionGeometryC2Ev[_ZN3fcl17CollisionGeometryC5Ev]+0x34): undefined reference to fcl::AABB::AABB()' CMakeFiles/path_planning.dir/src/path_planning.cpp.o: In function fcl::CollisionObject::CollisionObject(std::shared_ptrfcl::CollisionGeometry const&)':
path_planning.cpp:(.text._ZN3fcl15CollisionObjectC2ERKSt10shared_ptrINS_17CollisionGeometryEE[_ZN3fcl15CollisionObjectC5ERKSt10shared_ptrINS_17CollisionGeometryEE]+0x59): undefined reference to fcl::AABB::AABB()' CMakeFiles/path_planning.dir/src/path_planning.cpp.o: In function fcl::Box::Box(double, double, double)':
path_planning.cpp:(.text._ZN3fcl3BoxC2Eddd[_ZN3fcl3BoxC5Eddd]+0x29): undefined reference to vtable for fcl::Box' CMakeFiles/path_planning.dir/src/path_planning.cpp.o: In function planner::isStateValid(ompl::base::State const*)':
path_planning.cpp:(.text._ZN7planner12isStateValidEPKN4ompl4base5StateE[_ZN7planner12isStateValidEPKN4ompl4base5StateE]+0x1e5): undefined reference to fcl::collide(fcl::CollisionObject const*, fcl::CollisionObject const*, fcl::CollisionRequest const&, fcl::CollisionResult&)' collect2: error: ld returned 1 exit status make[2]: *** [/home/fapsros/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning] Error 1 make[1]: *** [CMakeFiles/path_planning.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function fcl::Transform3f::transform(fcl::Vec3fX<fcl::details::Vec3Data > const&) const':
path_planning.cpp:(.text._ZNK3fcl11Transform3f9transformERKNS_6Vec3fXINS_7details8Vec3DataIdEEEE[_ZNK3fcl11Transform3f9transformERKNS_6Vec3fXINS_7details8Vec3DataIdEEEE]+0x46): undefined reference to fcl::Quaternion3f::transform(fcl::Vec3fX<fcl::details::Vec3Data<double> > const&) const' CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function fcl::CollisionGeometry::CollisionGeometry()':
path_planning.cpp:(.text._ZN3fcl17CollisionGeometryC2Ev[_ZN3fcl17CollisionGeometryC5Ev]+0x34): undefined reference to fcl::AABB::AABB()' CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function fcl::CollisionObject::CollisionObject(std::shared_ptrfcl::CollisionGeometry const&)':
path_planning.cpp:(.text._ZN3fcl15CollisionObjectC2ERKSt10shared_ptrINS_17CollisionGeometryEE[_ZN3fcl15CollisionObjectC5ERKSt10shared_ptrINS_17CollisionGeometryEE]+0x59): undefined reference to fcl::AABB::AABB()' CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function fcl::Box::Box(double, double, double)':
path_planning.cpp:(.text._ZN3fcl3BoxC2Eddd[_ZN3fcl3BoxC5Eddd]+0x29): undefined reference to vtable for fcl::Box' CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function planner::isStateValid(ompl::base::State const*)':
path_planning.cpp:(.text._ZN7planner12isStateValidEPKN4ompl4base5StateE[_ZN7planner12isStateValidEPKN4ompl4base5StateE]+0x1e5): undefined reference to fcl::collide(fcl::CollisionObject const*, fcl::CollisionObject const*, fcl::CollisionRequest const&, fcl::CollisionResult&)' collect2: error: ld returned 1 exit status make[2]: *** [/home/fapsros/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node] Error 1 make[1]: *** [CMakeFiles/path_planning_node.dir/all] Error 2 make: *** [all] Error 2
looking forward to some help! Thanks.

Build in ubuntu melodic

Hello,

I try to build the repo on ubuntu 18.04 and melodic:

I get that error

CMakeFiles/old_path_planning.dir/src/old_path_planning.cpp.o: In function `plan()':
old_path_planning.cpp:(.text+0x695): undefined reference to `ompl::base::SpaceInformation::SpaceInformation(std::shared_ptr<ompl::base::StateSpace> const&)'
old_path_planning.cpp:(.text+0x7e4): undefined reference to `ompl::base::ProblemDefinition::ProblemDefinition(std::shared_ptr<ompl::base::SpaceInformation> const&)'
old_path_planning.cpp:(.text+0x8a5): undefined reference to `ompl::geometric::RRTConnect::RRTConnect(std::shared_ptr<ompl::base::SpaceInformation> const&)'
collect2: error: ld returned 1 exit status
path_planning/CMakeFiles/old_path_planning.dir/build.make:543: recipe for target '/home/xavier/catkin_ws/devel/lib/path_planning/old_path_planning' failed
make[2]: *** [/home/xavier/catkin_ws/devel/lib/path_planning/old_path_planning] Error 1
CMakeFiles/Makefile2:5781: recipe for target 'path_planning/CMakeFiles/old_path_planning.dir/all' failed
make[1]: *** [path_planning/CMakeFiles/old_path_planning.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function `planner::planner()':
path_planning.cpp:(.text._ZN7plannerC2Ev[_ZN7plannerC5Ev]+0x378): undefined reference to `ompl::base::SpaceInformation::SpaceInformation(std::shared_ptr<ompl::base::StateSpace> const&)'
path_planning.cpp:(.text._ZN7plannerC2Ev[_ZN7plannerC5Ev]+0x529): undefined reference to `ompl::base::ProblemDefinition::ProblemDefinition(std::shared_ptr<ompl::base::SpaceInformation> const&)'
CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o: In function `planner::plan()':
path_planning.cpp:(.text._ZN7planner4planEv[_ZN7planner4planEv]+0x533): undefined reference to `ompl::geometric::PathSimplifier::PathSimplifier(std::shared_ptr<ompl::base::SpaceInformation> const&, std::shared_ptr<ompl::base::Goal> const&)'
collect2: error: ld returned 1 exit status
path_planning/CMakeFiles/path_planning_node.dir/build.make:543: recipe for target '/home/xavier/catkin_ws/devel/lib/path_planning/path_planning_node' failed
make[2]: *** [/home/xavier/catkin_ws/devel/lib/path_planning/path_planning_node] Error 1
CMakeFiles/Makefile2:5808: recipe for target 'path_planning/CMakeFiles/path_planning_node.dir/all' failed
make[1]: *** [path_planning/CMakeFiles/path_planning_node.dir/all] Error 2
/usr/bin/ld: warning: libopencv_imgproc.so.3.2, needed by /home/xavier/catkin_ws/devel/lib/libgrid_map_ros.so, may conflict with libopencv_imgproc.so.4.0
[ 81%] Built target interpolation_demo
/usr/bin/ld: warning: libopencv_imgproc.so.3.2, needed by /home/xavier/catkin_ws/devel/lib/libgrid_map_ros.so, may conflict with libopencv_imgproc.so.4.0
[ 81%] Built target normal_filter_comparison_demo
Makefile:157: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

I try many thinks, install ros-melodic-ompl and libompl from source.
Is there a way to make the repo work on melodic ?

seek for help.

Thank you for your sharing.But I don't know how to use it.Could you write a more detailed readme for us?

Goal state changed to some other close value sometimes in waypoints

I was trying out your code while working on a path planning algorithm.
It works perfectly fine the only problem being that sometimes when i set the goal states manually to some value, when solution is found and goal states are printed, the final goal point is changed to some nearby value rather than the exact value given by me.
I am using old_path_planning code to find the waypoints using RRTstar.

catkin_make error about fcl

I (used $apt-get install libfcl_dev) to installed fcl. The project named fcl could not be installed successfully.
But when I comiling path_planning, there are many errors about fcl thar I could`nt solve.
Seek for your help. How could you install fcl? Did you know how to solve this?

[ 66%] Built target traj_gen
[ 83%] Built target transform_pointcloud
In file included from /home/aaron/下载/catkin_path/src/path_planning-master/src/old_path_planning.cpp:41:0:
/usr/include/fcl/traversal/traversal_node_octree.h: In member function ‘bool fcl::OcTreeSolver::OcTreeShapeDistanceRecurse(const fcl::OcTree*, const OcTreeNode*, const fcl::AABB&, const S&, const fcl::AABB&, const fcl::Transform3f&, const fcl::Transform3f&) const’:
/usr/include/fcl/traversal/traversal_node_octree.h:267:50: error: ‘const OcTreeNode {aka const class octomap::OcTreeNode}’ has no member named ‘getChild’
const OcTree::OcTreeNode* child = root1->getChild(i);
^
In file included from /home/aaron/下载/catkin_path/src/path_planning-master/src/old_path_planning.cpp:41:0:
/usr/include/fcl/traversal/traversal_node_octree.h: In member function ‘bool fcl::OcTreeSolver::OcTreeShapeIntersectRecurse(const fcl::OcTree*, const OcTreeNode*, const fcl::AABB&, const S&, const fcl::OBB&, const fcl::Transform3f&, const fcl::Transform3f&) const’:
/usr/include/fcl/traversal/traversal_node_octree.h:404:50: error: ‘const OcTreeNode {aka const class octomap::OcTreeNode}’ has no member named ‘getChild’
const OcTree::OcTreeNode* child = root1->getChild(i);

…………

/usr/local/include/fcl/math/bv/AABB.h:136:8: error: ‘S’ was not declared in this scope
AABB& expand(const AABB& core, S ratio);
^
/usr/local/include/fcl/math/bv/AABB.h:136:3: error: ‘AABB< >’ does not name a type
AABB& expand(const AABB& core, S ratio);
^
/usr/local/include/fcl/math/bv/AABB.h:139:15: error: ‘AABB’ does not name a type
using AABBf = AABB;
^
/usr/local/include/fcl/math/bv/AABB.h:140:15: error: ‘AABB’ does not name a type
using AABBd = AABB;
^
/usr/local/include/fcl/math/bv/AABB.h:144:1: error: ‘AABB’ does not name a type
AABB translate(
^
/usr/local/include/fcl/math/bv/AABB.h:147:1: error: expected declaration before ‘}’ token
} // namespace fcl
^
path_planning-master/CMakeFiles/old_path_planning.dir/build.make:62: recipe for target 'path_planning-master/CMakeFiles/old_path_planning.dir/src/old_path_planning.cpp.o' failed
make[2]: *** [path_planning-master/CMakeFiles/old_path_planning.dir/src/old_path_planning.cpp.o] Error 1
CMakeFiles/Makefile2:2930: recipe for target 'path_planning-master/CMakeFiles/old_path_planning.dir/all' failed
make[1]: *** [path_planning-master/CMakeFiles/old_path_planning.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
path_planning-master/CMakeFiles/path_planning_node.dir/build.make:62: recipe for target 'path_planning-master/CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o' failed
make[2]: *** [path_planning-master/CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o] Error 1
CMakeFiles/Makefile2:1288: recipe for target 'path_planning-master/CMakeFiles/path_planning_node.dir/all' failed
make[1]: *** [path_planning-master/CMakeFiles/path_planning_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed

can you give a brief introduce about the operation?

I think it is interesting and I have finished the catkin_make. but I can't start this program by rosrun the several nodes, can you give a introduce about the operation of the program. Thank you for your program.

Negative position values

I am looking into your implementation for a project I currently work on. It works fine, but I recently noticed that the planner does not work for negative values in either of the (x, y, z) positions. I was wondering whether you can hint as to why this may be happening in order to look into it further and possibly correct it?

Error: Segmentation fault (core dumped)

I'm having some trouble running the path planning code. I tracked the error and the problem is here
fcl::OcTree* tree = new fcl::OcTree(std::shared_ptr<const octomap::OcTree>(tree_oct));
by the way, pkg-config fcl --modversion shows 0.5.0
any Ideas??

Error:
Initialized: OMPL version: 1.4.2 Initialized Stack trace (most recent call last): #18 Object "", at 0xffffffffffffffff, in #17 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f967049, in _start #16 Source "../csu/libc-start.c", line 310, in __libc_start_main [0x7f447ffdfc86] #15 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f967d81, in main #14 Object "/opt/ros/melodic/lib/libroscpp.so", at 0x7f44829e737a, in ros::spin() #13 Object "/opt/ros/melodic/lib/libroscpp.so", at 0x7f44829fea38, in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) #12 Object "/opt/ros/melodic/lib/libroscpp.so", at 0x7f44829a72fa, in ros::CallbackQueue::callAvailable(ros::WallDuration) #11 Object "/opt/ros/melodic/lib/libroscpp.so", at 0x7f44829a5558, in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) #10 Object "/opt/ros/melodic/lib/libroscpp.so", at 0x7f44829fae91, in ros::SubscriptionQueue::call() #9 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f98c5a8, in ros::SubscriptionCallbackHelperT<boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) #8 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f98d8f2, in boost::function1<void, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> >::operator()(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const>) const #7 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f983e87, in boost::detail::function::void_function_obj_invoker1<boost::function<void (boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&)>, void, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const>) #6 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f98678f, in boost::function1<void, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&>::operator()(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&) const #5 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f97c712, in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, void (*)(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, planner*), boost::_bi::list2<boost::arg<1>, boost::_bi::value<planner*> > >, void, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&) #4 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f97f6d8, in void boost::_bi::bind_t<void, void (*)(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, planner*), boost::_bi::list2<boost::arg<1>, boost::_bi::value<planner*> > >::operator()<boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&>(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&) #3 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f981a48, in void boost::_bi::list2<boost::arg<1>, boost::_bi::value<planner*> >::operator()<void (*)(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, planner*), boost::_bi::rrlist1<boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&> >(boost::_bi::type<void>, void (*&)(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, planner*), boost::_bi::rrlist1<boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&>&, int) #2 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f967477, in octomapCallback(boost::shared_ptr<octomap_msgs::Octomap_<std::allocator<void> > const> const&, planner*) #1 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f96b982, in fcl::OcTree::OcTree(std::shared_ptr<octomap::OcTree const> const&) #0 Object "/home/rnd/catkin_ws/devel/.private/path_planning/lib/path_planning/path_planning_node", at 0x55fc8f96920e, in octomap::AbstractOccupancyOcTree::getOccupancyThres() const Segmentation fault (Address not mapped to object [0x18]) Segmentation fault (core dumped)

catkin_make error

/usr/bin/ld: warning: liboctomath.so.1.8, needed by /opt/ros/kinetic/lib/liboctomap.so, may conflict with liboctomath.so.1.6
CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o:在函数‘planner::planner()’中:
/home/kevin/caktin_ware/src/path_planning/src/path_planning.cpp:122:对‘ompl::base::SpaceInformation::SpaceInformation(std::shared_ptrompl::base::StateSpace const&)’未定义的引用
/home/kevin/caktin_ware/src/path_planning/src/path_planning.cpp:139:对‘ompl::base::ProblemDefinition::ProblemDefinition(std::shared_ptrompl::base::SpaceInformation const&)’未定义的引用
CMakeFiles/path_planning_node.dir/src/path_planning.cpp.o:在函数‘planner::plan()’中:
/home/kevin/caktin_ware/src/path_planning/src/path_planning.cpp:248:对‘ompl::geometric::PathSimplifier::PathSimplifier(std::shared_ptrompl::base::SpaceInformation const&, std::shared_ptrompl::base::Goal const&)’未定义的引用
collect2: error: ld returned 1 exit status
path_planning/CMakeFiles/path_planning_node.dir/build.make:539: recipe for target '/home/kevin/caktin_ware/devel/lib/path_planning/path_planning_node' failed
make[2]: *** [/home/kevin/caktin_ware/devel/lib/path_planning/path_planning_node] Error 1
CMakeFiles/Makefile2:11678: recipe for target 'path_planning/CMakeFiles/path_planning_node.dir/all' failed
make[1]: *** [path_planning/CMakeFiles/path_planning_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed

i think it because i use wrong version of ompl, could you tell me which version do you use?

trajectory_generator crashes

Hello,
trajectory_generator crashes when idx_replan increases.
The problem comes from this line
if(ros::Time::now().toSec() - time_start_replan.toSec() + planner_delay.toSec() > time(idx_replan))
because of time(idx_replan).
If I replace time(idx_replan) with time(0) it will not crash but the velocities of the trajectory will be huge (100-60.000 m/s).
I have tested the code on another system and it works fine without error and both position and velocities generated.
Both of the systems have the same libraries' versions installed:
Ubuntu 18.04.4
ROS Melodic
eigen3 (3.3.90)
libccd (2.0)
octomap (1.9.0)
fcl (0.5.0)
I was wondering what could be the reason that causes the error on only one pc.
trajectory_error

Aleady have a otcomap, How can I use adjust this project?

Hey there! Thank you for your awesome project!
Recently I've built a SLAM system with stereo camera. ( I didn't use RGBD camera )
My project can out put a global octomap or points cloud incrementally,
sample
like this, after drone flying around the building, the VOXEL can be seen in the RVIZ.

NOW I wanna use your project to implement a avoidance function, I use VIO to estimate pose and send them to PX4 by /mavros/vision_pose/pose, and I stitch points cloud generated by stereo camera to build a global map. ( For the moment let us assume that called /map_out )
Can you show more hint? Which topics or action in path_planning I should subscribe to, publish to or modify the topic name?

traj_gen:/usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:425:

Hi,
When I run the code,I met this error:
traj_gen: /usr/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:425: Eigen::DenseCoeffsBase<Derived, 1>::Scalar& Eigen::DenseCoeffsBase<Derived, 1>::operator()(Eigen::Index) [with Derived = Eigen::Matrix<float, -1, 1>; Eigen::DenseCoeffsBase<Derived, 1>::Scalar = float; Eigen::Index = long int]: Assertion `index >= 0 && index < size()' failed.
How to solve this problem?
best regards

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.