机器人工程毕业设计☞区域覆盖(扫地)


提及一个中文案例,非常好的案例。

这里存到如下位置:

​zhangrelay / turtlebot3_cleaner · GitCode​



扫地机器人仿真(机器人工程毕业设计)学习资料



功能包配置:

sudo apt install ros-noetic-turtlebot3 ros-noetic-navigation ros-noetic-dwa-local-planner ros-noetic-slam-karto

roslaunch clean_robot auto_slam.launch
<?xml version="1.0"?>
<launch>

<!-- <arg name="slam_methods" default="karto" doc="slam type [gmapping, cartographer, hector, karto, frontier_exploration]"/> -->
<arg name="model" value="burger" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="configuration_basename" default="turtlebot3_lds_2d.lua"/>
<arg name="open_rviz" default="true"/>
<include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
<arg name="model" value="$(arg model)" />
</include>
<!-- 启动仿真环境 -->
<include file="$(find clean_robot)/launch/gazebo.launch"/>

<!-- SLAM: Gmapping, Cartographer, Hector, Karto, Frontier_exploration, RTAB-Map -->
<include file="$(find turtlebot3_slam)/launch/turtlebot3_karto.launch">
<arg name="model" value="$(arg model)"/>
<arg name="configuration_basename" value="$(arg configuration_basename)"/>
</include>

<!-- 启动 rviz 的标签 -->
<group if="$(arg open_rviz)">
<node pkg="rviz" type="rviz" name="rviz" required="true" args="-d $(find clean_robot)/rviz/turtlebot3_karto.rviz"/>
</group>
<!-- 通过导航来实现自动建图 -->
<include file="$(find clean_robot)/launch/move_base.launch">
<arg name="model" value="$(arg model)" />
</include>
<!-- 自动探索 -->
<node pkg="explore_lite" type="explore" respawn="false" name="explore" output="screen">
<param name="robot_base_frame" value="base_link"/>
<param name="costmap_topic" value="map"/>
<param name="costmap_updates_topic" value="map_updates"/>
<param name="visualize" value="true"/>
<param name="planner_frequency" value="0.33"/>
<param name="progress_timeout" value="50.0"/>
<param name="potential_scale" value="3.0"/>
<param name="orientation_scale" value="0.0"/>
<param name="gain_scale" value="1.0"/>
<param name="transform_tolerance" value="0.3"/>
<param name="min_frontier_size" value="0.6"/>
</node>
<!-- 键盘操作 -->
<!-- <node pkg="turtlebot3_teleop" type="turtlebot3_teleop_key" name="turtlebot3_teleop_key" launch-prefix="xterm -e" output="screen"/> -->

</launch>


机器人工程毕业设计☞开源学习(扫地)_lua

roslaunch clean_robot clean_work.launch
<?xml version="1.0"?>
<launch>
<arg name="model" value="burger" doc="model type [burger, waffle, waffle_pi]"/>
<arg name="configuration_basename" default="turtlebot3_lds_2d.lua"/>
<arg name="open_rviz" default="true"/>
<!-- 启动仿真环境 -->
<include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
<arg name="model" value="$(arg model)" />
</include>
<include file="$(find clean_robot)/launch/gazebo.launch"/>
<!-- 启动导航系统,用作目标点路径规划,实现躲避小障碍物-->
<include file="$(find clean_robot)/launch/turtlebot3_navigation.launch">
<arg name="model" value="$(arg model)" />
</include>
<!-- 清扫路径规划器 -->
<node pkg="clean_robot" type="path_planning_node" respawn="false" name="path_planning_node" output="screen" clear_params="true">
<rosparam file="$(find clean_robot)/config/costmap_common_params.yaml" command="load" ns="cleaning_costmap" />
<rosparam file="$(find clean_robot)/config/cleaning_costmap_params.yaml" command="load" />
</node>
<!-- 根据清扫的路径向导航系统发送目标点位 -->
<!-- 设定距离当前目标点多进时候发布下一个目标点 -->
<param name="/NextGoal/tolerance_goal" value="0.25" />
<node pkg="clean_robot" type="next_goal" respawn="true" name="next_goal" output="screen" />
</launch>


机器人工程毕业设计☞开源学习(扫地)_lua_02



  1. 请仔细阅读源码进行学习。
  2. 完成蓝桥ROS课程(初级+中级)