-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TrajOpt Development TODO List #71
Comments
@mpowelson wrote:
could you update me on the state of the examples in Are they supposed to work with current |
@gavanderhoorn Yes, with the exception of #55 , they should all work with the latest of Trajopt/Tesseract. I get an Eigen error on basic_carteisan (#27 ), but it seems like that is not very widespread and might be something wrong on my end. That said, it has been a while since I have run anything other than glass_upright or basic_cartesian. This bullet was intended to
|
Ok, good to hear.
I've just tried running the puzzle piece examples, and they always result in:
for me with backtrace: #0 0x00007ffff402b428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff402d02a in __GI_abort () at abort.c:89
#2 0x00007ffff496e84d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff496c6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff496c701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff496c919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff7aeb748 in (anonymous namespace)::checkParameterSize (parameter=std::vector of length 0, capacity 0, expected_size=@0x7fffffffc1e8: 7, name="JointVelTermInfo targets", apply_first=@0x7fffffffc350: true)
at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:79
#7 0x00007ffff7af806a in trajopt::JointVelTermInfo::hatch (this=0xb9bfe0, prob=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:889
#8 0x00007ffff7af085d in trajopt::ConstructProblem (pci=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:475
#9 0x000000000054ecd3 in main (argc=1, argv=0x7fffffffd448) at /home/user/tesseract_ws/src/trajopt_ros/trajopt_examples/src/puzzle_piece_plan.cpp:246 and if I set
Which looks like somewhere, something/one is trying to use some uninitialised memory/variable. Backtrace: #0 0x00007ffff402b428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff402d02a in __GI_abort () at abort.c:89
#2 0x00007ffff496e84d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff496c6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff496c701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff496c919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff49953f7 in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff7a8aee8 in std::vector<sco::Var, std::allocator<sco::Var> >::_M_range_check (this=0x7fffffffc358, __n=18446744073664824746) at /usr/include/c++/5/bits/stl_vector.h:803
#8 0x00007ffff7a87feb in std::vector<sco::Var, std::allocator<sco::Var> >::at (this=0x7fffffffc358, __n=18446744073664824746) at /usr/include/c++/5/bits/stl_vector.h:842
#9 0x00007ffff7a85fc9 in util::BasicArray<sco::Var>::operator() (this=0x7fffffffc350, row=-1233523066, col=0) at /home/user/tesseract_ws/src/trajopt_ros/trajopt_utils/include/trajopt_utils/basic_array.hpp:69
#10 0x00007ffff7a7df54 in trajopt::JointAccEqCost::JointAccEqCost (this=0x11710d0, vars=..., coeffs=..., targets=..., first_step=@0xb9c340: -1233523066, last_step=@0xb9c344: -1076845087)
at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/trajectory_costs.cpp:488
#11 0x00007ffff7afa037 in trajopt::JointAccTermInfo::hatch (this=0xb9c2b0, prob=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:1036
#12 0x00007ffff7af085d in trajopt::ConstructProblem (pci=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:475
#13 0x000000000054ee98 in main (argc=1, argv=0x7fffffffd448) at /home/user/tesseract_ws/src/trajopt_ros/trajopt_examples/src/puzzle_piece_plan.cpp:246 |
Try #73. I ran all of the examples with that, and they all ran except basic_cartesian (which has not worked for me in long time) |
Has improved things a bit. I still run into the second crash every now and then though:
with backtrace: #0 0x00007ffff402b428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff402d02a in __GI_abort () at abort.c:89
#2 0x00007ffff496e84d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff496c6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff496c701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff496c919 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff49953f7 in std::__throw_out_of_range_fmt(char const*, ...) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7 0x00007ffff7a8aee8 in std::vector<sco::Var, std::allocator<sco::Var> >::_M_range_check (this=0x7fffffffc358, __n=18446744072327639336) at /usr/include/c++/5/bits/stl_vector.h:803
#8 0x00007ffff7a87feb in std::vector<sco::Var, std::allocator<sco::Var> >::at (this=0x7fffffffc358, __n=18446744072327639336) at /usr/include/c++/5/bits/stl_vector.h:842
#9 0x00007ffff7a85fc9 in util::BasicArray<sco::Var>::operator() (this=0x7fffffffc350, row=-197416040, col=0) at /home/user/tesseract_ws/src/trajopt_ros/trajopt_utils/include/trajopt_utils/basic_array.hpp:69
#10 0x00007ffff7a7df54 in trajopt::JointAccEqCost::JointAccEqCost (this=0x10cba00, vars=..., coeffs=..., targets=..., first_step=@0xc63c60: -197416040, last_step=@0xc63c64: 436)
at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/trajectory_costs.cpp:488
#11 0x00007ffff7afa037 in trajopt::JointAccTermInfo::hatch (this=0xc63bd0, prob=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:1036
#12 0x00007ffff7af085d in trajopt::ConstructProblem (pci=...) at /home/user/tesseract_ws/src/trajopt_ros/trajopt/src/problem_description.cpp:475
#13 0x000000000054ee98 in main (argc=1, argv=0x7fffffffd448) at /home/user/tesseract_ws/src/trajopt_ros/trajopt_examples/src/puzzle_piece_plan.cpp:246 Haven't been able to follow that yet into Fact that it doesn't always crash seems to point to use of uninitialised memory (sometimes within supported range, sometime outside it). |
Ok. Seems to be crashing in It is then passed here to the This is the Is this an oversight or are these initialisation approaches different on purpose? After making sure all integer members of the costs/term types being used by the puzzle piece demo are value initialised, it no longer crashes. Not sure whether it does what it is supposed to, but it I get a "woo-hoo!" from trajopt .. |
Just saw #68. That was probably what bit me. |
Ah. I knew there was something else I wanted to fix. I'll fix that too. |
From a cursory look it seems quite a few classes don't properly initialise member variables. Might be an idea to do a proper review of that -- if TrajOpt is going to be used much more. |
Hi, I'm interested in enforcing joint jerk limits in an optimizing trajectory framework, and this seems like my best shot for now. I see that there is a TermInfo struct for joint jerk limits using finite differencing, but it doesn't seem to support TT_USE_TIME.
|
@mpowelson Add Generic Interface: Another option would be to have a single type eraser for collision, kinematics and environment. TrajOpt Requires:
|
The text was updated successfully, but these errors were encountered: