用北通阿修罗TE控制turtlebot2利用RPLIDAR A2 进行简单的hector_mapping测试

来源:互联网 发布:apple mac.pro 病毒 编辑:程序博客网 时间:2024/06/10 09:24

利用RPLIDAR A2 进行简单的hector_mapping测试

本文参考了EAIBOT大神的文章,链接在此处:http://blog.csdn.net/eaibot/article/details/51044718

QQ:234765288 欢迎大家交流沟通

前言

一般用通过USB连接手柄或者激光雷达的时候,通常会出现USB端口读写权限受限的情况,针对这种情况,一般采用以下办法处理:
一般使用USB口,无论USB转什么口,串口之类的,启动时容易出现
/dev/ttyUSB0 permission denied.
因为一般情况下不是root用户,对端口没有权限.遇到这种情况,我一般这样做:
sudo chmod 777 /dev/ttyUSB0
修改权限为可读可写可执行,但是这种设置电脑重启后,又会出现这种问题,还要重新设置.因此查询资料,可以用下面这条指令:
sudo usermod -aG dialout zxy

其中zxy是我的用户名,换成你想用USB的用户名即可.把此用户名加入dialout用户组,然后注销下电脑,即可.这样下次重启也不用修改权限了.

1、首先是RPLIDAR包的安装:

cd ~/catkin_ws/src
git clone https://github.com/robopeak/rplidar_ros.git
cd ~/catkin_ws
catkin_make --pkg rplidar_ros

2、hector_mapping包安装:

cd ~/catkin_ws/src
git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git
cd ~/catkin_ws
catkin_make --pkg hector_slam

3、roslaunch包的编写:

在rplidar_ros/launch/目录下添加hector_mapping_demo.launch文件,内容如下:

<launch><node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen"><!-- Frame names --><param name="pub_map_odom_transform" value="true"/><param name="map_frame" value="map" /><param name="base_frame" value="base_link" /><param name="odom_frame" value="base_link" /><!-- Tf use --><param name="use_tf_scan_transformation" value="true"/><param name="use_tf_pose_start_estimate" value="false"/><!-- Map size / start point --><param name="map_resolution" value="0.05"/><param name="map_size" value="2048"/><param name="map_start_x" value="0.5"/><param name="map_start_y" value="0.5" /><param name="laser_z_min_value" value = "-1.0" /><param name="laser_z_max_value" value = "1.0" /><param name="map_multi_res_levels" value="2" /><param name="map_pub_period" value="2" /><param name="laser_min_dist" value="0.4" /><param name="laser_max_dist" value="5.5" /><param name="output_timing" value="false" /><param name="pub_map_scanmatch_transform" value="true" /><!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />--><!-- Map update parameters --><param name="update_factor_free" value="0.4"/><param name="update_factor_occupied" value="0.7" />    <param name="map_update_distance_thresh" value="0.2"/><param name="map_update_angle_thresh" value="0.06" /><!-- Advertising config --> <param name="advertise_map_service" value="true"/><param name="scan_subscriber_queue_size" value="5"/><param name="scan_topic" value="scan"/></node><node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>  <node pkg="rviz" type="rviz" name="rviz"    args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/></launch>

4、测试

运行下面几个launch,命令如下:

cd catkin_ws source devel/setup.bash   //添加环境roslaunch turtlebot_bringup minimal.launch    //启动tutlebotroslaunch turtlebot_teleop xbox360_teleop.launch --screen    //用手柄控制roslaunch rplidar_ros hector_mapping_demo.launch  //启动hector_slam主程序roslaunch rplidar_ros rplidar.launch  //启动激光雷达

完成

0 0
原创粉丝点击