依据一键配置将turtlebot仿真案例全部配置好。
TurtleBot 是带有开源软件的低成本个人机器人套件。 TurtleBot 是 Melonee Wise 和 Tully Foote 于 2010 年 11 月在 Willow Garage 创建的。使用 TurtleBot,将能够构建一个可以在房子周围行驶、以 3D 形式查看的机器人,并拥有足够的马力来创建令人兴奋的应用程序。
TurtleBot 套件包括移动底座、2D/3D 距离传感器、笔记本电脑或 SBC(单板计算机)和 TurtleBot 安装硬件套件。 除了 TurtleBot 套件,用户还可以从 ROS wiki 下载 TurtleBot SDK。 TurtleBot 的设计易于购买、构建和组装,使用现成的消费品和可轻松由标准材料制成的零件。 作为一个入门级的移动机器人平台,TurtleBot 具有该公司更大的机器人平台(如 PR2)的许多相同功能。
- echo "Turtlebot mission begins."
-
- echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
- Version: GnuPG v1
-
- mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
- VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
- u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
- K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
- aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
- TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
- pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
- V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
- hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
- /SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
- okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
- tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA
- PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur
- F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB
- RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z
- PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa
- DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC
- Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
- fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
- quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
- 1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
- qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
- TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
- 22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
- WE+F5FaIKwb72PL4rLi4
- =i0tj
- -----END PGP PUBLIC KEY BLOCK-----" >> ~/ros.asc
-
- sudo apt-key add ros.asc
-
- sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
-
- sudo apt update
-
- wget https://labfile.oss.aliyuncs.com/courses/854/rosdemos_ws.zip
-
- git clone https://gitcode.net/ZhangRelay/ros_book.git
-
- sudo apt install xpdf -y
-
- sudo apt install ros-kinetic-turtlebot-simulator -y
-
- sudo apt upgrade -y
-
- export TURTLEBOT_STAGE_MAP_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/maze.yaml
-
- export TURTLEBOT_STAGE_WORLD_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/stage/maze.world
-
- roslaunch turtlebot_stage turtlebot_in_stage.launch
-
- echo "Turtlebot mission completed."
上面过程完成后,会直接打开如下界面:

1. 如何开始turtlebot的stage模拟
在stage模拟中启动 TurtleBot。 Stage 是一个二维多机器人模拟器。 它模拟 .world 文件中定义的世界。 这个文件告诉舞台世界的一切,从障碍物(通常通过位图表示,用作一种背景),机器人和其他对象。
2. 解释如何将自定义地图与turtlebot 的stage模拟器一起使用,并根据需要调整配置。
两种方式:
按照相同的说明进行turtlebot debian 安装或源代码安装。
源码(indigo/kinetic/melodic/noetic基本通用的):

使用turtlebot 和rviz 启动stage模拟器。 单击 2D 导航目标并命令机器人导航地图中的任何位置。

导航案例类似机器人走迷宫。
遇到报错信息:

如何修改?这个通过源码调试。
- <launch>
- <arg name="base" default="$(optenv TURTLEBOT_BASE kobuki)"/>
- <arg name="stacks" default="$(optenv TURTLEBOT_STACKS hexagons)"/>
- <arg name="3d_sensor" default="$(optenv TURTLEBOT_3D_SENSOR kinect)"/>
-
-
- <arg name="map_file" default=" $(env TURTLEBOT_STAGE_MAP_FILE)"/>
- <arg name="world_file" default=" $(env TURTLEBOT_STAGE_WORLD_FILE)"/>
- <arg name="initial_pose_x" default="2.0"/>
- <arg name="initial_pose_y" default="2.0"/>
- <arg name="initial_pose_a" default="0.0"/>
-
- <param name="/use_sim_time" value="true"/>
-
-
- <node pkg="stage_ros" type="stageros" name="stageros" args="$(arg world_file)">
- <param name="base_watchdog_timeout" value="0.5"/>
- <remap from="odom" to="odom"/>
- <remap from="base_pose_ground_truth" to="base_pose_ground_truth"/>
- <remap from="cmd_vel" to="mobile_base/commands/velocity"/>
- <remap from="base_scan" to="scan"/>
- node>
-
-
- <include file="$(find turtlebot_bringup)/launch/includes/robot.launch.xml">
- <arg name="base" value="$(arg base)" />
- <arg name="stacks" value="$(arg stacks)" />
- <arg name="3d_sensor" value="$(arg 3d_sensor)" />
- include>
- <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
- node>
-
-
- <node pkg="nodelet" type="nodelet" name="mobile_base_nodelet_manager" args="manager"/>
- <node pkg="nodelet" type="nodelet" name="cmd_vel_mux" args="load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager">
- <param name="yaml_cfg_file" value="$(find turtlebot_bringup)/param/mux.yaml"/>
- <remap from="cmd_vel_mux/output" to="mobile_base/commands/velocity"/>
- node>
-
-
- <include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml"/>
-
-
- <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)">
- <param name="frame_id" value="/map"/>
- node>
-
- <include file="$(find turtlebot_navigation)/launch/includes/amcl/amcl.launch.xml">
- <arg name="scan_topic" value="scan"/>
- <arg name="use_map_topic" value="true"/>
- <arg name="initial_pose_x" value="$(arg initial_pose_x)"/>
- <arg name="initial_pose_y" value="$(arg initial_pose_y)"/>
- <arg name="initial_pose_a" value="$(arg initial_pose_a)"/>
- include>
-
-
- <node name="rviz" pkg="rviz" type="rviz" args="-d $(find turtlebot_stage)/rviz/robot_navigation.rviz"/>
- launch>
如何修改地图?实现下面功能?
- export TURTLEBOT_STAGE_MAP_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/robopark_plan.yaml
-
- export TURTLEBOT_STAGE_WORLD_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/stage/robopark_plan.world

-^_^-