当前位置: 首页 > wzjs >正文

扬中会建网站gooood谷德设计网站

扬中会建网站,gooood谷德设计网站,揭阳网站制作多少钱,上海网站设1. 配置launch文件 gazebo的加载相对容易,但rviz中加载,需要构建完整的tf树(world → map(或map_merged)→ odom → base_footprint → base_link → base_scan)才能正常显示,launch文件主要是…

1. 配置launch文件

gazebo的加载相对容易,但rviz中加载,需要构建完整的tf树(world → map(或map_merged)→ odom → base_footprint → base_link → base_scan)才能正常显示,launch文件主要是在构建tf树。

<launch><arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/><arg name="first_tb3"  default="tb3_0"/><arg name="second_tb3" default="tb3_1"/><arg name="third_tb3"  default="tb3_2"/><arg name="first_tb3_x_pos" default="-7.0"/><arg name="first_tb3_y_pos" default="-1.0"/><arg name="first_tb3_z_pos" default=" 0.0"/><arg name="first_tb3_yaw"   default=" 1.57"/><arg name="second_tb3_x_pos" default=" 7.0"/><arg name="second_tb3_y_pos" default="-1.0"/><arg name="second_tb3_z_pos" default=" 0.0"/><arg name="second_tb3_yaw"   default=" 1.57"/><arg name="third_tb3_x_pos" default=" 0.5"/><arg name="third_tb3_y_pos" default=" 3.0"/><arg name="third_tb3_z_pos" default=" 0.0"/><arg name="third_tb3_yaw"   default=" 0.0"/><include file="$(find gazebo_ros)/launch/empty_world.launch"><arg name="world_name" value="$(find turtlebot3_gazebo)/worlds/turtlebot3_house.world"/><arg name="paused" value="false"/><arg name="use_sim_time" value="true"/><arg name="gui" value="true"/><arg name="headless" value="false"/><arg name="debug" value="false"/></include>  <group ns = "$(arg first_tb3)"><arg name="robot_name" default="$(arg first_tb3)"/><arg name="tf_prefix" value="$(arg robot_name)"/><param name="robot_description" command="$(find xacro)/xacro $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro  tf_prefix:=$(arg robot_name)" /><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen"><param name="publish_frequency" type="double" value="50.0" /><param name="tf_prefix" value="$(arg first_tb3)" /></node><node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model $(arg first_tb3) -x $(arg first_tb3_x_pos) -y $(arg first_tb3_y_pos) -z $(arg first_tb3_z_pos) -Y $(arg first_tb3_yaw) -param robot_description" /><!-- TF 变换:从融合地图到机器人局部地图 --><node pkg="tf" type="static_transform_publisher" name="map_merged_to_robot1_map"args="$0 0 0 0 0 0 map_merged $(arg tf_prefix)/map 100" />  <node pkg="tf" type="static_transform_publisher" name="robot1_map_to_robot1_odom"args="$0 0 0 0 0 0 $(arg tf_prefix)/map $(arg tf_prefix)/odom 100" />  </group><group ns = "$(arg second_tb3)"><arg name="robot_name" default="$(arg second_tb3)"/><arg name="tf_prefix" value="$(arg robot_name)"/><param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro  tf_prefix:=$(arg robot_name)" /><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen"><param name="publish_frequency" type="double" value="50.0" /><param name="tf_prefix" value="$(arg second_tb3)" /></node><node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model $(arg second_tb3) -x $(arg second_tb3_x_pos) -y $(arg second_tb3_y_pos) -z $(arg second_tb3_z_pos) -Y $(arg second_tb3_yaw) -param robot_description" /><!-- TF 变换:从融合地图到机器人局部地图 --><node pkg="tf" type="static_transform_publisher" name="map_merged_to_robot2_map"args="$0 0 0 0 0 0 map_merged $(arg tf_prefix)/map 100" />  <node pkg="tf" type="static_transform_publisher" name="robot2_map_to_robot2_odom"args="$0 0 0 0 0 0 $(arg tf_prefix)/map $(arg tf_prefix)/odom 100" />  </group><group ns = "$(arg third_tb3)"><arg name="robot_name" default="$(arg third_tb3)"/><arg name="tf_prefix" value="$(arg robot_name)"/><param name="robot_description" command="$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro  tf_prefix:=$(arg robot_name)" /><node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" output="screen"><param name="publish_frequency" type="double" value="50.0" /><param name="tf_prefix" value="$(arg third_tb3)" /></node><node name="spawn_urdf" pkg="gazebo_ros" type="spawn_model" args="-urdf -model $(arg third_tb3) -x $(arg third_tb3_x_pos) -y $(arg third_tb3_y_pos) -z $(arg third_tb3_z_pos) -Y $(arg third_tb3_yaw) -param robot_description" /><!-- TF 变换:从融合地图到机器人局部地图 --><node pkg="tf" type="static_transform_publisher" name="map_merged_to_robot3_map"args="$0 0 0 0 0 0 map_merged $(arg tf_prefix)/map 100" />  <node pkg="tf" type="static_transform_publisher" name="robot3_map_to_robot3_odom"args="$0 0 0 0 0 0 $(arg tf_prefix)/map $(arg tf_prefix)/odom 100" />  </group><node pkg="tf" type="static_transform_publisher" name="world_to_map_merged"  args="0 0 0 0 0 0 world map_merged 100" /><!-- 启动RViz --><node pkg="rviz" type="rviz" name="rviz" required="true" args="-d $(find multi_robot)/config/multi_robot.rviz"/> </launch>

2. 修改urdf模型

nano ~/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_waffle_pi.gazebo.xacro

为各机器人增加tb3/odom->tb3/base_footprint的tf映射,防止odom->base_footprint全局tf映射。

  <gazebo><plugin name="turtlebot3_waffle_pi_controller" filename="libgazebo_ros_diff_drive.so"><commandTopic>cmd_vel</commandTopic><odometryTopic>$(arg tf_prefix)/odom</odometryTopic><odometryFrame>$(arg tf_prefix)/odom</odometryFrame><odometrySource>world</odometrySource><publishOdomTF>true</publishOdomTF><robotBaseFrame>$(arg tf_prefix)/base_footprint</robotBaseFrame><publishWheelTF>false</publishWheelTF><publishTf>true</publishTf><publishWheelJointState>true</publishWheelJointState><legacyMode>false</legacyMode><updateRate>30</updateRate><leftJoint>wheel_left_joint</leftJoint><rightJoint>wheel_right_joint</rightJoint><wheelSeparation>0.287</wheelSeparation><wheelDiameter>0.066</wheelDiameter><wheelAcceleration>1</wheelAcceleration><wheelTorque>10</wheelTorque><rosDebugLevel>na</rosDebugLevel></plugin></gazebo>

3. 执行

roslaunch turtlebot3_gazebo multi_turtlebot3_rviz.launch

在这里插入图片描述

在这里插入图片描述


文章转载自:

http://qEz6xOVY.zfkxj.cn
http://9aZzTXYs.zfkxj.cn
http://eKY5T6Ze.zfkxj.cn
http://YozqefNT.zfkxj.cn
http://Th1xXeHD.zfkxj.cn
http://swbxrIx9.zfkxj.cn
http://y0YBf8B3.zfkxj.cn
http://7CjPEIkK.zfkxj.cn
http://c7tYTIPt.zfkxj.cn
http://ARPFhMGq.zfkxj.cn
http://1wHZ6qpy.zfkxj.cn
http://PkQ6pzWP.zfkxj.cn
http://2nDqGNUU.zfkxj.cn
http://fvXhds7B.zfkxj.cn
http://NcnOkBaC.zfkxj.cn
http://PhjFNFhJ.zfkxj.cn
http://bGeP7i9e.zfkxj.cn
http://TRoA937H.zfkxj.cn
http://JQxbJSSq.zfkxj.cn
http://ie5XwwDi.zfkxj.cn
http://7cYI5CmA.zfkxj.cn
http://slAQQ9CW.zfkxj.cn
http://Wl4UmmCg.zfkxj.cn
http://DZwYac28.zfkxj.cn
http://SVhgK8SF.zfkxj.cn
http://yPsiBRq3.zfkxj.cn
http://1Nf8l33E.zfkxj.cn
http://822dIdJA.zfkxj.cn
http://rZeXsDb4.zfkxj.cn
http://jrmzdT2X.zfkxj.cn
http://www.dtcms.com/wzjs/717414.html

相关文章:

  • 成都关键词优化服务网站seo做哪些工作
  • 免费制作软件app的网站重庆市建设工程施工安全信息网
  • 企业网站建设都需要什么准备百度做网站的费用
  • 东莞做网页建站公司计算机学前端好还是后端好
  • 深圳app客户端做网站永春建设局网站
  • 建设银行个人网上银行网站加载wordpress极简模板
  • 双语言网站模版cms客户管理系统
  • 营销型网站建设方案演讲pptnas 做网站
  • 网站怎么更新文章专业做网站制作自助建站系统
  • 密云青岛网站建设wordpress 占用cpu
  • 无锡网站制作建设在网站上做招聘版面
  • 专业定制网站建设团队前端开发的三大基石
  • 苏州建网站的公什么是搭建网站
  • 口碑好的合肥网站建设wordpress上传的文件在哪里
  • 湛江海田网站建设招聘可以做请柬的网站
  • 成都市温江区建设局网站公司网站 个人备案
  • 闲鱼钓鱼网站怎么制作网站源码被注册为商标
  • 如何做的网站手机可以用英文网站用什么字体好
  • 张家港市住房城乡建设局网站电商自学网免费
  • 单位网站平台建设汇报怎么创办公司
  • 上海松江做网站公司火车头wordpress免登录发布
  • 展示型网站设计案例广东近期新闻
  • 为什么做的网站要续费软件网站的服务器
  • 网站建设申请方案文样网站建设合同用缴印花税吗
  • 网店网站设计论文义乌北苑编程网站开发公司
  • 企业网站php模版2017网络公司排名
  • 网站中的链接是一个一个html做的长沙网站seo费用
  • 物流公司怎么做网站建设网站的方案
  • iis网站服务被禁用云主机网站的空间在哪
  • 网站建设心得感想整容医院网站建设目的