moveit_tutorials | A sphinx-based centralized documentation repo for MoveIt | Robotics library
kandi X-RAY | moveit_tutorials Summary
kandi X-RAY | moveit_tutorials Summary
A sphinx-based centralized documentation repo for MoveIt
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of moveit_tutorials
moveit_tutorials Key Features
moveit_tutorials Examples and Code Snippets
Community Discussions
Trending Discussions on moveit_tutorials
QUESTION
tl;dr: How can I send a 6 DOF robot arm a "move to (x, y, z, roll, pitch, yaw)" command using ROS MoveIt?
I'm trying to control a Universal Robots UR5 6-degree-of-freedom robot arm with ROS and MoveIt, using the Python Move Group Interface. I'm missing the fundamental "how to send robot end effector to this point" control. I'm interpreting "end effector" as the "hand" of the robot on the very end. Intuitively, I want to make the end effector move using something like:
...ANSWER
Answered 2020-Mar-25 at 00:41My research says that a quaternion of form (x, y, z, w) describes rotation in 3D space only. How does the robot know what position to move to if it only gets rotation information?
Correct, a quaternion describes the orientation of a frame only; you also need to specify the position of the frame to have a complete pose. Quaternion is just a different way to describe the orientation of a body, another way is, as you already mentioned, to use Euler Angles (Yaw, Pitch, Roll).
In your case with your pose_goal
object, you need to specify the position of the desired/goal robot pose by setting the x
, y
and z
components of pose_goal.position
(that's the position of the Robot in 3D space) and then also specify the orientation of the desired/goal robot pose by using the Quaternion notation w
, x
, y
and z
to set the components of pose_goal.orientation
(note that x
, y
and z
part of the Quaternion is not the same with your position vector, they are different things). Once you define both pose_goal.position
and pose_goal.orientation
you are done, you have a complete pose that you can send to MoveIt! to plan and execute.
Can I convert from (x, y, z, roll, pitch, yaw) to a quaternion? Or do those describe two different things?
Here, x, y, z
, is your position vector which has nothing to do with the orientation (and hence with quaternions), so your question should really be, "Can I convert Euler angles (roll, pitch, yaw) to a quaternion?" and the answer is, yes you can convert Euler angles to a quaternion but it might be tricky. If you can represent the orientation using a quaternion (i.e., if you have this information already) you should use it as quaternions are more numerically robust and they are not suffering from singularities (for example Euler angles could cause a Gimbal lock where under a specific configuration your system loses a degree of freedom).
If you have access to a quaternion, use it and forget Euler angles, else you might want to try converting the Euler angles to a quaternion using the following way using ROS's tf
library:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install moveit_tutorials
For deploying documentation changes to the web, Section 3 of rosdoc_lite wiki says that "rosdoc_lite is automatically run for packages in repositories that have rosinstall files listed in the rosdistro repository." This is done about once every 24 hours, overnight.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page