前言:
rviz是一款三维可视化工具,很好地兼容了各种基于ROS软件框架的机器人平台。
(1)rviz可以用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且再界面中呈现出来。
(2)rviz还可以通过图形化方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等。
(3)rviz通过机器人模型参数、机器人发布的传感器信息等数据,为用户进行所有可检测信息的图形化显示。
1.rviz数据类型介绍:
2. rviz界面介绍:

3. 实践操作:
目的:发送基本形状至rviz
(1)创建功能包:



(2)创建节点:



(3)编辑代码:


#include <ros/ros.h> #include <visualization_msgs/Marker.h> int main( int argc, char argv ) { ros::init(argc, argv, "basic_shapes"); ros::NodeHandle n; ros::Rate r(1); ros::Publisher marker_pub = n.advertise<visualization_msgs::Marker>("visualization_marker", 1); uint32_t shape = visualization_msgs::Marker::CUBE; while (ros::ok()) { visualization_msgs::Marker marker; marker.header.frame_id = "my_frame"; marker.header.stamp = ros::Time::now(); marker.ns = "basic_shapes"; marker.id = 0; marker.type = shape; marker.action = visualization_msgs::Marker::ADD; marker.pose.position.x = 0; marker.pose.position.y = 0; marker.pose.position.z = 0; marker.pose.orientation.x = 0.0; marker.pose.orientation.y = 0.0; marker.pose.orientation.z = 0.0; marker.pose.orientation.w = 1.0; marker.scale.x = 1.0; marker.scale.y = 1.0; marker.scale.z = 1.0; marker.color.r = 0.0f; marker.color.g = 1.0f; marker.color.b = 0.0f; marker.color.a = 1.0; marker.lifetime = ros::Duration(); while (marker_pub.getNumSubscribers() < 1) { if (!ros::ok()) { return 0; } ROS_WARN_ONCE("Please create a subscriber to the marker"); sleep(1); } marker_pub.publish(marker); r.sleep(); } }
讯享网
(4)编辑CMakeLists.txt文件:
讯享网add_executable(basic_shapes src/basic_shapes.cpp) target_link_libraries(basic_shapes ${catkin_LIBRARIES})


(5)编译源码:

(6)运行节点:


(7)启动rviz:


(8)配置rviz:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62805.html