• 多机namespace组网


     多机建图

    sudo apt-get install ros-kinetic-multirobot-map-merge
    

      

     【虚拟机/PC】:运行roscore

    roscore
    

    用不同的名称空间创建多个Turtlebot3。我们建议名称空间包含常用词,如tb3_0、tb3_1或my_robot_0、my_robot_1

    [TurtleBot(tb3_0)]

    提供基本包,其中ROS命名空间用于节点,多机器人名称用于tf前缀,设置激光雷达帧id用于激光雷达帧id。这些参数必须相同。

    ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="tb3_0" set_lidar_frame_id:="tb3_0/base_scan"
    

    [TurtleBot(tb3_1)]

    为节点提供基本包,ROS名称空间为节点,多机器人名称为tf前缀,设置激光雷达帧id为激光雷达帧id。这些参数必须与其他机器人相同,但不同。

    ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_bringup turtlebot3_robot.launch multi_robot_name:="tb3_1" set_lidar_frame_id:="tb3_1/base_scan"
    

     

    【虚拟机/PC】

    使用相同的命名空间启动robot state publisher。

    【虚拟机/PC】对于[TurtleBot(tb3_0)]

    ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_bringup turtlebot3_remote.launch multi_robot_name:=tb3_0
    

    【虚拟机/PC】对于[TurtleBot(tb3_1)]

    ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_bringup turtlebot3_remote.launch multi_robot_name:=tb3_1
    

    在启动另一个应用程序之前,请检查主题和TF树以打开rqt

    rqt
    

      

    ROS_NAMESPACE=tb3_0 roslaunch turtlebot3_slam turtlebot3_gmapping.launch set_base_frame:=tb3_0/base_footprint set_odom_frame:=tb3_0/odom set_map_frame:=tb3_0/map
    

      

    ROS_NAMESPACE=tb3_1 roslaunch turtlebot3_slam turtlebot3_gmapping.launch set_base_frame:=tb3_1/base_footprint set_odom_frame:=tb3_1/odom set_map_frame:=tb3_1/map
    

      

    roscd turtlebot3_slam
    cd launch

      

    vim turtlebot3_map_merge.launch
    

      

    <launch>
      <arg name="first_tb3"  default="tb3_0"/>
      <arg name="second_tb3" default="tb3_1"/>
     
      <arg name="first_tb3_x_pos" default="-7.0"/>
      <arg name="first_tb3_y_pos" default="-1.0"/>
      <arg name="first_tb3_z_pos" default=" 0.0"/>
      <arg name="first_tb3_yaw"   default=" 0.0"/>
     
      <arg name="second_tb3_x_pos" default=" 7.0"/>
      <arg name="second_tb3_y_pos" default="-1.0"/>
      <arg name="second_tb3_z_pos" default=" 0.0"/>
      <arg name="second_tb3_yaw"   default=" 0.0"/>
     
      <group ns="$(arg first_tb3)/map_merge">
        <param name="init_pose_x"   value="$(arg first_tb3_x_pos)"/>
        <param name="init_pose_y"   value="$(arg first_tb3_y_pos)"/>
        <param name="init_pose_z"   value="$(arg first_tb3_z_pos)"/>
        <param name="init_pose_yaw" value="$(arg first_tb3_yaw)"  />
      </group>
     
      <group ns="$(arg second_tb3)/map_merge">
        <param name="init_pose_x"   value="$(arg second_tb3_x_pos)"/>
        <param name="init_pose_y"   value="$(arg second_tb3_y_pos)"/>
        <param name="init_pose_z"   value="$(arg second_tb3_z_pos)"/>
        <param name="init_pose_yaw" value="$(arg second_tb3_yaw)"  />
      </group>
     
     
      <node pkg="multirobot_map_merge" type="map_merge" respawn="false" name="map_merge" output="screen">
        <param name="robot_map_topic" value="map"/>
        <param name="robot_namespace" value="tb3"/>
        <param name="merged_map_topic" value="map"/>
        <param name="world_frame" value="map"/>
        <param name="known_init_poses" value="true"/>
        <param name="merging_rate" value="0.5"/>
        <param name="discovery_rate" value="0.05"/>
        <param name="estimation_rate" value="0.1"/>
        <param name="estimation_confidence" value="1.0"/>
      </node>
     
      <node pkg="tf" type="static_transform_publisher" name="world_to_$(arg first_tb3)_tf_broadcaster"  args="0 0 0 0 0 0 /map /$(arg first_tb3)/map 100"/>
      <node pkg="tf" type="static_transform_publisher" name="world_to_$(arg second_tb3)_tf_broadcaster" args="0 0 0 0 0 0 /map /$(arg second_tb3)/map 100"/>
    </launch>
           

    修改turtlebot3_map_merge.launch文件里面的机器人的位置参数

    正确摆放机器人的位置

    roslaunch turtlebot3_slam turtlebot3_map_merge.launch
    

      

    vim multi_turtlebot3_slam.rviz
    

      

     

    Panels:
      - Class: rviz/Displays
        Help Height: 78
        Name: Displays
        Property Tree Widget:
          Expanded:
            - /Global Options1
            - /TF1/Frames1
          Splitter Ratio: 0.36039602756500244
        Tree Height: 745
      - Class: rviz/Selection
        Name: Selection
      - Class: rviz/Tool Properties
        Expanded:
          - /2D Pose Estimate1
          - /2D Nav Goal1
          - /Publish Point1
        Name: Tool Properties
        Splitter Ratio: 0.5886790156364441
      - Class: rviz/Views
        Expanded:
          - /Current View1
        Name: Views
        Splitter Ratio: 0.5
      - Class: rviz/Time
        Experimental: false
        Name: Time
        SyncMode: 0
        SyncSource: LaserScan
    Visualization Manager:
      Class: ""
      Displays:
        - Alpha: 0.5
          Cell Size: 0.44999998807907104
          Class: rviz/Grid
          Color: 160; 160; 164
          Enabled: true
          Line Style:
            Line Width: 0.029999999329447746
            Value: Lines
          Name: Grid
          Normal Cell Count: 0
          Offset:
            X: 0
            Y: 0
            Z: 0
          Plane: XY
          Plane Cell Count: 100
          Reference Frame: map
          Value: true
        - Class: rviz/TF
          Enabled: true
          Frame Timeout: 15
          Frames:
            All Enabled: true
            map:
              Value: true
            tb3_0/base_footprint:
              Value: true
            tb3_0/base_link:
              Value: true
            tb3_0/base_scan:
              Value: true
            tb3_0/caster_back_link:
              Value: true
            tb3_0/imu_link:
              Value: true
            tb3_0/map:
              Value: true
            tb3_0/odom:
              Value: true
            tb3_0/wheel_left_link:
              Value: true
            tb3_0/wheel_right_link:
              Value: true
            tb3_1/base_footprint:
              Value: true
            tb3_1/base_link:
              Value: true
            tb3_1/base_scan:
              Value: true
            tb3_1/caster_back_link:
              Value: true
            tb3_1/imu_link:
              Value: true
            tb3_1/map:
              Value: true
            tb3_1/odom:
              Value: true
            tb3_1/wheel_left_link:
              Value: true
            tb3_1/wheel_right_link:
              Value: true
            tb3_2/base_footprint:
              Value: true
            tb3_2/base_link:
              Value: true
            tb3_2/base_scan:
              Value: true
            tb3_2/caster_back_link:
              Value: true
            tb3_2/imu_link:
              Value: true
            tb3_2/map:
              Value: true
            tb3_2/odom:
              Value: true
            tb3_2/wheel_left_link:
              Value: true
            tb3_2/wheel_right_link:
              Value: true
          Marker Scale: 1
          Name: TF
          Show Arrows: true
          Show Axes: true
          Show Names: true
          Tree:
            map:
              tb3_0/map:
                tb3_0/odom:
                  tb3_0/base_footprint:
                    tb3_0/base_link:
                      tb3_0/base_scan:
                        {}
                      tb3_0/caster_back_link:
                        {}
                      tb3_0/imu_link:
                        {}
                      tb3_0/wheel_left_link:
                        {}
                      tb3_0/wheel_right_link:
                        {}
              tb3_1/map:
                tb3_1/odom:
                  tb3_1/base_footprint:
                    tb3_1/base_link:
                      tb3_1/base_scan:
                        {}
                      tb3_1/caster_back_link:
                        {}
                      tb3_1/imu_link:
                        {}
                      tb3_1/wheel_left_link:
                        {}
                      tb3_1/wheel_right_link:
                        {}
              tb3_2/map:
                tb3_2/odom:
                  tb3_2/base_footprint:
                    tb3_2/base_link:
                      tb3_2/base_scan:
                        {}
                      tb3_2/caster_back_link:
                        {}
                      tb3_2/imu_link:
                        {}
                      tb3_2/wheel_left_link:
                        {}
                      tb3_2/wheel_right_link:
                        {}
          Update Interval: 0
          Value: true
        - Alpha: 1
          Autocompute Intensity Bounds: true
          Autocompute Value Bounds:
            Max Value: 10
            Min Value: -10
            Value: true
          Axis: Z
          Channel Name: intensity
          Class: rviz/LaserScan
          Color: 255; 0; 0
          Color Transformer: FlatColor
          Decay Time: 0
          Enabled: true
          Invert Rainbow: false
          Max Color: 255; 255; 255
          Max Intensity: 11799
          Min Color: 0; 0; 0
          Min Intensity: 0
          Name: LaserScan
          Position Transformer: XYZ
          Queue Size: 10
          Selectable: true
          Size (Pixels): 3
          Size (m): 0.019999999552965164
          Style: Flat Squares
          Topic: /tb3_0/scan
          Unreliable: false
          Use Fixed Frame: true
          Use rainbow: true
          Value: true
        - Alpha: 1
          Autocompute Intensity Bounds: true
          Autocompute Value Bounds:
            Max Value: 10
            Min Value: -10
            Value: true
          Axis: Z
          Channel Name: intensity
          Class: rviz/LaserScan
          Color: 255; 255; 255
          Color Transformer: Intensity
          Decay Time: 0
          Enabled: true
          Invert Rainbow: false
          Max Color: 255; 255; 255
          Max Intensity: 0
          Min Color: 0; 0; 0
          Min Intensity: 0
          Name: LaserScan
          Position Transformer: XYZ
          Queue Size: 10
          Selectable: true
          Size (Pixels): 3
          Size (m): 0.009999999776482582
          Style: Flat Squares
          Topic: /tb3_1/scan
          Unreliable: false
          Use Fixed Frame: true
          Use rainbow: true
          Value: true
        - Alpha: 1
          Autocompute Intensity Bounds: true
          Autocompute Value Bounds:
            Max Value: 10
            Min Value: -10
            Value: true
          Axis: Z
          Channel Name: intensity
          Class: rviz/LaserScan
          Color: 255; 255; 255
          Color Transformer: Intensity
          Decay Time: 0
          Enabled: true
          Invert Rainbow: false
          Max Color: 255; 255; 255
          Max Intensity: 0
          Min Color: 0; 0; 0
          Min Intensity: 0
          Name: LaserScan
          Position Transformer: XYZ
          Queue Size: 10
          Selectable: true
          Size (Pixels): 3
          Size (m): 0.009999999776482582
          Style: Flat Squares
          Topic: /tb3_2/scan
          Unreliable: false
          Use Fixed Frame: true
          Use rainbow: true
          Value: true
        - Alpha: 1
          Class: rviz/RobotModel
          Collision Enabled: false
          Enabled: true
          Links:
            All Links Enabled: true
            Expand Joint Details: false
            Expand Link Details: false
            Expand Tree: false
            Link Tree Style: Links in Alphabetic Order
            base_footprint:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            base_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            base_scan:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            caster_back_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            imu_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            wheel_left_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            wheel_right_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
          Name: RobotModel
          Robot Description: tb3_0/robot_description
          TF Prefix: tb3_0
          Update Interval: 0
          Value: true
          Visual Enabled: true
        - Alpha: 1
          Class: rviz/RobotModel
          Collision Enabled: false
          Enabled: true
          Links:
            All Links Enabled: true
            Expand Joint Details: false
            Expand Link Details: false
            Expand Tree: false
            Link Tree Style: Links in Alphabetic Order
            base_footprint:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            base_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            base_scan:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            caster_back_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            imu_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            wheel_left_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            wheel_right_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
          Name: RobotModel
          Robot Description: tb3_1/robot_description
          TF Prefix: tb3_1
          Update Interval: 0
          Value: true
          Visual Enabled: true
        - Alpha: 1
          Class: rviz/RobotModel
          Collision Enabled: false
          Enabled: true
          Links:
            All Links Enabled: true
            Expand Joint Details: false
            Expand Link Details: false
            Expand Tree: false
            Link Tree Style: Links in Alphabetic Order
            base_footprint:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            base_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            base_scan:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            caster_back_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            imu_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
            wheel_left_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
            wheel_right_link:
              Alpha: 1
              Show Axes: false
              Show Trail: false
              Value: true
          Name: RobotModel
          Robot Description: tb3_2/robot_description
          TF Prefix: tb3_2
          Update Interval: 0
          Value: true
          Visual Enabled: true
        - Alpha: 0.30000001192092896
          Class: rviz/Map
          Color Scheme: map
          Draw Behind: false
          Enabled: true
          Name: Map
          Topic: /tb3_0/map
          Unreliable: false
          Use Timestamp: false
          Value: true
        - Alpha: 0.30000001192092896
          Class: rviz/Map
          Color Scheme: map
          Draw Behind: false
          Enabled: true
          Name: Map
          Topic: /tb3_1/map
          Unreliable: false
          Use Timestamp: false
          Value: true
        - Alpha: 0.30000001192092896
          Class: rviz/Map
          Color Scheme: map
          Draw Behind: false
          Enabled: true
          Name: Map
          Topic: /tb3_2/map
          Unreliable: false
          Use Timestamp: false
          Value: true
        - Alpha: 0.699999988079071
          Class: rviz/Map
          Color Scheme: map
          Draw Behind: false
          Enabled: true
          Name: Map
          Topic: /map
          Unreliable: false
          Use Timestamp: false
          Value: true
      Enabled: true
      Global Options:
        Background Color: 48; 48; 48
        Default Light: true
        Fixed Frame: map
        Frame Rate: 30
      Name: root
      Tools:
        - Class: rviz/Interact
          Hide Inactive Objects: true
        - Class: rviz/MoveCamera
        - Class: rviz/Select
        - Class: rviz/FocusCamera
        - Class: rviz/Measure
        - Class: rviz/SetInitialPose
          Topic: /initialpose
        - Class: rviz/SetGoal
          Topic: /move_base_simple/goal
        - Class: rviz/PublishPoint
          Single click: true
          Topic: /clicked_point
      Value: true
      Views:
        Current:
          Angle: -1.5699989795684814
          Class: rviz/TopDownOrtho
          Enable Stereo Rendering:
            Stereo Eye Separation: 0.05999999865889549
            Stereo Focal Distance: 1
            Swap Stereo Eyes: false
            Value: false
          Invert Z Axis: false
          Name: Current View
          Near Clip Distance: 0.009999999776482582
          Scale: 28.54726791381836
          Target Frame: map
          Value: TopDownOrtho (rviz)
          X: 4.814141750335693
          Y: -1.3036315441131592
        Saved: ~
    Window Geometry:
      Displays:
        collapsed: false
      Height: 1027
      Hide Left Dock: false
      Hide Right Dock: true
      QMainWindow State: 000000ff00000000fd0000000400000000000001e300000373fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005300fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003500000373000000b600fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d0061006700650000000216000001900000000000000000000000010000010f00000373fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000035000003730000009900fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000009fe0000003efc0100000002fb0000000800540069006d00650100000000000009fe0000024b00fffffffb0000000800540069006d00650100000000000004500000000000000000000008170000037300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
      Selection:
        collapsed: false
      Time:
        collapsed: false
      Tool Properties:
        collapsed: false
      Views:
        collapsed: true
      Width: 2558
      X: 0
    Y: 0
    rosrun rviz rviz -d `rospack find turtlebot3_bringup`/launch/multi_turtlebot3_slam.rviz
    

      

    rviz -d 'rospack find turtlebot3_slam'/rviz/muti_turtlebot3_slam.rviz
    

      

    ROS_NAMESPACE=tb3_0 rosrun turtlebot3_teleop turtlebot3_teleop_key
    

      

    ROS_NAMESPACE=tb3_1 rosrun turtlebot3_teleop turtlebot3_teleop_key
    

     

    rosrun map_server map_saver -f ~/map
    

      

    http://wiki.ros.org/multirobot_map_merge

    https://blog.51cto.com/u_12369060/3439700

    https://www.ncnynl.com/archives/201811/2793.html

  • 相关阅读:
    20100320 ~ 20100420 小结与本月计划
    datamining的思考
    谈谈网络蜘蛛 爬开心网001的一些体会
    将 ASP.NET MVC3 Razor 项目部署到虚拟主机中
    Eclipse代码中中文字显示很小的解决办法
    U8800一键ROOT删除定制软件 安装新版Docment to go
    Android(安卓) U8800 长按 搜索键、返回键 锁屏或解锁的设置方法
    JDK5.0新特性系列3.枚举类型
    JDK5.0新特性系列1.自动装箱和拆箱
    网游运营基本概念及专业术语
  • 原文地址:https://www.cnblogs.com/kay2018/p/16045792.html
Copyright © 2020-2023  润新知