我是 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 值?如果是这样,机器人如何知道接近兴趣点所需的方向?
对不起,我的问题混乱!我真的希望他们有意义!
提前致谢!