ROS交流群
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
使用速腾聚创16线雷达用cartographer 3D建图时出现问题
-
我使用IMU和一个16线雷达通过cartographer进行建图,但建图结果特别乱,像这样:
这是IMU和雷达的方向:
<robot name="myrobot_udrf"> <link name="base_link"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <box size="0.415 .4284 .15"/> </geometry> <material name=""> <color rgba="0.098039 0.098039 0.098039 1" /> </material> </visual> </link> <link name="base_footprint"/> <joint name="base_link_joint" type="fixed"> <parent link="base_footprint" /> <child link="base_link" /> <origin xyz="0 0 0.117635" /> </joint> <link name="right_front_wheel"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <cylinder length=".0356" radius="0.057635"/> </geometry> <material name=""> <color rgba="0.29412 0.29412 0.29412 1" /> </material> </visual> </link> <joint name="right_front_wheel_joint" type="fixed"> <origin xyz="0.205 -0.2142 -0.06" rpy="1.57075 0 0" /> <parent link="base_link" /> <child link="right_front_wheel" /> <axis xyz="0 0 1" /> </joint> <link name="left_front_wheel"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <cylinder length=".0356" radius="0.057635"/> </geometry> <material name="black"> <color rgba="0.29412 0.29412 0.29412 1" /> </material> </visual> </link> <joint name="left_front_wheel_joint" type="fixed"> <origin xyz="0.205 .2142 -0.06" rpy="1.57075 0 0" /> <parent link="base_link" /> <child link="left_front_wheel" /> <axis xyz="0 0 1" /> </joint> <link name="right_back_wheel"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <cylinder length=".0356" radius="0.057635"/> </geometry> <material name="black"> <color rgba="0.098039 0.098039 0.098039 1" /> </material> </visual> </link> <joint name="right_back_wheel_joint" type="fixed"> <origin xyz="-0.205 -0.2142 -0.06" rpy="1.57075 0 0" /> <parent link="base_link" /> <child link="right_back_wheel" /> <axis xyz="0 0 1" /> </joint> <link name="left_back_wheel"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <cylinder length=".0356" radius="0.057635"/> </geometry> <material name="black"> <color rgba="0.098039 0.098039 0.098039 1" /> </material> </visual> </link> <joint name="left_back_wheel_joint" type="fixed"> <origin xyz="-0.205 0.2142 -0.06" rpy="1.57075 0 0" /> <parent link="base_link" /> <child link="left_back_wheel" /> <axis xyz="0 0 1" /> </joint> <link name="rslidar"> <visual> <origin xyz="0 0 0" /> <geometry> <cylinder length="0.0827" radius="0.0545" /> </geometry> <material name="blue"> <color rgba="0 0 0.8 1"/> </material> </visual> </link> <joint name="horizontal_laser_link_joint" type="fixed"> <parent link="top_link" /> <child link="rslidar" /> <origin xyz="-0.07 0 0.04135" rpy="0 0 0" /> </joint> <link name="imu"> <visual> <origin xyz="0 0 0" /> <geometry> <box size="0.021 .016 .04"/> </geometry> <material name="yellow"> <color rgba="1 1 0 1"/> </material> </visual> </link> <joint name="imu_link_joint" type="fixed"> <parent link="middle_link" /> <child link="imu" /> <origin xyz="0 0.023 0.02" rpy="0 0 3.14159" /> </joint> <link name="pillar_right_front"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.38" radius="0.02" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="pillar_right_front_joint" type="fixed"> <parent link="base_link" /> <child link="pillar_right_front" /> <origin xyz="0.15 -0.15 0.19" rpy="0 0 0" /> </joint> <link name="pillar_right_back"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.38" radius="0.02" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="pillar_right_back_joint" type="fixed"> <parent link="base_link" /> <child link="pillar_right_back" /> <origin xyz="-0.15 -0.15 0.19" rpy="0 0 0" /> </joint> <link name="pillar_left_front"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.38" radius="0.02" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="pillar_left_front_joint" type="fixed"> <parent link="base_link" /> <child link="pillar_left_front" /> <origin xyz="0.15 0.15 0.19" rpy="0 0 0" /> </joint> <link name="pillar_left_back"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.38" radius="0.02" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="pillar_left_back_joint" type="fixed"> <parent link="base_link" /> <child link="pillar_left_back" /> <origin xyz="-0.15 0.15 0.19" rpy="0 0 0" /> </joint> <link name="middle_link"> <visual> <origin xyz="0 0 0"/> <geometry> <box size="0.415 .4284 .001"/> </geometry> <material name=""> <color rgba="0.098039 0.098039 0.098039 1" /> </material> </visual> </link> <joint name="middle_link_joint" type="fixed"> <parent link="base_link" /> <child link="middle_link" /> <origin xyz="0 0 0.38" rpy="0 0 0" /> </joint> <link name="top_pillar_right_front"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.04465" radius="0.01" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="top_pillar_right_front_joint" type="fixed"> <parent link="middle_link" /> <child link="top_pillar_right_front" /> <origin xyz="-0.04 -0.1 0.022" rpy="0 0 0" /> </joint> <link name="top_pillar_right_back"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.04465" radius="0.01" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="top_pillar_right_back_joint" type="fixed"> <parent link="middle_link" /> <child link="top_pillar_right_back" /> <origin xyz="-0.1 -0.1 0.022" rpy="0 0 0" /> </joint> <link name="top_pillar_left_front"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.04465" radius="0.01" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="top_pillar_left_front_joint" type="fixed"> <parent link="middle_link" /> <child link="top_pillar_left_front" /> <origin xyz="-0.04 0.1 0.022" rpy="0 0 0" /> </joint> <link name="top_pillar_left_back"> <visual> <origin xyz="0 0 0"/> <geometry> <cylinder length="0.04465" radius="0.01" /> </geometry> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> </link> <joint name="top_pillar_left_back_joint" type="fixed"> <parent link="middle_link" /> <child link="top_pillar_left_back" /> <origin xyz="-0.1 0.1 0.022" rpy="0 0 0" /> </joint> <link name="top_link"> <visual> <origin xyz="0 0 0"/> <geometry> <box size="0.2142 .415 .001"/> </geometry> <material name=""> <color rgba="0.098039 0.098039 0.098039 1" /> </material> </visual> </link> <joint name="top_link_joint" type="fixed"> <parent link="middle_link" /> <child link="top_link" /> <origin xyz="-0.07 0 0.04465" rpy="0 0 0" /> </joint> </robot>
这是我的lua文件:
-- Copyright 2016 The Cartographer Authors -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. include "map_builder.lua" include "trajectory_builder.lua" options = { map_builder = MAP_BUILDER, trajectory_builder = TRAJECTORY_BUILDER, map_frame = "map", tracking_frame = "imu", published_frame = "base_footprint", odom_frame = "odom", provide_odom_frame = false, publish_frame_projected_to_2d = false, use_odometry = false, use_nav_sat = false, use_landmarks = false, num_laser_scans = 0, num_multi_echo_laser_scans = 0, num_subdivisions_per_laser_scan = 1, num_point_clouds = 1, lookup_transform_timeout_sec = 0.2, submap_publish_period_sec = 0.3, pose_publish_period_sec = 5e-3, trajectory_publish_period_sec = 30e-3, rangefinder_sampling_ratio = 1., odometry_sampling_ratio = 1., fixed_frame_pose_sampling_ratio = 1., imu_sampling_ratio = 1., landmarks_sampling_ratio = 1., } TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1 TRAJECTORY_BUILDER_3D.min_range = 0.2 TRAJECTORY_BUILDER_3D.max_range = 150. TRAJECTORY_BUILDER_2D.min_z = 0.1 TRAJECTORY_BUILDER_2D.max_z = 1.0 TRAJECTORY_BUILDER_3D.use_online_correlative_scan_matching = false MAP_BUILDER.use_trajectory_builder_3d = true MAP_BUILDER.num_background_threads = 7 POSE_GRAPH.optimization_problem.huber_scale = 5e2 POSE_GRAPH.optimization_problem.log_solver_summary = true POSE_GRAPH.optimize_every_n_nodes = 40 POSE_GRAPH.optimization_problem.ceres_solver_options.max_num_iterations = 20 POSE_GRAPH.constraint_builder.sampling_ratio = 0.03 POSE_GRAPH.constraint_builder.min_score = 0.62 POSE_GRAPH.constraint_builder.global_localization_min_score = 0.66 return options
这个问题我一直不知道什么问题,还请大神指点一下这是什么原因,十分感谢。
还有一个问题,cartographer进行3D建图的话跟踪帧tracking_frame应该是和IMU的帧名一样吗? -
是我IMU的数据有问题,己经解决了。
-
@Duke-Allen 好吧
-
@Yangoogle 最近在学导航有点懵,不知道该怎么下手,请问有没有什么建议?