旅行社网站建设方案书三只松鼠软文范例500字
news/
2025/10/1 4:31:36/
文章来源:
旅行社网站建设方案书,三只松鼠软文范例500字,手机在线ps照片处理,wordpress固定链接显示404文章目录 前言一、基本概念1、xacro2、Gazebo 加载单个机器人模型 二、原先launch文件代码三、 修改launch文件加载多个机器人总结 前言
单个机器人的各项仿真实验都基本完成#xff0c;也实现了远程控制#xff0c;接下来主要对多机器人编队进行仿真实验#xff0c;在进行… 文章目录 前言一、基本概念1、xacro2、Gazebo 加载单个机器人模型 二、原先launch文件代码三、 修改launch文件加载多个机器人总结 前言
单个机器人的各项仿真实验都基本完成也实现了远程控制接下来主要对多机器人编队进行仿真实验在进行多机器人编队控制前先要在gazebo仿真中加载多个机器人。 一、基本概念
在gazebo中添加多个机器人需要写或修改launch文件通过在网上翻看别人的代码大致明白了调用gazebo仿真launch文件中各部分代码的意思。下面是一些最最基本的概念在修改launch前稍微了解一下。
1、xacro
类似于函数实现提高代码复用率优化代码结构提高安全性 1宏定义
xacro:macro name宏名称 params参数列表多参数之前使用空格分隔
....参数调用格式${参数名}
/xacro:macro2宏调用
xacro:宏名称 参数1xxx 参数2xxx/3文件包含 机器人由多部件组成不同部件可能封装为单独的xacro文件最后再将不同的文件集成组合为完整机器人可以使用文件包含实现。
robot namexxx xmls:xacrohttp://wiki.ros.org/xacroxacro:include filenamemy_base.xacroxacro:include filenamemy_camera.xacroxacro:include filenamemy_laser.xacro....
/robot在launch文件中直接加载xacro的方法
command$(find xacro)/xacro $(find 文件名)/urdf/.urdf.xacro文件名2、Gazebo 加载单个机器人模型
launch!-- 将Urdf文件的内容加载到参数服务器--param namerobot_descriptiontextfile“$(find文件夹名)/urdf/.urdf文件“!--启动gazebo--include file$(find gazebo_ros)/launch/empty_world.launch/!--在gazebo中显示机器人模型--node pkggazebo_rostypespawn_modelnamemodelargs-urdf-model mycar-param robot_description//launch二、原先launch文件代码
在大致看了上述的说明后就能看懂在gazebo仿真环境中加载一个机器人的launch文件了。 复制粘贴如下根据上面的基本概念可以大概的明白代码所描述的内容。 如我在图中添加的注释
launch
!--在所提供的burger, waffle, waffle_pi三种机器人呢模型中选择要加载的类型--arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type [burger, waffle, waffle_pi]/ !--设置机器人的x,y,z坐标相当于宏定义方面下面使用和后面的修改--arg namex_pos default-2.0/arg namey_pos default-0.5/arg namez_pos default0.0/!-- 运行gazebo仿真环境 --include file$(find gazebo_ros)/launch/empty_world.launcharg nameworld_name value$(find turtlebot3_gazebo)/worlds/turtlebot3_world.world/arg namepaused valuefalse/arg nameuse_sim_time valuetrue/arg namegui valuetrue/arg nameheadless valuefalse/arg namedebug valuefalse//include!--在launch文件中直接加载机器人xacro模型描述文件--param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro /!--在gazeb中显示机器人模型并设置初始的坐标位置--node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model turtlebot3_$(arg model) -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos) -param robot_description //launchgazebo启动结果如下 三、 修改launch文件加载多个机器人
在理解了launch调用和加载的各项指令后接下来实现在gazebo中加载多个机器人相比于单机器人多机器人仿真需要在原基础上加入标签做到用同样的descripion配置文件加载多个独立的机器人。
具有ns属性可以将节点组推送到单独的命名空间中。在前面的基础上我通过指令touch test(文件名).launch创建了新的test.launch文件在launch文件中改写成以下内容
launch
!--首先我将原先选择机器人模型全部设置为了waffle机器人模型--arg namemodel default$(env TURTLEBOT3_MODEL) docmodel type turtlebot3_waffle/!--因为需要给每个机器人设置初始位置我将原先的宏定义删除选择直接在加载的时候定义机器人的初始位置--!-- 运行gazebo仿真环境 -- !-- 没有变化 --include file$(find gazebo_ros)/launch/empty_world.launcharg nameworld_name value$(find turtlebot3_gazebo)/worlds/turtlebot3_world.world/arg namepaused valuefalse/arg nameuse_sim_time valuetrue/arg namegui valuetrue/arg nameheadless valuefalse/arg namedebug valuefalse//include!-- 加载多个机器人时需要加入group标签 --!-- 注意每个机器人都要有一个命名空间且名字不同--!--在.urdf.xacro后要声明且在下面显示模型后面也要跟上命名空间的名字 --
group ns1param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_waffle.urdf.xacro ns:1 /!--在-param robot_description后可以指定机器人的初始位置类似于默认参数如果不传入数据默认机器人的初始位置是000传入实参后会改变初始位置 --node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model 1 -param robot_description -x -2.0 /
/groupgroup ns2param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_waffle.urdf.xacro ns:2 /node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model 2 -param robot_description -x -1.5 /
/groupgroup ns3param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_waffle.urdf.xacro ns:3 /node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model 3 -param robot_description -x -2.0 -y 0.7 /
/groupgroup ns4param namerobot_description command$(find xacro)/xacro --inorder $(find turtlebot3_description)/urdf/turtlebot3_waffle.urdf.xacro ns:4 /node pkggazebo_ros typespawn_model namespawn_urdf args-urdf -model 4 -param robot_description -x -1.5 -y 0.7 /
/group/launch运行test.launch文件即可在Gazebo仿真环境中加载多个机器人模型。 总结
在Gazebo仿真环境中成功加载了多个机器人模型接下来想办法实现在Gazebo中实现多机器人的编队控制。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923497.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!