Cartographer移动机器人仿真

dota重金属Cartographer移动机器⼈仿真
1、Cartographer安装:需要安装这⼏个软件包ceres solver、cartographer、cartographer_ros、cartographer_ros_msgs、cartographer_rviz
安装依赖:
sudo apt-get install -y google-mock libboost-all-dev  libeigen3-dev libgflags-dev libgoogle-glog-dev liblua5.2-dev libprotobuf-dev  libsuitesparse-dev libweb 安装cere solver:
sudo apt-get install ceres-solver-doc
安装cartographer⼤礼包:
sudo apt-get install ros-kinetic-cartographer*
2、下载功能包cartographer_ros到catkin_ws下⾯的src⽂件夹下
git clone github/hitcm/cartographer_ros.git
然后在catkin_ws下⾯编译⼯作空间
$catkin_make
3、创建参数配置⽂件rplidar.lua,将tracking_frame参数设置为 "base_footprint",即得到⾥程计坐标odom到机器⼈底座坐标
base_footprint的 tf 转换关系。
include "map_builder.lua"
options = {
map_builder = MAP_BUILDER,
map_frame = "map",
tracking_frame = "base_footprint",
published_frame = "base_footprint",
odom_frame = "odom",
provide_odom_frame = true,
use_odometry_data = false,
use_constant_odometry_variance = false,
constant_odometry_translational_variance = 0.,
constant_odometry_rotational_variance = 0.,
use_horizontal_laser = true,
use_horizontal_multi_echo_laser = false,
horizontal_laser_min_range = 0.3,
horizontal_laser_max_range = 8.,
horizontal_laser_missing_echo_ray_length = 1.,
num_lasers_3d = 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
TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = truesaw 3d
SPARSE_POSE_GRAPH.optimization_problem.huber_scale = 1e2
return options
4、配置cartographer节点,创建cartographer_rplidar.launch⽂件,⾥⾯包含了刚创建的参数配置⽂件rplidar.lua,需要把rplidar.lua ⽂件放置到cartographer_ros/configuration_files⽬录下
<?xml version="1.0"?>
<launch>
<param name="/use_sim_time" value="true" />
<node name="cartographer_node" pkg="cartographer_ros"
type="cartographer_node" args="
-configuration_directory $(find cartographer_ros)/configuration_files
-configuration_basename rplidar.lua"
output="screen">
喷淋洗眼器
<remap from="scan" to="scan" />
</node>
<node name="rviz" pkg="rviz" type="rviz" required="true"
args="-d $(find cartographer_ros)/configuration_files/demo_2d.rviz" />
</launch>
5、创建robot_laser_nav_gazebo.launch⽂件加载地图和机器⼈模型,注意参数设置中加载地图和机器⼈模型的路径是否正确
<?xml version="1.0"?>
<launch>
<!-- 设置launch⽂件的参数 -->
<arg name="world_name" value="$(find robot_gazebo)/worlds/cloister.world"/>
<arg name="paused" default="false"/>
<arg name="use_sim_time" default="true"/>
<arg name="gui" default="true"/>
空调连接管<arg name="headless" default="false"/>
<arg name="debug" default="false"/>
<!-- 运⾏gazebo仿真环境 -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">1-甲基环戊醇
<arg name="world_name" value="$(arg world_name)" />
<arg name="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>
</include>
<!-- 加载机器⼈模型描述参数 -->
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find robot_description)/xacro/gazebo/mbot_with_laser_gazebo.xacro'" />
<!-- 运⾏joint_state_publisher节点,发布机器⼈的关节状态  -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
<!-- 运⾏robot_state_publisher节点,发布tf  -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
<param name="publish_frequency" type="double" value="50.0" />
</node>
<!-- 在gazebo中加载机器⼈模型-->
<node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model mbot -param robot_description"/>
</launch>
6、运⾏
在gazebo上加载地图和机器⼈模型
$roslaunch robot_gazebo robot_laser_nav_gazebo.launch
运⾏cartographer节点
$roslaunch cartographer_ros cartographer_rplidar.launch
键盘控制机器⼈运动
$roslaunch robot_teleop robot_teleop.launch
7、展⽰
8、保存地图
$rosrun map_server map_saver -f cartographer_map

本文发布于:2024-09-24 11:25:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/306284.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器   模型   安装
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议