-
Notifications
You must be signed in to change notification settings - Fork 25
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
Ros2 plugin #34
base: ros2
Are you sure you want to change the base?
Ros2 plugin #34
Conversation
@ravnicas thanks a lot for the contribution! Before I actually review it, I'm going to let CI run - just to see if it complains about anything (other than linters). I will be reviewing the PR shortly after CI has run. |
This allows CI to test `trac_ik_kinematics`. Signed-off-by: Abrar Rahman Protyasha <[email protected]>
I took the liberty to update references to the old package name |
If I get the CI correctly, it doesnt like the dependency on moveit packages. e.g moveit_ros_planning. Also if i got it right, they are needed so i can use the abstract classes from kinematics_base and so on. I didnt want to work arond the dependencies, since one would use moveit anyway if one wants to use the plugin.
|
Hi, thanks for porting the package, i took the packages trac_ik_kinematics and trac_ik_lib and pasted in my colcon workspace and built all together with my robot's moveit package. i changed the kinematics.yaml file, but after that i see no goal state interactive marker on my rviz, do you have a bit of documentation on how to use it?. it would be helpful. thank you |
What version of ROS are you using it on? I had some problems seeing the interactive marker as well, but i'm also commanding the robots via console. The interactive marker does work on version 2.4.0 from the master repository of moveit. |
@ravnicas i use ros foxy. but when i try to use it via console, i get an error [ERROR] [1656591386.436187807] [kinematics_plugin_loader]: The kinematics plugin (arm) failed to load. Error: Failed to load library libmoveit_trac_ik_kinematics_plugin.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library LoadLibrary error: libnlopt.so.0: cannot open shared object file: No such file or directory, at /tmp/binarydeb/ros-foxy-rcutils-1.1.3/src/shared_library.c:84 Best Regards |
It can't find nlopt, afaik you can install it from their homepage or as package. https://nlopt.readthedocs.io/en/latest/ This is what I have installed, since the other nlopt package from ros wasn't ported. |
@ravnicas i did intsall that, without that both the packages wont compile, and i can build them without an error. so my question is how to configure the plugin into the moveit package?. my structure is like this, colcon_ws
now do i need to change anything in CMakeLists.txt or Package.xml of moveit package for trac_ik_kinematics_plugin to work ?. |
no you don't need to change anything, just make sure your ros installation and also the moveit installation is sourced correctly |
@ravnicas they are sourced properly, but still it does not work. i dont know why. |
it should look like this: colcon_ws/src/trac_ik/ also: |
@ravnicas i did git clone -b ros2_plugin https://github.com/ravnicas/trac_ik/tree/ros2_plugin in my src folders and ofcourse it is not building, because i see there is no CmakeLists.txt or package.xml directly under trac_ik package as you mentioned. How could you colcon build it?. edit: that is why i compiled trac_ik_kinematics and trac_ik_lib packages seperately and put them next to other packages in my src folder. |
well, i cannot reproduce your error in any configuration, im sorry also cloning the whole folder to your src directory of your ws does indeed compile |
when I run “colcon build”,I got these: |
@G-Yong this PR is not ready to land, so you won't be able to compile it as-is. Sorry! As for this specific issue -- Since - if (!solution_callback.empty())
+ if (solution_callback) Unfortunately, I don't have the bandwidth to actually finish this work. If you want to take a drive-by shot at it, I'd be happy to do brief code reviews! |
Changed kinematics plugin to match kdl CMakeFiles and classes.
Can be loaded via:
kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin
.Renamed kinematic_plugin folder to to kinematics, so it more closely matches moveits repo.
Tested on ros2 galactic.
One has to download nlopt and build it by hand though.