(八)ROS创建点云数据并在rviz中显示
2017-04-15 17:19
706 查看
示例选自ROS机器人程序设计(原书第2版)indigo源码
在书籍的第6章
配置环境变量
运行
打开rviz
在rviz中增加PointCloud2d
topic 选 /pcl_output
fixed Frame 输入odom
如图
在书籍的第6章
1.新建工程
mkdir -p chapter6_tutorials/src cd src catkin_create_pkg chapter6_tutorials pcl_ros roscpp rospy sensor_msgs std_msgs cd .. catkin_make
2.编辑主函数pcl_create.cpp
内容如下#include <ros/ros.h> #include <pcl/point_cloud.h> #include <pcl_conversions/pcl_conversions.h> #include <sensor_msgs/PointCloud2.h> main (int argc, char **argv) { ros::init (argc, argv, "pcl_create"); ros::NodeHandle nh; ros::Publisher pcl_pub = nh.advertise<sensor_msgs::PointCloud2> ("pcl_output", 1); pcl::PointCloud<pcl::PointXYZ> cloud; sensor_msgs::PointCloud2 output; // Fill in the cloud data cloud.width = 100; cloud.height = 1; cloud.points.resize(cloud.width * cloud.height); for (size_t i = 0; i < cloud.points.size (); ++i) { cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0f); cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0f); cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0f); } //Convert the cloud to ROS message pcl::toROSMsg(cloud, output); output.header.frame_id = "odom"; ros::Rate loop_rate(1); while (ros::ok()) { pcl_pub.publish(output); ros::spinOnce(); loop_rate.sleep(); } return 0; }
3.编辑CMakeLists.txt
编辑/chapter6_tutorials/src/chapter6_tutorials路径下CMakeLists.txt加入find_package(PCL REQUIRED) include_directories(include${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_executable(pcl_create src/pcl_create.cpp) target_link_libraries(pcl_create ${catkin_LIBRARIES} ${PCL_LIBRARIES})
4.编译和在rviz中显示
编译catkin_make
配置环境变量
source ./devel/setup.bash
运行
rosrun chapter6_tutorials pcl_create
打开rviz
rosrun rviz rviz
在rviz中增加PointCloud2d
topic 选 /pcl_output
fixed Frame 输入odom
如图
相关文章推荐
- ROS_PCL+Rviz创建点云并三维显示
- ROS rviz 显示 kinect v2 点云数据
- XML创建可排序、分页的数据显示页面
- 用XML创建可排序、分页的数据显示页面
- 操纵DOM,创建table,显示获得的数据
- WPF4数据绑定应用之“创建具有多种显示效果的字串”
- 如何创建DataSet,并用DataGridView显示数据
- XML创建可排序、分页的数据显示页面
- JQuery将DataTable list<>数据转换成JSON数据 动态创建表格显示数据
- 使用ASP.NET页面创建可视的UI,在客户机上实例化MSXML分析器的页面从中间层组件取出XML数据、操作并显示 并有问题请高手解决
- XML创建可排序、分页的数据显示页面
- ASP.NET - 演练:创建网页以显示 XML 数据
- XML创建可排序、分页的数据显示页面
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- JSP连接Oracle小程序(创建数据表,插入,显示)
- XML创建可排序、分页的数据显示页面
- ::递归实现——创建二叉树 ----> 装入数据--->遍历---> 显示 --->销毁
- 使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页面
- Flex中如何创建一个自定义数据显示Tips的slider控件。鼠标按住滑标察看效果
- C#运用ADO.net动态创建excle并进行相应的数据修改显示