Closed gezp closed 3 years ago
Hello @gezp, thank you for posting this issue.
some code in
moveit2_py/moveit2.py
is special forpanda_arm
robot
That is correct, the Python interface for MoveIt2 (moveit2_py
) contained in this repo was originally meant as a quick and dirty alternative to moveit_commander
, which has not yet been migrated to MoveIt2 (it is not in migration progress either, so I am not sure if it is planned at all). It actually does not even contain any Ignition-specific code, this was just a convenient place for me to put it because I require to have Python interface in the control loop for my project (hence it is also hardcoded for my needs). It currently does not even support all features of MoveIt, e.g. I have not added planning of Cartesian paths yet. Having proper Python bindings to move_group
interface might therefore be much better, but I would use a different repo for such purpose as it has nothing to do with Ignition :)
do you have a plan to make
ign_moveit
more general so that others can directly use the package to move different robotic arm?
All other parts of using MoveIt2 inside Ignition should already be supported for all robots with URDF if you can get away with using C++ move_group
interface. The only extra step you need to do is to publish the joint trajectory to the corresponding topic and bridge it to Ignition such that JointTrajectoryController
can receive the messages. There is a small C++ example in this repo for this as well (ROS2 node and launch script).
If there is interest from you to use MoveIt2 with Python interface, then I can spend some time next week to refactor the moveit2_py
and make it general (read the robot description from URDF, i.e. fix init_robot()
to act as moveit_commander
would). I am not that experienced with Python, but maybe I can look at the aforementioned 'proper Python bindings' to move_group
and see how much effort it would require... I am also planning to do some changes in this repo soon anyway because upstream dependencies had some of the required features merged in, which should simplify quite a few things.
Do you have a specific robot in mind that you would like to use? If so, please link me its URDF description so that I can test it with something specific (if possible).
i find you use
scipy
package to transform euler to quaternion in example scripts, i don't think it's good way to import extra unnecessary package
I totally agree with you, this repo should totally be renamed to quick-n-dirty :) As scipy
is only used in examples to get top-down aligned orientation, I will replace it everywhere with the resulting [1.0, 0.0, 0.0, 0.0]
quaternion and remove the unnecessary import.
Thanks for your reply! now I copy and modify a part of moveit2_py/moveit2.py
for my project .I only need part functions and I can flexibly modify the code for my own needs, so i don't think my project need to depend on this package. But anyway, this repo
is a good tutorial about how to use moveit2
, thanks for your work!
Hi, First, thank you for your great work! it gives me much help and reference when i study moveit2 and Ignition Gazebo.
but i find some code in
moveit2_py/moveit2.py
is special forpanda_arm
robot , do you have a plan to makeign_moveit
more general so that others can directly use the package to move different robotic arm?In addition, i find you use
scipy
package to transform euler to quaternion in example scripts, i don't think it's good way to import extra unnecessary package . and i also find a simple transform code which is from ROS2 Tutorials: Using-URDF-with-Robot-State-Publisher , of course, it's just my opinion.