# rrt_create_map **Repository Path**: fdse_robotics/rrt_create_map ## Basic Information - **Project Name**: rrt_create_map - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-14 - **Last Updated**: 2021-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 参考资料:[https://github.com/hasauino/rrt_exploration](https://github.com/hasauino/rrt_exploration) [https://github.com/hasauino/rrt_exploration_tutorials](https://github.com/hasauino/rrt_exploration_tutorials) 优先推荐kinetic版本 (melodic版本是对源码进行调整) #### 首先,从gitee库下载仿真环境所需代码(此版本为kinetic版本代码) 操作步骤:打开终端,下载代码 ```bash git clone -b kinetic https://gitee.com/fdse_robotics/rrt_create_map.git ``` 安装依赖: ```bash sudo apt-get install ros-kinetic-gmapping ros-kinetic-navigation ros-kinetic-kobuki ros-kinetic-kobuki-core ros-kinetic-kobuki-gazebo sudo apt-get install python-opencv python-numpy python-scikits-learn sudo apt install ros-melodic-yocs-controllers ros-melodic-ecl-streams ``` 目前工作目录形式为:rrt_create_map,进入到rrt_create_map目录内,进行编译: ```bash cd ~/rrt_create_map catkin_make ``` #### 启动仿真世界和rviz,其中可以通过导航进行地图创建: ```bash roslaunch rrt_exploration_tutorials single_simulated_house.launch ``` 启动后如下图,左边为rviz视角,可通过选择左边红框 2D Nav Goal进行导航创建地图,右边为仿真世界: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0507/163429_90a6f21b_7358831.png "1.png") #### 通过导航过程中创建地图效果如下: ![输入图片说明](https://images.gitee.com/uploads/images/2021/0507/163504_9fe84c1d_7358831.png "2.png") #### 若要切换成自己的世界,设置GAZEBO_WORLD_FILE 环境变量,再重新启动世界: ```bash export GAZEBO_WORLD_FILE=/...your_world_path.../myhouse.world roslaunch rrt_exploration_tutorials single_simulated_house.launch ``` #### 启动自动探索算法,指定4个点,框成一个图形,来对图形内部世界进行探索建图: ```bash roslaunch rrt_exploration single.launch ``` 通过下图左边红框来标点,需要标4个点,像下图右边红框内的红色箭头所指向,选中4个点后,再于四个点内部打一个红点来启动探索,算法执行过程会在地图上遍布探索树(类似下图右边的四个点左侧 蓝色 绿色的树),机器人对探索树的叶子结点进行访问,从而构建地图。 #### 注意: (若自动运行时,进入不了门,有可能因为膨胀半径太大,机器人进不了门,去costmap_common_params.yaml 修改inflation_radius值) (若自动扫图时,出现靠着墙角,走不出来,可通过导航按钮修正姿势,或者停止自动探索算法,重新启动自动探索算法) (若自动扫图出问题,可通过重启来重新扫图) (若自动扫图结束后,有阴影未探索到,可通过手动导航建图,继续探索地图) ![输入图片说明](https://images.gitee.com/uploads/images/2021/0507/163521_1743644c_7358831.png "3.png") #### 保存地图 ```bash rosrun map_server map_saver -f mapname_u_determine map:=/robot_1/map (一般保存地图指令为:rosrun map_server map_saver -f mapname_u_determine 自动去map话题(消息type为 nav_msgs::OccupancyGrid)订阅保存,这里是重新映射了名称,到/robot_1/map话题,type为nav_msgs/OccupancyGrid) ``` ### 安装melodic版本,操作相对于kinetic有些微不同,先看kinetic版本操作再来安装melodic版本(melodic版本由于调整了源码,可能出错或者效果没有kinetic版本好,生成地图效果不好,可按照自动探索算法操作教程的 注意 选项,进行操作) 下载melodic版本代码: ```bash git clone -b melodic https://gitee.com/fdse_robotics/rrt_create_map.git ``` 安装依赖: ```bash sudo apt-get install ros-melodic-gmapping ros-melodic-navigation ros-melodic-kobuki ros-melodic-kobuki-core sudo apt-get install python-opencv python-numpy python-scikits-learn sudo apt-get install ros-melodic-ecl-* ros-melodic-yocs-controllers ros-melodic-yocs-cmd-vel-mux ros-melodic-yocs-velocity-smoother ros-melodic-joy ros-melodic-kobuki-dock-drive ros-melodic-kobuki-driver ros-melodic-depthimage-to-laserscan ros-melodic-gmapping ros-melodic-dwa-local-planner pyqt5-dev-tools ``` 其他使用操作和kinetic版本一致。