【发布时间】:2021-12-23 21:26:15
【问题描述】:
我是 ROS 的新手,我对正常情况感到困惑。这是我的情况。
我订阅了我的相机(realsense 相机),我得到了点云,我将点云从 ROS_to_pcl 转换,最后我使用 python_pcl 的函数 make_NormalEstimation() 来获取法线。到目前为止,一切都很好! 现在我想以某种方式将这些法线发布到一个 ROS 主题中,并且发布我的意思是在 RVIZ 中也将它们可视化。 python_pcl 函数 make_NormalEstimation() 以向量的形式返回 4 个值。第 3 个值是 normal_x、normal_y、normal_z,第 4 个值是曲率。我想通过 PoseStamed 消息发布和可视化 RVIZ 中的法线。据我所知,PoseStamped 消息需要一个姿势和一个四元数。对于姿势字段,我使用点云中所需点的 x、y、z 来找到法线。但是当涉及到四元数时(这是我的主要问题和斗争),我不知道该使用什么!我尝试使用返回的值,因为它们是 quaternion_x, quaternion_y, quaernion_z, quaternion_w 但结果不太好......
所以。我的问题是:
- 如何使用 make_NormalEstimation() 的返回值来 创建 PoseStamed 消息?
- 有没有办法将返回值转换为四元数?
- 我是否遗漏了有关返回值的某些内容?
- 在 ROS 中是否有另一种查找和使用法线的方法?
- 如何在 ROS 中生成和发布法线?不仅是 normal_x, normal_y, normal_z 值,还有它的方向。
- 我是否必须同时发布它的 normal_x、normal_y、normal_z 和 方向还是只是 normal_x、normal_y、normal_z 值?和 如果是这样,机器人如何知道它需要接近的方向 兴趣点?
对不起,我的问题很混乱!我真的希望它们有意义!
提前致谢!
【问题讨论】:
-
也许你可以提供一些代码和其他数据来帮助理解你的问题..
-
是的,很抱歉我的帖子出现混乱。我对其进行了编辑以使我的问题更清楚。我的代码有点长,在这里发布它,但如果你偷需要它,我会尝试添加它。
标签: python ros normals rospy pcl