-
Notifications
You must be signed in to change notification settings - Fork 48
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
Sequenced motion via MoveIt2 #159
Comments
hi @SUUHOLEE , yes no problem. Assume you have a list of waypoints # List of poses to move the robot to
poses = [
Pose(
position=Point(x=0.3, y=0.3, z=0.8),
orientation=Quaternion(x=1.0, y=0.0, z=0.0, w=0.0),
),
# Pose(
# position=Point(x=0.35, y=0.3, z=0.8),
# orientation=Quaternion(x=1.0, y=0.0, z=0.0, w=0.0),
# ),
Pose(
position=Point(x=0.4, y=0.3, z=0.8),
orientation=Quaternion(x=1.0, y=0.0, z=0.0, w=0.0),
),
# Add more poses as needed
] Just remove / add points as needed (commented out above). May I ask whether you aim to control the end-effector's position or velocity? Do you want to use Moveit or would something suffice? |
It seems that my intended purpose wasn't conveyed properly. In the code provided in #152, when there are three points forming a straight line, removing the middle point allows the movement to proceed as desired. Thank you |
okay I understand. I'll have to figure this out myself first to be honest. There is some documentation for Moveit 1 here, which was posted by @AndyZe on ROS Discourse. They mention an action server interface under from moveit_msgs.action import MoveGroupSequence so I am guessing this is still possible somehow. Doing this through the |
Thank you for kindly answering my question. Thank you. |
This issue appears to be related moveit/moveit2_tutorials#801 There is updated documentation for the Pilz planner here https://moveit.picknik.ai/main/doc/how_to_guides/pilz_industrial_motion_planner/pilz_industrial_motion_planner.html |
Okay I managed to get the sequence action server up and running at least. Thank you for adding this issue @SUUHOLEE , very much appreciated. I'll try to provide you with an example as soon as possible. Here is a quick hint what needs change.
pipelines=["pilz_industrial_motion_planner", "ompl"],
"capabilities": "pilz_industrial_motion_planner/MoveGroupSequenceAction pilz_industrial_motion_planner/MoveGroupSequenceService", Running from moveit_msgs.action import MoveGroupSequence |
I appreciate the various responses you provided to my previous questions. While I have studied related topics based on those responses, I found some aspects understandable and others not. Thank you. |
yes I'll try to provide you an example Python script shortly. In a nutshell:
|
Thank you for always being willing to answer my questions. Have you had a chance to resolve the issue? I tried looking for relevant documentation and attempted to solve the problem myself, but I found it difficult to find any clues or solutions. Therefore, I'm reaching out to you again for assistance. Thank you. |
hi @SUUHOLEE , really sorry for the delay. Will have significantly more time next week! Will attempt to close a bunch of related issues then. Hope this is okay. |
Thank you as always for your kind answers. Could I possibly get some additional hints or answers on this topic? I've seen the hints you provided above, but I can't figure out how to solve it. :( thank you |
okay let me revisit this topic, just got some big chunk of work off my table! |
hi @SUUHOLEE , I added a demo for you in a I found that this sometimes doesn't run at first but couldn't fix yet. Might have to run ros2 run lbr_demos_moveit_python sequenced_motion A couple of times, MoveIt seems to struggle with inverse kinematics. This won't be merged in the |
Thank you for your response. After trying to run it as mentioned in the link provided: It seems that the inverse kinematics cannot be solved. Even after several attempts, it appears that MoveIt struggles to solve the inverse kinematics. What I'm looking for is similar to what is described in the following link, where I want to set multiple points to be passed through sequentially: |
The demo I provided uses the Pilz planner from the link you provide. After some trying, it appears you can adopt the IK timeout (related moveit/moveit#2459), e.g. here
You can e.g. set it to Please note how multiple targets are set here (with blend radius etc) lbr_fri_ros2_stack/lbr_demos/lbr_demos_moveit_python/lbr_demos_moveit_python/sequenced_motion.py Line 77 in 2cdd90a
Please find below a video of the demo sequenced_motion.mp4Thank you again for raising this issue @SUUHOLEE! |
Thank you for your prompt response. I am using the med14 robot, and I will try the method you provided and let you know the results. Thank you. |
no worries. Sorry for the massive delay! You can ros2 launch lbr_bringup bringup.launch.py model:=med14 moveit:=true and ros2 run lbr_demos_moveit_python sequenced_motion You might encounter solving issues with scene objects. |
Thank you for providing helpful responses and test code. Even after modifying kinematics_solver_timeout = 1.0 in Do you have any idea why this problem might be occurring? (When I execute the command 'ros2 run lbr_demos_moveit_python sequenced_motion', I get an error saying 'Package 'lbr_demos_moveit_python' not found'. To resolve this, I downloaded the Python code and tried running 'python3 sequenced_motion.py'. Is this causing the error?) |
so you will have to checkout the
mkdir -p lbr-stack/src && cd lbr-stack
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/repos.yaml
rosdep install --from-paths src -i -r -y
cd src/lbr_fri_ros2_stack
git checkout dev-humble-sequenced-motion
cd ../..
colcon build --symlink-install --cmake-args -DFRI_CLIENT_VERSION=1.15 --no-warn-unused-cli # replace by your FRI client version
source install/setup.bash
ros2 launch lbr_bringup bringup.launch.py model:=med14 moveit:=true
source install/setup.bash
ros2 run lbr_demos_moveit_python sequenced_motion Please feel free to keep this issue open, as it is not solved in the |
It seems that there was an error when using the default humble instead of the dev-humble-sequenced-motion branch. After testing with the dev-humble-sequenced-motion branch, I confirmed that it runs without errors. Thank you for always providing helpful and detailed responses. |
awesome! Let's keep this issue open until solved in |
Hello,
I am a student conducting research on MED14 in South Korea. First of all, I would like to express my gratitude for sharing the code you developed.
I am currently using the code provided at #152 to control a robot.
there is an issue with this code where the robot starts from x=0.3, y=0.3, z=0.8, stops at x=0.35, y=0.3, z=0.8, and then resumes to reach x=0.4, y=0.3, z=0.8.
However, I would like to know how to modify it so that the robot can move directly from x=0.3, y=0.3, z=0.8 to x=0.4, y=0.3, z=0.8 without stopping at x=0.35, y=0.3, z=0.8.
Additionally, I am curious about how to input the path of the robot's end effector to make it move.
Thank you always.
The text was updated successfully, but these errors were encountered: