# openeuler 移植gmapping **Repository Path**: wlzfly/ros_openeuler_gmapping ## Basic Information - **Project Name**: openeuler 移植gmapping - **Description**: No description available - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-07-18 - **Last Updated**: 2021-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # openeuler 移植gmapping ## 1. 环境要求 1) 操作系统版本:openEuler 20.03 LTS 2) 内核版本:4.19.90-2003.4.0.0036 3) 板卡(树莓派、RK3399)已经安装了 ROS Melodic,假设ROS安装在/root/devel_isolated下(如果安装在其他目录,需要修改下面的相应地方) 4) 板卡联网,假设板卡ip是192.168.10.106(需要把下面所有这个ip的地方替换成板卡的实际ip) 5) 电脑主机安装了ROS,假设电脑主机ip是192.168.10.105(需要把下面所有这个ip的地方替换成电脑主机的实际ip) ## 2. gmapping编译 #### 2.1 设置ros环境变量 ```bash $ vim ~/.bashrc ``` 内容设置为 ``` source /root/devel_isolated/setup.bash LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64 export ROS_MASTER_URI=http://192.168.10.106:11311 export ROS_HOSTNAME=192.168.10.106 ``` ```bash $ source ~/.bashrc ``` #### 2.2 workspace准备、源码下载和编译 ```bash $ mkdir -p /root/ws/src $ cd /root/ws/src $ catkin_init_workspace $ git clone https://github.com/ros-perception/slam_gmapping.git $ git clone https://github.com/ros-perception/openslam_gmapping.git $ cd .. $ catkin_make ``` #### 2.3 添加gmapping的环境变量 ```bash $ vim ~/.bashrc ``` 内容设置为 ``` source /root/devel_isolated/setup.bash source /root/ws/devel/setup.bash LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64 export ROS_MASTER_URI=http://192.168.10.106:11311 export ROS_HOSTNAME=192.168.10.106 ``` ```bash $ source ~/.bashrc ``` ## 3. gmapping运行测试 #### 3.1 修改配置 ```bash $ roscd gmapping $ vim launch/slam_gmapping_pr2.launch ``` 修改如下相应的配置 ``` ``` #### 3.2 下载bag文件[mylog.bag](files/mylog.bag) #### 3.3 开启4个终端 4个终端如下图所示 ![](files/1.png) 从左上到右下, 1) 第1个终端在电脑主机端,需要配置如下环境变量,然后准备运行rviz。rviz里面查看时,添加map和LaserScan /robotxdj/laser/scan。 ```bash $ export ROS_MASTER_URI=http://192.168.10.106:11311 $ export ROS_IP=192.168.10.105 $ rosrun rviz rviz ``` 2) 后3个终端在板卡端,分别运行 ```bash $ roscore $ roslaunch gmapping slam_gmapping_pr2.launch $ rosbag play --clock mylog.bag ``` #### 3.4 4个终端运行结果 ![](files/2.png) ![](files/3.png) ![](files/4.png)