[Python] Publishing normals in ROS

Discussão em 'Python' iniciado por Stack, Dezembro 20, 2024.

  1. Stack

    Stack Membro Participativo

    I'm new to the ROS and i have a struggle with the normals. So here is my situation.

    I subscribe to my camera (realsense camera), I get the point cloud, I convert the point cloud from ROS_to_pcl and finally I use the function make_NormalEstimation() of python_pcl to get the normals. So far so good! Now I want to publish somehow these normals to a ROS topic and by publishing i mean visualizing them also in RVIZ. The python_pcl function make_NormalEstimation() returns 4 values in the form of a vector. The 3 first values are normal_x, normal_y, normal_z and the 4th value is the curvature. I want to publish and visualize the normals in RVIZ through PoseStamed messages. As far as i know a PoseStamped message needs a Pose and a Quaternion. For the Pose field i use the x, y, z of the desired point in my point cloud i want to find the normal. But when it comes for the quaternion (and here is my main problem and struggle) i don't know what to use! I tried to use the returned values as they were quaternion_x, quaternion_y, quaernion_z, quaternion_w but the results where not so good...

    So. my questions are:

    • How can i use the returned values of make_NormalEstimation() to create a PoseStamed message?
    • Is there a way to transform the returned values into quaternion?
    • Am i missing something about the returned values?
    • Is there another way of finding and using normals in ROS?
    • How can i generate and publish a normal in ROS? Not only it's normal_x, normal_y, normal_z values but also it's orientation.
    • Do i have to publish both it's normal_x, normal_y, normal_z and orientation or just it's normal_x, normal_y, normal_z values? And if so how will a robot know the orientation it needs to approach a point of interest?

    Sorry for the chaos in my questions! I really hope they make sense!

    Thanks in advance!

    Continue reading...

Compartilhe esta Página