Re: [google-cartographer] what's wrong about my configuration for 2d Laserscan and IMU?

1,380 views
Skip to first unread message

Holger Rapp

unread,
Apr 7, 2017, 9:55:53 AM4/7/17
to libin sui, google-cartographer


On Fri, Apr 7, 2017 at 1:01 PM, libin sui <bygr...@gmail.com> wrote:

At my test project, I have made all sensors correctly sending data to cartographer, but the output of TF is always not correct, and which make the map is not being generated.
Could anyone help me to check where is wrong? Let me learn from your answer. thanks a lot!

​The screenshot you send shows that your IMU is giving reasonable data. The problem is probably somewhere else - have you run roswtf? I guess the problem is also probably not related to cartographer, but to ROS - so you might get better answers asking at answers.ros.org


--
You received this message because you are subscribed to the Google Groups "google-cartographer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartographer+unsub...@googlegroups.com.
To post to this group, send email to google-cartographer@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-cartographer/8aa519a0-6345-40df-a0c8-a76f82b83674%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Google Germany GmbH
Erika-Mann-Straße 33
80331 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle


libin sui

unread,
Apr 7, 2017, 10:02:48 AM4/7/17
to google-cartographer, bygr...@gmail.com
Sorry, I canceled this post since I found some doubts need to check again. If I could not fix it, I would come again.

在 2017年4月7日星期五 UTC+8下午9:55:53,Holger Rapp写道:


On Fri, Apr 7, 2017 at 1:01 PM, libin sui <bygr...@gmail.com> wrote:

At my test project, I have made all sensors correctly sending data to cartographer, but the output of TF is always not correct, and which make the map is not being generated.
Could anyone help me to check where is wrong? Let me learn from your answer. thanks a lot!

​The screenshot you send shows that your IMU is giving reasonable data. The problem is probably somewhere else - have you run roswtf? I guess the problem is also probably not related to cartographer, but to ROS - so you might get better answers asking at answers.ros.org


--
You received this message because you are subscribed to the Google Groups "google-cartographer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-cartographer+unsub...@googlegroups.com.
To post to this group, send email to google-ca...@googlegroups.com.

libin sui

unread,
Apr 9, 2017, 11:30:28 PM4/9/17
to google-cartographer, bygr...@gmail.com

Hi Holger Rapp and All:

I still meet the same question about i have not get the generated map. And I will descript all my status for you
Device:
1. Two Hokuyo Laserscan, UTM-30LX, but at current, I just used one which is placed as horizontal laser scan.
2. xsen IMU.

Configurtion:

Launch file

<launch>
  <param name="robot_description"
    textfile="$(find cartographer_ros)/urdf/hokuyo_2d_imu.urdf" />

  <arg name="debugger" default="" />
  <!-- <param name="publish_frequency" type="double" value="200"/> -->
  <!-- <param name="use_tf_static" type="bool" value="false"/> -->
  <param name="enable_statistics" type="bool" value="false"/>

  <node name="robot_state_publisher" pkg="robot_state_publisher"
    type="robot_state_publisher" />

  <node pkg="urg_node" type="urg_node" name="hokuyo_UTM_30LX_h" output="screen">
    <param name="ip_address" value="192.168.20.10"/>
    <param name="frame_id" value="horizontal_laser_link"/>
    <param name="calibrate_time" type="bool" value="false"/>  
    <param name="intensity" type="bool" value="false"/>
    <param name="cluster" value="1"/>
    <param name="publish_intensity" value = "false"/>
    <param name="publish_multiecho" value = "false"/>
    <remap from="scan" to="scan" /> 
  </node> 

<!--
  <node pkg="urg_node" type="urg_node" name="hokuyo_UTM_30LX_v" output="screen">
    <param name="ip_address" value="192.168.0.10"/>
    <param name="frame_id" value="vertical_laser_link"/>
    <param name="calibrate_time" type="bool" value="true"/>  
    <param name="intensity" type="bool" value="false"/>
    <param name="cluster" value="1"/>
    <param name="publish_intensity" value = "false"/>
    <param name="publish_multiecho" value = "false"/>
    <remap from="scan" to="scan" /> 
  </node> 
 -->
<!--
  <node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_URG_04LX" output="screen">
    <param name="calibrate_time" type="bool" value="false"/> 
    <param name="port" type="string" value="/dev/ttyACM0"/> 
    <param name="intensity" type="bool" value="false"/> 
    <param name="frameid" value="vertical_laser_link"/>
    <param name="port" type="string" value="/dev/ttyACM0"/> 
  </node>
-->
  <node name="xsens_driver" pkg="xsens_driver" 
      type="mtnode.py"  
      output="screen" >
      <param name="device" value="/dev/ttyS0"/>
      <param name="baudrate" value="115200"/>
      <param name="frame_id" value="imu_link"/>
      <param name="frame_local" value="NWU"/>
      <remap from="imu" to="imu" />
  </node>

  <node name="cartographer_node" pkg="cartographer_ros"
      type="cartographer_node" args="
          -configuration_directory
              $(find cartographer_ros)/configuration_files
          -configuration_basename hokuyo_2d_imu.lua"
      output="screen"
      launch-prefix="$(arg debugger)" >
      <!-- launch-prefix="$(arg debugger)" -->

      <!-- <remap from="scan" to="horizontal_laser_2d" /> -->
      <!-- <remap from="imu" to="/imu/data" /> -->
  </node>


  <node name="rviz" pkg="rviz" type="rviz" required="true"
      args="-d $(find cartographer_ros)/configuration_files/hokuyo_2d_imu.rviz">
  </node>

  <!-- DEBUG -->    
  <node name="rqt_gui" pkg="rqt_gui" type="rqt_gui"/>
</launch>

lua file

include "map_builder.lua"

options = {
  map_builder = MAP_BUILDER,
  map_frame = "map",
  tracking_frame = "base_link",
  published_frame = "base_link",
  odom_frame = "odom",
  provide_odom_frame = true,
  use_odometry = false,
  use_laser_scan = true,
  use_multi_echo_laser_scan = false,
  num_point_clouds = 0,
  lookup_transform_timeout_sec = 0.2,
  submap_publish_period_sec = 0.3,
  pose_publish_period_sec = 5e-3,
}

MAP_BUILDER.use_trajectory_builder_2d = true
MAP_BUILDER.num_background_threads = 7

TRAJECTORY_BUILDER_2D.use_imu_data = true
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true

TRAJECTORY_BUILDER_2D.laser_min_range = 0.2
TRAJECTORY_BUILDER_2D.laser_max_range = 30.
--TRAJECTORY_BUILDER_2D.laser_missing_echo_ray_length = 0.2

--TRAJECTORY_BUILDER_2D.submaps.resolution = 0.4
--TRAJECTORY_BUILDER_2D.submaps.output_debug_images = true



SPARSE_POSE_GRAPH.optimize_every_n_scans = 35

SPARSE_POSE_GRAPH.constraint_builder.min_score = 0.65
SPARSE_POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7

return options



URDF file
 <robot name="cartographer_backpack_2d">
  <material name="orange">
    <color rgba="1.0 0.5 0.2 1" />
  </material>
  <material name="gray">
    <color rgba="0.2 0.2 0.2 1" />
  </material>

  <link name="imu_link">
    <visual>
      <origin xyz="0 0 0" />
      <geometry>
        <box size="0.06 0.04 0.02" />
      </geometry>
      <material name="orange" />
    </visual>
  </link>

  <link name="horizontal_laser_link">
    <visual>
      <origin xyz="0 0 0" />
      <geometry>
        <cylinder length="0.05" radius="0.03" />
      </geometry>
      <material name="gray" />
    </visual>
  </link>

  <link name="vertical_laser_link">
    <visual>
      <origin xyz="0 0 0" />
      <geometry>
        <cylinder length="0.05" radius="0.03" />
      </geometry>
      <material name="gray" />
    </visual>
  </link>

  <link name="base_link" />

  <joint name="imu_link_joint" type="fixed">
    <parent link="base_link" />
    <child link="imu_link" />
    <origin xyz="0 0 0" />
  </joint>

  <joint name="horizontal_laser_link_joint" type="fixed">
    <parent link="base_link" />
    <child link="horizontal_laser_link" />
    <origin xyz="0.2 0 0" />
  </joint>

  <joint name="vertical_laser_link_joint" type="fixed">
    <parent link="base_link" />
    <child link="vertical_laser_link" />
    <origin rpy="0 -1.570796 3.1415923" xyz="0.2 0 0.3" />
  </joint>
</robot>


RVIZ File
Panels:
  - Class: rviz/Displays
    Help Height: 78
    Name: Displays
    Property Tree Widget:
      Expanded:
        - /Submaps1
        - /PointCloud21
      Splitter Ratio: 0.600671
    Tree Height: 821
  - Class: rviz/Selection
    Name: Selection
  - Class: rviz/Tool Properties
    Expanded:
      - /2D Pose Estimate1
      - /2D Nav Goal1
      - /Publish Point1
    Name: Tool Properties
    Splitter Ratio: 0.588679
  - Class: rviz/Views
    Expanded:
      - /Current View1
    Name: Views
    Splitter Ratio: 0.5
  - Class: rviz/Time
    Experimental: false
    Name: Time
    SyncMode: 0
    SyncSource: PointCloud2
Visualization Manager:
  Class: ""
  Displays:
    - Alpha: 0.5
      Cell Size: 1
      Class: rviz/Grid
      Color: 160; 160; 164
      Enabled: true
      Line Style:
        Line Width: 0.03
        Value: Lines
      Name: Grid
      Normal Cell Count: 0
      Offset:
        X: 0
        Y: 0
        Z: 0
      Plane: XY
      Plane Cell Count: 100
      Reference Frame: <Fixed Frame>
      Value: true
    - Class: rviz/TF
      Enabled: true
      Frame Timeout: 15
      Frames:
        All Enabled: true
        base_link:
          Value: true
        horizontal_laser_link:
          Value: true
        imu_link:
          Value: true
        map:
          Value: true
        odom:
          Value: true
        vertical_laser_link:
          Value: true
      Marker Scale: 1
      Name: TF
      Show Arrows: true
      Show Axes: true
      Show Names: true
      Tree:
        map:
          odom:
            base_link:
              horizontal_laser_link:
                {}
              imu_link:
                {}
              vertical_laser_link:
                {}
      Update Interval: 0
      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_link:
          Alpha: 1
          Show Axes: false
          Show Trail: false
        horizontal_laser_link:
          Alpha: 1
          Show Axes: false
          Show Trail: false
          Value: true
        imu_link:
          Alpha: 1
          Show Axes: false
          Show Trail: false
          Value: true
        vertical_laser_link:
          Alpha: 1
          Show Axes: false
          Show Trail: false
          Value: true
      Name: RobotModel
      Robot Description: robot_description
      TF Prefix: ""
      Update Interval: 0
      Value: true
      Visual Enabled: true
    - Class: Submaps
      Enabled: true
      Map frame: map
      Name: Submaps
      Submap query service: /submap_query
      Topic: /submap_list
      Tracking frame: base_link
      Unreliable: false
      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/PointCloud2
      Color: 255; 85; 255
      Color Transformer: FlatColor
      Decay Time: 0
      Enabled: true
      Invert Rainbow: false
      Max Color: 255; 255; 255
      Max Intensity: 4096
      Min Color: 0; 0; 0
      Min Intensity: 0
      Name: PointCloud2
      Position Transformer: XYZ
      Queue Size: 10
      Selectable: true
      Size (Pixels): 3
      Size (m): 0.05
      Style: Flat Squares
      Topic: /scan_matched_points2
      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: 0; 255; 127
      Color Transformer: FlatColor
      Decay Time: 0
      Enabled: true
      Invert Rainbow: false
      Max Color: 255; 255; 255
      Max Intensity: 4096
      Min Color: 0; 0; 0
      Min Intensity: 0
      Name: horizontal_laser_link
      Position Transformer: XYZ
      Queue Size: 10
      Selectable: true
      Size (Pixels): 3
      Size (m): 0.02
      Style: Flat Squares
      Topic: /horizontal_laser_link
      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: 85; 170; 255
      Color Transformer: FlatColor
      Decay Time: 0
      Enabled: true
      Invert Rainbow: false
      Max Color: 255; 255; 255
      Max Intensity: 4096
      Min Color: 0; 0; 0
      Min Intensity: 0
      Name: verticalal_laser_link
      Position Transformer: XYZ
      Queue Size: 10
      Selectable: true
      Size (Pixels): 3
      Size (m): 0.01
      Style: Flat Squares
      Topic: /verticalal_laser_link
      Unreliable: false
      Use Fixed Frame: true
      Use rainbow: true
      Value: true
    - Acceleration properties:
        Acc. vector alpha: 1
        Acc. vector color: 170; 170; 255
        Acc. vector scale: 0.03
        Derotate acceleration: true
        Enable acceleration: false
      Axes properties:
        Axes scale: 0.2
        Enable axes: true
      Box properties:
        Box alpha: 1
        Box color: 255; 113; 11
        Enable box: true
        x_scale: 0.06
        y_scale: 0.04
        z_scale: 0.02
      Class: rviz_imu_plugin/Imu
      Enabled: true
      Name: Imu
      Topic: /imu_link
      Unreliable: false
      Value: true
  Enabled: true
  Global Options:
    Background Color: 100; 100; 100
    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:
      Class: rviz/XYOrbit
      Distance: 10
      Enable Stereo Rendering:
        Stereo Eye Separation: 0.06
        Stereo Focal Distance: 1
        Swap Stereo Eyes: false
        Value: false
      Focal Point:
        X: 0
        Y: 0
        Z: 0
      Name: Current View
      Near Clip Distance: 0.01
      Pitch: 0.725398
      Target Frame: <Fixed Frame>
      Value: XYOrbit (rviz)
      Yaw: 2.8754
    Saved: ~
Window Geometry:
  Displays:
    collapsed: false
  Height: 876
  Hide Left Dock: false
  Hide Right Dock: false
  QMainWindow State: 000000ff00000000fd0000000400000000000001c5000003c0fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006400fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000041000003c0000000dd00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000003c0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000041000003c0000000b000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000077e0000003efc0100000002fb0000000800540069006d006501000000000000077e000002f600fffffffb0000000800540069006d006501000000000000045000000000000000000000049e000003c000000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
  Selection:
    collapsed: false
  Time:
    collapsed: false
  Tool Properties:
    collapsed: false
  Views:
    collapsed: false
  Width: 1918
  X: 0
  Y: 24

Status:





















































Question:
1. Position and attitude not changed when moving them. 
2. All data are looks like working correctly, but map is not being generated when moveing them.
3. the information of odom_combine is wrong, but i d'not know how to fix it.

I had put the source file and all bag data at https://drive.google.com/open?id=0B8Ugkw-ov7hqSUdmT3BMNjRKZ3M

Thank all again.
End!

BR
Bygreencn

libin sui

unread,
Apr 10, 2017, 2:15:38 AM4/10/17
to google-cartographer, bygr...@gmail.com

By the way, i also found some unreasonable tf topic message
from rostopic echo /tf

i got the following response, it seems like thr transform has been added to vertical_laser_link.

Thank all again.
BR
Bygreencn

libin sui

unread,
Apr 10, 2017, 3:14:06 AM4/10/17
to google-cartographer, bygr...@gmail.com
I do not think it is my fault since i use cartographer_paper_deutsches_museum.bag got the same result using Cartographer master branch 4f1914b Cartographer_ros master branch 319be1a
and i will commit a issue at Repo.

Reply all
Reply to author
Forward
0 new messages