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

建网站需要什么编程技术全网整合营销推广

建网站需要什么编程技术,全网整合营销推广,征婚网站怎么做,体验营销案例分析文章目录 前言一、Gzazebo中加载多台Turtlebot3机器人二、RVIZ中加载多个Turtlebot3机器人三.多机器人编队导航总结 前言 前面已经实现了在gazebo仿真环境中机器人一字型编队、三角形编队、N字型编队等仿真#xff0c;接下来考虑多机器人编队在编队行进过程中的避障问题… 文章目录 前言一、Gzazebo中加载多台Turtlebot3机器人二、RVIZ中加载多个Turtlebot3机器人三.多机器人编队导航总结 前言 前面已经实现了在gazebo仿真环境中机器人一字型编队、三角形编队、N字型编队等仿真接下来考虑多机器人编队在编队行进过程中的避障问题通过在RVIZ中加载多个机器人使他们能分别进行全局和局部路径规划来进行避障。 一、Gzazebo中加载多台Turtlebot3机器人 在前面的文章中也提到过在gazebo仿真环境中加载多个机器人主要是修改启动gazebo仿真环境的launch文件。 原Turtlebot3 launch文件 launchenv nameGAZEBO_RESOURCE_PATH value$(find turtlebot3_gazebo)/models/turtlebot3_autorace/ground_picture /arg namex_pos default0.245/arg namey_pos default-1.787/arg namez_pos default0/ include file$(find gazebo_ros)/launch/empty_world.launcharg nameworld_name value$(find turtlebot3_gazebo)/worlds/turtlebot3_autorace.world /arg namepaused valuefalse/arg nameuse_sim_time valuetrue/arg namegui valuetrue/arg nameheadless valuefalse/arg namedebug valuefalse//include param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_burger_for_autorace.urdf.xacro /node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model turtlebot3_burger -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description //launch 添加多台机器人的launch文件 ?xml version1.0? launcharg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/arg namefirst_tb3 defaulttb3_0/arg namesecond_tb3 defaulttb3_1/arg namethird_tb3 defaulttb3_2/arg namefirst_tb3_x_pos default 0.0/arg namefirst_tb3_y_pos default 0.0/arg namefirst_tb3_z_pos default 0.0/arg namefirst_tb3_yaw default 0.0/arg namesecond_tb3_x_pos default -1.0/arg namesecond_tb3_y_pos default 0.0/arg namesecond_tb3_z_pos default 0.0/arg namesecond_tb3_yaw default 0.0/arg namethird_tb3_x_pos default -2.0/arg namethird_tb3_y_pos default 0.0/arg namethird_tb3_z_pos default 0.0/arg namethird_tb3_yaw default 0.0/include file$(find gazebo_ros)/launch/empty_world.launcharg nameworld_name value$(find turtlebot3_gazebo)/worlds/cloister.world/arg namepaused valuefalse/arg nameuse_sim_time valuetrue/arg namegui valuetrue/arg nameheadless valuefalse/arg namedebug valuefalse//include group ns $(arg first_tb3)param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro /node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher outputscreenparam namepublish_frequency typedouble value50.0 /param nametf_prefix value$(arg first_tb3) //nodenode namespawn_urdf pkggazebo_ros typespawn_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 //groupgroup ns $(arg second_tb3)param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro /node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher outputscreenparam namepublish_frequency typedouble value50.0 /param nametf_prefix value$(arg second_tb3) //nodenode namespawn_urdf pkggazebo_ros typespawn_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 //groupgroup ns $(arg third_tb3)param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro /node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher outputscreenparam namepublish_frequency typedouble value50.0 /param nametf_prefix value$(arg third_tb3) //nodenode namespawn_urdf pkggazebo_ros typespawn_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 //group/launch对比发现修改后的launch文件增加了三个tb3的ns属性并为其设置了初始位姿设置了ns属性后才使得每个仿真小车发布带有对应属性的节点名称例如/tb3_0/odom、/tb3_0/base_link、/tb3_1/odom、/tb3_1/base_link。这样能防止TF树错乱而导致的运行出错。 二、RVIZ中加载多个Turtlebot3机器人 与Gazebo中加载多个Turtlebot3机器人相比RVIZ需要修改的内容多了些。首先修改turtlebot3_navigation.launch 原文件 launch!-- Arguments --arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/arg namemap_file default$(find turtlebot3_navigation)/maps/map.yaml/arg nameopen_rviz defaulttrue/arg namemove_forward_only defaultfalse/!-- Turtlebot3 --include file$(find turtlebot3_bringup)/launch/turtlebot3_remote.launcharg namemodel value$(arg model) //include!-- Map server --node pkgmap_server namemap_server typemap_server args$(arg map_file)/!-- AMCL --include file$(find turtlebot3_navigation)/launch/amcl.launch/!-- move_base --include file$(find turtlebot3_navigation)/launch/move_base.launcharg namemodel value$(arg model) /arg namemove_forward_only value$(arg move_forward_only)//include!-- rviz --group if$(arg open_rviz) node pkgrviz typerviz namerviz requiredtrueargs-d $(find turtlebot3_navigation)/rviz/turtlebot3_navigation.rviz//group /launch修改后 launch!-- Arguments --arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/arg nameopen_rviz defaulttrue/arg namemove_forward_only defaultfalse/arg namefirst_tb3 defaulttb3_0/arg namesecond_tb3 defaulttb3_1/arg namethird_tb3 defaulttb3_2/!-- Map server --arg namemap_file default$(find turtlebot3_navigation)/maps/cloister_gmapping.yaml/node pkgmap_server namemap_server typemap_server args$(arg map_file)/group ns $(arg first_tb3)!-- Map server --node pkgmap_server namemap_server typemap_server args$(arg map_file)/!-- Turtlebot3 --include file$(find turtlebot3_bringup)/launch/turtlebot3_remote.launcharg namemodel value$(arg model) /arg namemulti_robot_name value$(arg first_tb3) //includearg namefirst_tb3_x_pos default0.0/arg namefirst_tb3_y_pos default0.0/arg namefirst_tb3_z_pos default0.0/!-- AMCL --include file$(find turtlebot3_navigation)/launch/multi_amcl.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg first_tb3)/odom/arg namebase_frame_id value$(arg first_tb3)/base_footprint/ arg nameinitial_pose_x value$(arg first_tb3_x_pos)/arg nameinitial_pose_y value$(arg first_tb3_y_pos)/arg nameinitial_pose_a value$(arg first_tb3_z_pos)//include!-- move_base --include file$(find turtlebot3_navigation)/launch/multi_move_base.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg first_tb3)/odom/arg namebase_frame_id value$(arg first_tb3)/base_footprint/arg nameodom_topic value/$(arg first_tb3)/odom /arg namelaser_topic value/$(arg first_tb3)/scan /arg namecmd_vel_topic value/$(arg first_tb3)/cmd_vel /arg namemodel value$(arg model) /arg namemove_forward_only value$(arg move_forward_only)//include /groupgroup ns $(arg second_tb3)!-- Map server --node pkgmap_server namemap_server typemap_server args$(arg map_file)/!-- Turtlebot3 --include file$(find turtlebot3_bringup)/launch/turtlebot3_remote.launcharg namemodel value$(arg model) /arg namemulti_robot_name value$(arg second_tb3) //includearg namesecond_tb3_x_pos default-1.0/arg namesecond_tb3_y_pos default0.0/arg namesecond_tb3_z_pos default0.0/!-- AMCL --include file$(find turtlebot3_navigation)/launch/multi_amcl.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg second_tb3)/odom/arg namebase_frame_id value$(arg second_tb3)/base_footprint/ arg nameinitial_pose_x value$(arg second_tb3_x_pos)/arg nameinitial_pose_y value$(arg second_tb3_y_pos)/arg nameinitial_pose_a value$(arg second_tb3_z_pos)//include!-- move_base --include file$(find turtlebot3_navigation)/launch/multi_move_base.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg second_tb3)/odom/arg namebase_frame_id value$(arg second_tb3)/base_footprint/arg nameodom_topic value/$(arg second_tb3)/odom /arg namelaser_topic value/$(arg second_tb3)/scan /arg namecmd_vel_topic value/$(arg second_tb3)/cmd_vel /arg namemodel value$(arg model) /arg namemove_forward_only value$(arg move_forward_only)//include /groupgroup ns $(arg third_tb3)!-- Map server --node pkgmap_server namemap_server typemap_server args$(arg map_file)/!-- Turtlebot3 --include file$(find turtlebot3_bringup)/launch/turtlebot3_remote.launcharg namemodel value$(arg model) /arg namemulti_robot_name value$(arg third_tb3) //includearg namethird_tb3_x_pos default-2.0/arg namethird_tb3_y_pos default0.0/arg namethird_tb3_z_pos default0.0/!-- AMCL --include file$(find turtlebot3_navigation)/launch/multi_amcl.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg third_tb3)/odom/arg namebase_frame_id value$(arg third_tb3)/base_footprint/ arg nameinitial_pose_x value$(arg third_tb3_x_pos)/arg nameinitial_pose_y value$(arg third_tb3_y_pos)/arg nameinitial_pose_a value$(arg third_tb3_z_pos)//include!-- move_base --include file$(find turtlebot3_navigation)/launch/multi_move_base.launcharg nameglobal_frame_id valuemap/arg nameodom_frame_id value$(arg third_tb3)/odom/arg namebase_frame_id value$(arg third_tb3)/base_footprint/arg nameodom_topic value/$(arg third_tb3)/odom /arg namelaser_topic value/$(arg third_tb3)/scan /arg namecmd_vel_topic value/$(arg third_tb3)/cmd_vel /arg namemodel value$(arg model) /arg namemove_forward_only value$(arg move_forward_only)//include /group!-- rviz --group if$(arg open_rviz) node pkgrviz typerviz namerviz requiredtrueargs-d $(find turtlebot3_navigation)/rviz/turtlebot3_navWjx.rviz//group /launchturtlebot3_navigation.launch中引用的move_base.launch和amcl.launch文件也需要修改 move_base.launch 原文件 launch!-- Arguments --arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/arg namecmd_vel_topic default/cmd_vel /arg nameodom_topic defaultodom /arg namemove_forward_only defaultfalse/!-- move_base --node pkgmove_base typemove_base respawnfalse namemove_base outputscreenparam namebase_local_planner valuedwa_local_planner/DWAPlannerROS /rosparam file$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml commandload nsglobal_costmap /rosparam file$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml commandload nslocal_costmap /rosparam file$(find turtlebot3_navigation)/param/local_costmap_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/global_costmap_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/move_base_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/dwa_local_planner_params_$(arg model).yaml commandload /remap fromcmd_vel to$(arg cmd_vel_topic)/remap fromodom to$(arg odom_topic)/param nameDWAPlannerROS/min_vel_x value0.0 if$(arg move_forward_only) //node /launch修改后multi_move_base.launch launch!-- Arguments --arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/arg nameodom_frame_id defaultodom/arg namebase_frame_id defaultbase_footprint/arg nameglobal_frame_id defaultmap/arg namecmd_vel_topic default/cmd_vel /arg nameodom_topic defaultodom /arg namelaser_topic defaultscan /arg namemove_forward_only defaultfalse/!-- move_base --node pkgmove_base typemove_base respawnfalse namemove_base outputscreenparam namebase_global_planner valueglobal_planner/GlobalPlanner/param namebase_local_planner valuedwa_local_planner/DWAPlannerROS/rosparam file$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml commandload nsglobal_costmap /rosparam file$(find turtlebot3_navigation)/param/costmap_common_params_$(arg model).yaml commandload nslocal_costmap /rosparam file$(find turtlebot3_navigation)/param/local_costmap_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/global_costmap_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/move_base_params.yaml commandload /rosparam file$(find turtlebot3_navigation)/param/dwa_local_planner_params_$(arg model).yaml commandload /!-- reset frame_id parameters using user input data --param nameglobal_costmap/global_frame value$(arg global_frame_id)/param nameglobal_costmap/robot_base_frame value$(arg base_frame_id)/param namelocal_costmap/global_frame value$(arg odom_frame_id)/param namelocal_costmap/robot_base_frame value$(arg base_frame_id)/param nameglobal_costmap/obstacle_layer/scan/topic value$(arg laser_topic)/param namelocal_costmap/obstacle_layer/scan/topic value$(arg laser_topic)/remap fromcmd_vel to$(arg cmd_vel_topic)/remap fromodom to$(arg odom_topic)/remap fromscan to$(arg laser_topic)/param nameDWAPlanner/min_vel_x value0.0 if$(arg move_forward_only) //node /launchamcl.launch 原文件 launch!-- Arguments --arg namescan_topic defaultscan/arg nameinitial_pose_x default0.0/arg nameinitial_pose_y default0.0/arg nameinitial_pose_a default0.0/!-- AMCL --node pkgamcl typeamcl nameamclparam namemin_particles value500/param namemax_particles value3000/param namekld_err value0.02/param nameupdate_min_d value0.20/param nameupdate_min_a value0.20/param nameresample_interval value1/param nametransform_tolerance value0.5/param namerecovery_alpha_slow value0.00/param namerecovery_alpha_fast value0.00/param nameinitial_pose_x value$(arg initial_pose_x)/param nameinitial_pose_y value$(arg initial_pose_y)/param nameinitial_pose_a value$(arg initial_pose_a)/param namegui_publish_rate value50.0/remap fromscan to$(arg scan_topic)/param namelaser_max_range value3.5/param namelaser_max_beams value180/param namelaser_z_hit value0.5/param namelaser_z_short value0.05/param namelaser_z_max value0.05/param namelaser_z_rand value0.5/param namelaser_sigma_hit value0.2/param namelaser_lambda_short value0.1/param namelaser_likelihood_max_dist value2.0/param namelaser_model_type valuelikelihood_field/param nameodom_model_type valuediff/param nameodom_alpha1 value0.1/param nameodom_alpha2 value0.1/param nameodom_alpha3 value0.1/param nameodom_alpha4 value0.1/param nameodom_frame_id valueodom/param namebase_frame_id valuebase_footprint//node /launch修改后multi_amcl.launch读入数据 launch!-- Arguments --arg nameuse_map_topic defaulttrue/arg namescan_topic defaultscan/arg nameinitial_pose_x default0.0/arg nameinitial_pose_y default0.0/arg nameinitial_pose_a default0.0/arg nameodom_frame_id defaultodom/arg namebase_frame_id defaultbase_footprint/arg nameglobal_frame_id defaultmap/!-- AMCL --node pkgamcl typeamcl nameamclparam nameuse_map_topic value$(arg use_map_topic)/param namemin_particles value500/param namemax_particles value3000/param namekld_err value0.02/param nameupdate_min_d value0.20/param nameupdate_min_a value0.20/param nameresample_interval value1/param nametransform_tolerance value0.5/param namerecovery_alpha_slow value0.00/param namerecovery_alpha_fast value0.00/param nameinitial_pose_x value$(arg initial_pose_x)/param nameinitial_pose_y value$(arg initial_pose_y)/param nameinitial_pose_a value$(arg initial_pose_a)/param namegui_publish_rate value50.0/remap fromscan to$(arg scan_topic)/param namelaser_max_range value3.5/param namelaser_max_beams value180/param namelaser_z_hit value0.5/param namelaser_z_short value0.05/param namelaser_z_max value0.05/param namelaser_z_rand value0.5/param namelaser_sigma_hit value0.2/param namelaser_lambda_short value0.1/param namelaser_likelihood_max_dist value2.0/param namelaser_model_type valuelikelihood_field/param nameodom_model_type valuediff/param nameodom_alpha1 value0.1/param nameodom_alpha2 value0.1/param nameodom_alpha3 value0.1/param nameodom_alpha4 value0.1/param nameodom_frame_id value$(arg odom_frame_id)/ param namebase_frame_id value$(arg base_frame_id)/ param nameglobal_frame_id value$(arg global_frame_id)//node /launch三.多机器人编队导航 多机器人编队的仿真在前面文章中叙述过多机器人三角形编队的实现编队的程序不需要修改可以直接运行。 启动gazebo仿真环境(launch 自己的文件名) roslaunch turtlebot3_gazebo multi3_turtlebot3.launch启动导航节点RVIZ roslaunch turtlebot3_navigation turtlebot3_navigation启动编队程序 roslaunch turtlebot3_teams_wang turtlebot3_teams_follow_wang.launch总结 简单总结了Turtlebot3多机器人编队仿真在实现的过程中需要对RVIZ仿真环境进行配置这个花费了我很长时间后面我会专门的写一下主要是添加多个2D nav Goal/2D pose estimate以及导航、laser、全局路径/局部路径话题的订阅。
http://www.pierceye.com/news/150722/

相关文章:

  • 成都建设网站那家好vs2019可以做网站吗
  • 个人网站开发教程济南高新网站制作
  • 中国空间站最新进展欧泰国际物流网站
  • 做淘宝链接网站成都网站建设 3e网络
  • 兰州中川国际机场t3航站楼vue单页面做网站加载慢
  • 公司网站制作费用申请泸州网站建设公司
  • 专业网络优化有名的seo外包公司
  • 宿迁网站建设制作湖南常德邮编
  • 网站制作方案电子商务网站建设与维护的主要内容
  • 网站淘宝客怎么做的建网站前途
  • 宁波网站开发服务网页制作技巧
  • 中医网站风格网络规划设计师2022论文5月
  • 网站主办者单位有效证件电子件是什么怎么做免费的产品网站
  • 设计素材网站好融资吗网站设计需要需要用
  • 北京品牌营销的服务机构sem和seo有什么区别
  • 注册企业网站上海人才中心档案托管
  • 建设银行的网站为什么登不上公司员工培训方案
  • 网站形式wordpress 顶部工具栏
  • 网站前后台修改wordpress用户密码
  • 微信 公司网站 怎么做手机端视频网站模板下载
  • 何为响应式网站太原自助建站
  • 网站建设方案书怎么写安徽和住房建设厅网站
  • 北京市住房和城乡建设厅官方网站重庆百度seo整站优化
  • 备案ip 查询网站查询网站河南建筑职业技术学院
  • 均安公司网站建设免费建手机个人网站
  • 南京做网站的网络公司排名wordpress发邮件更新
  • 抽奖的网站怎么做美食类网站模板
  • 自己建一个网站难吗网络安全行业公司排名
  • 做招聘的h5用哪个网站企业网站需要多大空间
  • 织梦 公司网站模板html5网站开发的源码