• ROS1云课→19仿真turtlebot(stage)


    ROS1云课→18一键配置


    ROS1云课→17化繁为简stdr和f1tenth

    依据一键配置将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)的许多相同功能。

    1. echo "Turtlebot mission begins."
    2. echo "-----BEGIN PGP PUBLIC KEY BLOCK-----
    3. Version: GnuPG v1
    4. mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc
    5. VFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro
    6. u5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4
    7. K/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG
    8. aIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+
    9. TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz
    10. pwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p
    11. V5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT
    12. hM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/
    13. /SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV
    14. okdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB
    15. tCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA
    16. PgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur
    17. F8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB
    18. RQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z
    19. PyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa
    20. DaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC
    21. Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
    22. fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
    23. quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
    24. 1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
    25. qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
    26. TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
    27. 22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
    28. WE+F5FaIKwb72PL4rLi4
    29. =i0tj
    30. -----END PGP PUBLIC KEY BLOCK-----" >> ~/ros.asc
    31. sudo apt-key add ros.asc
    32. 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'
    33. sudo apt update
    34. wget https://labfile.oss.aliyuncs.com/courses/854/rosdemos_ws.zip
    35. git clone https://gitcode.net/ZhangRelay/ros_book.git
    36. sudo apt install xpdf -y
    37. sudo apt install ros-kinetic-turtlebot-simulator -y
    38. sudo apt upgrade -y
    39. export TURTLEBOT_STAGE_MAP_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/maze.yaml
    40. export TURTLEBOT_STAGE_WORLD_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/stage/maze.world
    41. roslaunch turtlebot_stage turtlebot_in_stage.launch
    42. echo "Turtlebot mission completed."

    上面过程完成后,会直接打开如下界面:

    1. 如何开始turtlebot的stage模拟

    在stage模拟中启动 TurtleBot。 Stage 是一个二维多机器人模拟器。 它模拟 .world 文件中定义的世界。 这个文件告诉舞台世界的一切,从障碍物(通常通过位图表示,用作一种背景),机器人和其他对象。

    2. 解释如何将自定义地图与turtlebot 的stage模拟器一起使用,并根据需要调整配置。

    两种方式:

    按照相同的说明进行turtlebot debian 安装或源代码安装。

    源码(indigo/kinetic/melodic/noetic基本通用的):

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

     

    导航案例类似机器人走迷宫。 

    遇到报错信息:

    如何修改?这个通过源码调试。

    1. <launch>
    2. <arg name="base" default="$(optenv TURTLEBOT_BASE kobuki)"/>
    3. <arg name="stacks" default="$(optenv TURTLEBOT_STACKS hexagons)"/>
    4. <arg name="3d_sensor" default="$(optenv TURTLEBOT_3D_SENSOR kinect)"/>
    5. <arg name="map_file" default=" $(env TURTLEBOT_STAGE_MAP_FILE)"/>
    6. <arg name="world_file" default=" $(env TURTLEBOT_STAGE_WORLD_FILE)"/>
    7. <arg name="initial_pose_x" default="2.0"/>
    8. <arg name="initial_pose_y" default="2.0"/>
    9. <arg name="initial_pose_a" default="0.0"/>
    10. <param name="/use_sim_time" value="true"/>
    11. <node pkg="stage_ros" type="stageros" name="stageros" args="$(arg world_file)">
    12. <param name="base_watchdog_timeout" value="0.5"/>
    13. <remap from="odom" to="odom"/>
    14. <remap from="base_pose_ground_truth" to="base_pose_ground_truth"/>
    15. <remap from="cmd_vel" to="mobile_base/commands/velocity"/>
    16. <remap from="base_scan" to="scan"/>
    17. node>
    18. <include file="$(find turtlebot_bringup)/launch/includes/robot.launch.xml">
    19. <arg name="base" value="$(arg base)" />
    20. <arg name="stacks" value="$(arg stacks)" />
    21. <arg name="3d_sensor" value="$(arg 3d_sensor)" />
    22. include>
    23. <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher">
    24. node>
    25. <node pkg="nodelet" type="nodelet" name="mobile_base_nodelet_manager" args="manager"/>
    26. <node pkg="nodelet" type="nodelet" name="cmd_vel_mux" args="load yocs_cmd_vel_mux/CmdVelMuxNodelet mobile_base_nodelet_manager">
    27. <param name="yaml_cfg_file" value="$(find turtlebot_bringup)/param/mux.yaml"/>
    28. <remap from="cmd_vel_mux/output" to="mobile_base/commands/velocity"/>
    29. node>
    30. <include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml"/>
    31. <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)">
    32. <param name="frame_id" value="/map"/>
    33. node>
    34. <include file="$(find turtlebot_navigation)/launch/includes/amcl/amcl.launch.xml">
    35. <arg name="scan_topic" value="scan"/>
    36. <arg name="use_map_topic" value="true"/>
    37. <arg name="initial_pose_x" value="$(arg initial_pose_x)"/>
    38. <arg name="initial_pose_y" value="$(arg initial_pose_y)"/>
    39. <arg name="initial_pose_a" value="$(arg initial_pose_a)"/>
    40. include>
    41. <node name="rviz" pkg="rviz" type="rviz" args="-d $(find turtlebot_stage)/rviz/robot_navigation.rviz"/>
    42. launch>

    如何修改地图?实现下面功能?

    1. export TURTLEBOT_STAGE_MAP_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/robopark_plan.yaml 
    2.  
    3. export TURTLEBOT_STAGE_WORLD_FILE=/opt/ros/kinetic/share/turtlebot_stage/maps/stage/robopark_plan.world 

     


     

     

    -^_^-


  • 相关阅读:
    060:mapboxGL点击某处,通过flyTo,以动画的形式聚焦到此点
    android布局
    MBIST BAP(Bist Access Port)直接访问接口(1)
    《影响力》笔记
    人工智能自然语言处理:抽取式文本分割(Text Segmentation)算法介绍总结,智能断句解决文本过长问题
    java 线程安全问题 三种线程同步方案 线程通信(了解)
    MySQL---函数的类型和演示
    修改MySQL密码的四种方法(适合初学者)
    在C++中调用Pytorch模型
    翻译: Deep Learning深度学习平台Hugging Face 开源代码和技术构建、训练和部署 ML 模型
  • 原文地址:https://blog.csdn.net/ZhangRelay/article/details/126714767