ROS学习笔记13:rviz三维可视化平台(ROS常用组件)

前言:

        rviz是一款三维可视化工具,很好地兼容了各种基于ROS软件框架的机器人平台。

(1)rviz可以用XML对机器人、周围物体等任何实物进行尺寸、质量、位置、材质、关节等属性的描述,并且再界面中呈现出来。

(2)rviz还可以通过图形化方式,实时显示机器人传感器的信息、机器人的运动状态、周围环境的变化等。

(3)rviz通过机器人模型参数、机器人发布的传感器信息等数据,为用户进行所有可检测信息的图形化显示。

1.rviz数据类型介绍:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第1张图片

2. rviz界面介绍:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第2张图片

3. 实践操作:

        目的:发送基本形状至rviz

(1)创建功能包:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第3张图片

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第4张图片

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第5张图片

(2)创建节点:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第6张图片

(3)编辑代码:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第7张图片

#include 
#include 
 
 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_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})

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第8张图片

(5)编译源码:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第9张图片

(6)运行节点:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第10张图片

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第11张图片

(7)启动rviz:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第12张图片

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第13张图片

(8)配置rviz:

ROS学习笔记13:rviz三维可视化平台(ROS常用组件)_第14张图片

你可能感兴趣的:(ROS编程技术,学习)