版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ROS应用开发技术1.机器人仿真-ArbotiX+RViz介绍目录CONTENTS01Arbotix02Rviz03ArbotiX与Rviz的结合目录CONTENTSArbotiXArbotiXArbotiX的定义ArbotiX的定义ArbotiX是一个开源的机器人控制器,专为构建和控制多关节机器人而设计。它由TrossenRobotics开发,并用于他们的机器人平台,如PhantomXHexapod和InterbotiX系列。ArbotiX功能与应用ArbotiX功能与应用03010204技术特点适用于教育、研究和业余爱好者等机器人应用领域开发工具支持设备应用领域基于AtmelAVR系列微控制器,具有丰富的输入输出接口支持各种传感器和执行器,如舵机、步进电机、直流电机等提供ROS和Arduino等开发工具和库RvizRvizRviz介绍Rviz介绍Rviz是一个强大的三维可视化工具,用于显示和调试机器人感知、控制、导航等方面的数据。Rviz允许用户以直观的方式查看机器人的传感器信息、运动规划路径、三维模型等,有助于理解机器人系统的工作状态。Rviz的主要功能Rviz的主要功能0205040103显示运动规划路径,包括轨迹、目标点、障碍物等功能一功能二显示和调试机器人感知、控制、导航等数据功能三功能五可视化机器人模型,加载URDF描述文件显示传感器数据,如点云、二维地图、图像等交互式操作,提供选择、测量、导航工具功能四ArbotiX与Rviz的结合ArbotiX与Rviz的结合ArbotiX与Rviz的结合应用ArbotiX与Rviz的结合应用结合应用功能三实现三维可视化和调试控制机器人运动,实时显示位置、姿态和轨迹交互式调试,实时调整和优化系统设计显示传感器数据,获取环境信息功能二运动规划和路径显示,评估路径规划算法功能一功能四ROS应用开发技术2.机器人仿真-ArbotiX+rz功能仿真实训(上)目录CONTENTS01准备工作02模型编写启动文件编写目录CONTENTS0304模型展示准备工作准备工作仿真内容仿真内容构建功能仿真所需机器人模型运动仿真使模型进行物理运动模型构建工作空间创建工作空间创建创建工作空间cd~/ros_ws/srccatkin_init_workspacecd~/ros_wscatkin_make初始化工作空间cd~/ros_wsmkdirsrc创建src文件cd~mkdirros_ws功能包编译功能包创建功能包创建进入src文件夹创建名为urdf_rviz点的功能包,依赖为urdf和xacrocatkin_create_pkgurdf_rvizurdfxacro文件夹创建文件夹创建为便于后续管理,创建如下文件夹用于存放所有的启动文件launch该文件夹将用于存放后续的模型文件urdf用于存放配置文件configecho"source~/ros_ws/devel/setup.bash">>~/.bashrcsource~/.bashrc添加环境变量更新环境模型编写模型编写t1_car.urdf文件编写t1_car.urdf文件编写<robotname="mycar"><linkname="base_footprint"><visual><geometry><sphereradius="0.001"/></geometry></visual></link><linkname="base_link"><visual><geometry><cylinderradius="0.1"length="0.08"/></geometry><originxyz="000"rpy="000"/><materialname="yellow"><colorrgba="0.80.30.10.8"/></material></visual></link>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdft1_car.urdf文件编写t1_car.urdf文件编写
<!--底盘和基底间的关节--><jointname="base_link2base_footprint"type="fixed"><parentlink="base_footprint"/><childlink="base_link"/><originxyz="000.055"/></joint><!--添加驱动轮--><!--左轮--><linkname="left_wheel"><visual><geometry><cylinderradius="0.0325"length="0.015"/></geometry><originxyz="000"rpy="1.570500"/><materialname="black"><colorrgba="0.00.00.01.0"/></material></visual></link>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdft1_car.urdf文件编写t1_car.urdf文件编写<!--左轮和底盘间关节--><jointname="left_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="left_wheel"/><originxyz="00.1-0.0225"/><axisxyz="010"/></joint><!--右轮--><linkname="right_wheel"><visual><geometry><cylinderradius="0.0325"length="0.015"/></geometry><originxyz="000"rpy="1.570500"/><materialname="black"><colorrgba="0.00.00.01.0"/></material></visual></link>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdft1_car.urdf文件编写t1_car.urdf文件编写<!--右轮和底盘间关节--><jointname="right_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="right_wheel"/><originxyz="0-0.1-0.0225"/><axisxyz="010"/></joint><!--添加万向轮(支撑轮)--><linkname="front_wheel"><visual><geometry><sphereradius="0.0075"/></geometry><originxyz="000"rpy="000"/><materialname="black"><colorrgba="0.00.00.01.0"/></material></visual></link>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdft1_car.urdf文件编写t1_car.urdf文件编写<!--前万向轮和底盘间关节--><jointname="front_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="front_wheel"/><originxyz="0.09250-0.0475"/><axisxyz="111"/></joint><!--前侯万向轮--><linkname="back_wheel"><visual><geometry><sphereradius="0.0075"/></geometry><originxyz="000"rpy="000"/><materialname="black"><colorrgba="0.00.00.01.0"/></material></visual></link>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdft1_car.urdf文件编写t1_car.urdf文件编写
<!--后万向轮和底盘间关节--><jointname="back_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="back_wheel"/><originxyz="-0.09250-0.0475"/><axisxyz="111"/></joint></robot>在urdf目录下新建urdf和xacro文件夹,并在urdf下编写t1_car.urdf启动文件编写启动文件编写t1_car.launch文件编写t1_car.launch文件编写<launch><!--将urdf文件内容设置进参数服务器--><!--<paramname="robot_description"textfile="$(find工作空间)/路径/文件名.urdf"/>--><paramname="robot_description"textfile="$(findurdf_rviz)/urdf/urdf/t1_car.urdf"/>
<!--启动rivz--><!--<nodepkg="rviz"type="rviz"name="rviz_test"args="-d$(finddemo01_urdf_helloworld)/config/helloworld.rviz"/>--><nodepkg="rviz"type="rviz"name="rviz"/>
<!--启动机器人状态和关节状态发布节点--><nodepkg="robot_state_publisher"type="robot_state_publisher"name="robot_state_publisher"/><nodepkg="joint_state_publisher"type="joint_state_publisher"name="joint_state_publisher"/>
<!--启动图形化的控制关节运动节点--><nodepkg="joint_state_publisher_gui"type="joint_state_publisher_gui"name="joint_state_publisher_gui"/>
</launch>进入launch目录,编写t1_car.launch文件模型展示模型展示文件运行文件运行使用roslaunch命令启动launch文件roslaunchurdf_rvizt1_car.launch设置修改设置修改添加组件更改标签添加确认需要添加RobotModel、TF、Axis三个组件模型展示模型展示取消Axes参数配置保存配置保存020301点击Rviz中的‘File’按钮,在下拉框中选择‘SaveConfigAs’<nodepkg="rviz"type="rviz"name="rviz_test"args="-d$(findurdf_rviz)/config/t1_car.rviz"/>在name旁输入文件保存名,并将目录跳转到文件保存目录后打开t1_car.launch文件,修改nodepkgROS应用开发技术2.机器人仿真-ArbotiX+rz功能仿真实训(下)01宏文件编写02启动文件编写03功能仿真实现目录CONTENTS宏文件编写创建车体<robotname="my_base"xmlns:xacro="/wiki/xacro"><xacro:propertyname="PI"value="3.141"/><materialname="black"><colorrgba="0.00.00.01.0"/></material><xacro:propertyname="base_footprint_radius"value="0.001"/><xacro:propertyname="base_link_radius"value="0.1"/><!--base_link半径--><xacro:propertyname="base_link_length"value="0.08"/><!--base_link长--><xacro:propertyname="earth_space"value="0.015"/><!--离地间距-->
<!--底盘只有一个,直接编写--><linkname="base_footprint"><visual><geometry><sphereradius="${base_footprint_radius}"/></geometry></visual></link>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件创建车体<linkname="base_link"><visual><geometry><cylinderradius="${base_link_radius}"length="${base_link_length}"/></geometry><originxyz="000"rpy="000"/><materialname="yellow"><colorrgba="0.50.30.00.5"/></material></visual></link>
<jointname="base_link2base_footprint"type="fixed"><parentlink="base_footprint"/><childlink="base_link"/><originxyz="00${earth_space+base_link_length/2}"/></joint>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件创建车体<!--驱动轮--><!--驱动轮属性封装--><xacro:propertyname="wheel_radius"value="0.0325"/><!--半径--><xacro:propertyname="wheel_length"value="0.015"/><!--宽度--><!--驱动轮宏实现--><xacro:macroname="add_wheels"params="nameflag"><linkname="${name}_wheel"><visual><geometry><cylinderradius="${wheel_radius}"length="${wheel_length}"/></geometry><originxyz="0.00.00.0"rpy="${PI/2}0.00.0"/><materialname="black"/></visual></link>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件创建车体<jointname="${name}_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="${name}_wheel"/><originxyz="0${flag*base_link_radius}${-(earth_space+base_link_length/2-wheel_radius)}"/><axisxyz="010"/></joint></xacro:macro><!--宏调用,添加左右轮--><xacro:add_wheelsname="left"flag="1"/><xacro:add_wheelsname="right"flag="-1"/>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件创建车体<!--支撑轮--><!--支撑轮属性--><xacro:propertyname="support_wheel_radius"value="0.0075"/><!--支撑轮半径--><!--支撑轮宏--><xacro:macroname="add_support_wheel"params="nameflag"><linkname="${name}_wheel"><visual><geometry><sphereradius="${support_wheel_radius}"/></geometry><originxyz="000"rpy="000"/><materialname="black"/></visual></link>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件创建车体<!--支撑轮和底盘的关节宏--><jointname="${name}_wheel2base_link"type="continuous"><parentlink="base_link"/><childlink="${name}_wheel"/><originxyz="${flag*(base_link_radius-support_wheel_radius)}0${-(base_link_length/2+earth_space/2)}"/><axisxyz="111"/></joint></xacro:macro><!--宏调用,添加前后支撑轮--><xacro:add_support_wheelname="front"flag="1"/><xacro:add_support_wheelname="back"flag="-1"/></robot>进入urfd目录下的xacro文件夹中,编写t1_car.xacro文件摄像头添加<!--摄像头相关的xacro文件--><robotname="my_camera"xmlns:xacro="/xacro"><!--摄像头属性--><xacro:propertyname="camera_length"value="0.01"/><!--摄像头长度(x)--><xacro:propertyname="camera_width"value="0.025"/><!--摄像头宽度(y)--><xacro:propertyname="camera_height"value="0.025"/><!--摄像头高度(z)--><xacro:propertyname="camera_x"value="0.08"/><!--摄像头安装的x坐标--><xacro:propertyname="camera_y"value="0.0"/><!--摄像头安装的y坐标--><xacro:propertyname="camera_z"value="${base_link_length/2+camera_height/2}"/><!--摄像头安装的z坐标:底盘高度/2+摄像头高度/2-->进入urfd目录下的xacro文件夹中,编写t2_camera.xacro文件摄像头添加
<!--摄像头关节以及link--><linkname="camera"><visual><geometry><boxsize="${camera_length}${camera_width}${camera_height}"/></geometry><originxyz="0.00.00.0"rpy="0.00.00.0"/><materialname="black"/></visual></link>
<jointname="camera2base_link"type="fixed"><parentlink="base_link"/><childlink="camera"/><originxyz="${camera_x}${camera_y}${camera_z}"/></joint></robot>进入urfd目录下的xacro文件夹中,编写t2_camera.xacro文件雷达添加<robotname="my_laser"xmlns:xacro="/xacro">
<!--雷达支架--><xacro:propertyname="support_length"value="0.15"/><!--支架长度--><xacro:propertyname="support_radius"value="0.01"/><!--支架半径--><xacro:propertyname="support_x"value="0.0"/><!--支架安装的x坐标--><xacro:propertyname="support_y"value="0.0"/><!--支架安装的y坐标--><xacro:propertyname="support_z"value="${base_link_length/2+support_length/2}"/><!--支架安装的z坐标:底盘高度/2+支架高度/2-->进入urfd目录下的xacro文件夹中,编写t3_laser.xacro文件雷达添加<linkname="support"><visual><geometry><cylinderradius="${support_radius}"length="${support_length}"/></geometry><originxyz="0.00.00.0"rpy="0.00.00.0"/><materialname="red"><colorrgba="0.80.20.00.8"/></material></visual></link>
<jointname="support2base_link"type="fixed"><parentlink="base_link"/><childlink="support"/><originxyz="${support_x}${support_y}${support_z}"/></joint>进入urfd目录下的xacro文件夹中,编写t3_laser.xacro文件雷达添加<!--雷达属性--><xacro:propertyname="laser_length"value="0.05"/><!--雷达长度--><xacro:propertyname="laser_radius"value="0.03"/><!--雷达半径--><xacro:propertyname="laser_x"value="0.0"/><!--雷达安装的x坐标--><xacro:propertyname="laser_y"value="0.0"/><!--雷达安装的y坐标--><xacro:propertyname="laser_z"value="${support_length/2+laser_length/2}"/><!--雷达安装的z坐标:支架高度/2+雷达高度/2-->进入urfd目录下的xacro文件夹中,编写t3_laser.xacro文件雷达添加<!--雷达关节以及link--><linkname="laser"><visual><geometry><cylinderradius="${laser_radius}"length="${laser_length}"/></geometry><originxyz="0.00.00.0"rpy="0.00.00.0"/><materialname="black"/></visual></link>
<jointname="laser2support"type="fixed"><parentlink="support"/><childlink="laser"/><originxyz="${laser_x}${laser_y}${laser_z}"/></joint></robot>进入urfd目录下的xacro文件夹中,编写t3_laser.xacro文件组件整合<!--组合小车、摄像头、雷达--><robotname="my_car_camera"xmlns:xacro="/xacro"><xacro:includefilename="t1_car.xacro"/><xacro:includefilename="t2_camera.xacro"/><xacro:includefilename="t3_laser.xacro"/></robot>进入urfd目录下的xacro文件夹中,编写t4_123combine.xacro文件启动文件编写t4_xacro.launch文件编写<launch><!--将xacro文件内容设置进参数服务器--><!--urdf调用方式--><!--<paramname="robot_description"textfile="$(findurdf_rviz)/urdf/urdf/t1_car.urdf"/>--><!--xacro调用方式--><paramname="robot_description"command="$(findxacro)/xacro$(findurdf_rviz)/urdf/xacro/t4_123combine.xacro"/><!--启动rivz--><nodepkg="rviz"type="rviz"name="rviz"args="-d$(findurdf_rviz)/config/t1_car.rviz"/><!--<nodepkg="rviz"type="rviz"name="rviz"/>--><!--启动机器人状态和关节状态发布节点--><nodepkg="joint_state_publisher"type="joint_state_publisher"name="joint_state_publisher"output="screen"/><nodepkg="robot_state_publisher"type="robot_state_publisher"name="robot_state_publisher"output="screen"/><!--启动图形化的控制关节运动节点--><nodepkg="joint_state_publisher_gui"type="joint_state_publisher_gui"name="joint_state_publisher_gui"output="screen"/></launch>在launch文件夹下新建t4_xacro.launch模型展示重新编译功能包后运行启动文件
roslaunchurdf_rvizt4_xacro.launch功能仿真实现Arbotix的安装源码下载配置文件编写cdurdf_rviz/configvicontrol.yamlgitclone/vanadiumlabs/arbotix_ros.git文件内容controllers:{#单控制器设置base_controller:{#类型:差速控制器type:diff_controller,#参考坐标base_frame_id:base_footprint,#两个轮子之间的间距base_width:0.2,#控制频率ticks_meter:2000,#PID控制参数,使机器人车轮快速达到预期速度Kp:12,Kd:12,Ki:0,Ko:50,#加速限制accel_limit:1.0}}t5_arbotix.launch文件编写<launch><!--urdf调用方式--><!--<paramname="robot_description"textfile="$(findurdf_rviz)/urdf/urdf/t1_car.urdf"/>--><!--xacro调用方式--><paramname="robot_description"command="$(findxacro)/xacro$(findurdf_rviz)/urdf/xacro/t4_123combine.xacro"/><!--启动rivz--><nodepkg="rviz"type="rviz"name="rviz"args="-d$(findurdf_rviz)/config/t1_car.rviz"/><!--<nodepkg="rviz"type="rviz"name="rviz"/>--><!--启动机器人状态和关节状态发布节点--><nodepkg="joint_state_publisher"type="joint_state_publisher"name="joint_state_publisher"output="screen"/><nodepkg="robot_state_publisher"type="robot_state_publisher"name="robot_state_publisher"output="screen"/><!--集成arbotix运动控制节点,加载参数--><nodename="arbotix"pkg="arbotix_python"type="arbotix_driver"output="screen"><!--<rosparamfile="$(find工作空间)/config/文件名.yaml"command="load"/>--><rosparamfile="$(findurdf_rviz)/config/control.yaml"command="load"/><paramname="sim"value="true"/></node></launch>在launch文件夹下新建t5_arbotix.launch效果展示roslaunchurdf_rvizt5_arbotix.launch话题查看效果展示以10Hz的频率发布速度命令到
/cmd_vel
话题,让机器人以0.2米/秒的速度向前移动,并同时以0.5弧度/秒的速度原地旋转。rostopicpub-r10/cmd_velgeometry_msgs/Twist'{linear:{x:0.2,y:0,z:0},angular:{x:0,y:0,z:0.5}}'ROS应用开发技术3.机器人仿真-Gazebo介绍01Gazebo简介目录CONTENTSGazebo简介Gazebo介绍Gazebo是一款开源的3D动态模拟器,主要用于测试和验证机器人系统的行为和性能。它提供了一个功能强大的仿真平台,能够模拟真实世界中的物理行为,如碰撞、重力等。Gazebo支持加载各种三维模型,包括机器人、传感器、环境等,并能够进行高质量的图形渲染,提供高保真度的物理模拟。Gazebo的功能与优势图形用户界面、命令行工具和APIGazebo与ROSGazebo定义支持的机器人类型提供真实的物理仿真环境,测试机器人性能和控制算法激光雷达、相机、惯性测量单元等Gazebo优势开源的多机器人物理仿真器支持的传感器模型固定翼飞机、直升机、汽车、水下机器人等支持ROS,通过ROS工具和库控制和监测机器人状态交互式工具ros_control功能包与Gazebo物理仿真密切相关的功能包作用机器人导航、定位、机械臂运动规划等功能范围快速实现高级功能到机器人硬件,提高开发效率关键功能重要性控制器接口、传统设备接口、硬件接口、控制器工具箱中间件角色连接软件层与底层硬件推动机器人技术的快速发展和应用ros_control定义ros_control的总体框架中间接口,连接上层应用与底层机器人控制逻辑分离分离硬件和软件,提供常用接口控制器插件对不同硬件的良好兼容性硬件抽象层管理硬件资源,处理硬件冲突兼容性ros_control框架模块化设计不依赖特定硬件,通用于多种硬件控制机器人底盘运动和机械臂运动ros_control控制器数据流程图负责不同部分,如底盘、机械臂write和read接口与硬件通讯上层应用如PID控制,完成控制任务硬件抽象层Controller插件通讯接口发布控制器输出数据到硬件数据发送至下层硬件控制逻辑ros_control在Gazebo中的应用控制指令关节控制控制真实机器人或仿真机器人提供多样化的控制器,如差速控制器控制关节的速度、位置控制器种类理解难度发布到机器人关节上,驱动运动控制器应用中间控制器在Gazebo中实现控制框架抽象,建议查看wiki介绍和实践ROS应用开发技术4.Gazebo界面与模型加载(上)01物理仿真环境搭建02界面介绍03加载URDF模型目录CONTENTS物理仿真环境搭建ros_controlros_control是一套功能强大的控制框架,它能够通过不同类型的控制器实现多种功能,主要包括力控制、位置控制和速度控制这三种基本形式。此外,为了实时反馈机器人的状态信息,关节状态控制器也扮演着至关重要的角色。四种控制器joint_effort_controllerjoint_state_controllerjoint_position_controllerjoint_velocity_controller仿真环境搭建步骤配置机器人模型创建适用于仿真的环境安装gazebosudoaptinstallgazebo11*-y安装Gazebo相关包sudoaptinstallros-noetic-gazebo-*-ysudoaptinstalllibgazebo11-dev-y安装以gazebo11为前缀的软件包安装Gazebo11的开发库界面介绍场景场景是模拟器的主要部分,是仿真模型显示的地方。左面板020301world显示当前在场景中的模型,查看和修改模型参数组织和显示模拟中可用的不同可视化组,layer一般的是包含了一个或者多个模型,多个模型可通过打开或者关闭显示该图层的模型。InsertLayer向模拟添加新对象(模型)右面板默认情况下,右侧面板处于隐藏状态。单击并拖动该栏以将其打开。右面板可用于与选定模型的移动部件(joint)交互,包括位姿,速度等等。如果场景中没有选择模型,面板将不显示任何信息。工具栏从左箭头开始到右边正方体分别是选择模型、转换模式、旋转模式、缩放模式撤消/重做创建简单形状(立方体‘球体、圆柱体)工具栏灯光对齐、捕获模型复制/粘贴更改视图加载URDF模型功能包下载020301键盘控制节点功能包sudoaptinstallros-noetic-teleop-twist-keyboard-yroslaunchyahboomcar_gazeboyahboom.launchturtlebot3-gazebo功能包效果查看sudoaptinstallros-noetic-turtlebot3-gazebo-y选项设置点击【Camera】选择【Orthographic】选项启动键盘控制节点rosrunteleop_twist_keyboardteleop_twist_keyboard.pyROS应用开发技术4.Gazebo界面与模型加载(下)01launch文件代码02模型文件代码目录CONTENTSlaunch文件代码yahboom.launch<launch><argname="ns"default="robot1"/><argname="format"default="xarco"doc="xacro;urdf"/><argname="robot_type"value="X3"/><argname="gui"default="true"/><argname="run_camera"default="false"/><argname="x_pos"default="-2.0"/><argname="y_pos"default="-0.5"/><argname="z_pos"default="0.0"/>
<nodename="tf_footprint_base"pkg="tf"type="static_transform_publisher"args="000000base_linkbase_footprint40"/>yahboom.launch<includefile="$(findgazebo_ros)/launch/empty_world.launch"><argname="world_name"value="$(findturtlebot3_gazebo)/worlds/turtlebot3_world.world"/><argname="paused"value="false"/><argname="use_sim_time"value="true"/><argname="gui"value="true"/><argname="headless"value="false"/><argname="debug"value="false"/></include><paramname="robot_description"command="$(findxacro)/xacro--inorder$(findyahboomcar_description)/urdf/yahboomcar_X3.gazebo.urdf.xacrons:=$(argns)"/>yahboom.launch<nodepkg="gazebo_ros"type="spawn_model"name="spawn_urdf"args="-urdf-modelyahboomcar_$(argrobot_type)-x$(argx_pos)-y$(argy_pos)-z$(argz_pos)-paramrobot_description"/><!--loadthecontrollers--><!--includefile="$(findyahboomcar_gazebo)/launch/control.launch"></include--><nodename="joint_state_publisher"pkg="joint_state_publisher"type="joint_state_publisher"/><nodename="robot_state_publisher"pkg="robot_state_publisher"type="robot_state_publisher"/><nodename="rviz"pkg="rviz"type="rviz"args="-d$(findyahboomcar_gazebo)/config/rviz/yahboomcar_X3.rviz"/>
</launch>模型文件代码轮子的link<gazeboreference="back_left_wheel"><mu1value="2.0"/><mu2value="2.0"/><kpvalue="10000000.0"/><kdvalue="1.0"/><fdir1value="100"/><material>Gazebo/Black</material></gazebo>插件<gazebo><pluginname="mecanum_controller"filename="libgazebo_ros_planar_move.so"><robotNamespace>/</robotNamespace><commandTopic>cmd_vel</commandTopic><odometryTopic>odom</odometryTopic><odometryFrame>odom</odometryFrame><leftFrontJoint>front_left_joint</leftFrontJoint><rightFrontJoint>front_right_joint</rightFrontJoint><leftRearJoint>back_left_joint</leftRearJoint><rightRearJoint>back_right_joint</rightRearJoint><odometryRate>60.0</odometryRate><robotBaseFrame>base_link</robotBaseFrame></plugin></gazebo>激光雷达配置<gazeboreference="laser_link"><sensortype="ray"name="head_hokuyo_sensor"><pose>000000</pose><visualize>false</visualize><update_rate>40</update_rate><ray><scan><horizontal><samples>720</samples><resolution>1</resolution><min_angle>-1.570796</min_angle><max_angle>1.570796</max_angle></horizontal></scan><range><min>0.10</min><max>30.0</max><resolution>0.01</resolution></range>激光雷达配置<noise><type>gaussian</type><!--NoiseparametersbasedonpublishedspecforHokuyolaserachieving"+-30mm"accuracyatrange<10m.Ameanof0.0mandstddevof0.01mwillput99.7%ofsampleswithin0.03mofthetruereading.--><mean>0.0</mean><stddev>0.01</stddev></noise></ray><pluginname="gazebo_ros_head_hokuyo_controller"filename="libgazebo_ros_laser.so"><topicName>/scan</topicName>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包头轻工校车削加工技能(劳动版)教案学习情境二车削台阶轴类零件-子学习情境一认识车刀
- 《麻绳》小班美术教案 - 幼儿园美术教案
- 《液压传动》教案(劳动版)
- 临时广告投放合同
- 城市轨道交通招投标详解
- 生态农业发展公益林管理计划
- 电子商务平台交易信息保护规定
- 餐饮业宿舍电费管理规则
- 城市污水处理厂改造协议
- 企业社会责任激励管理办法
- 高考心态调整:时刻准备迎接挑战
- 国家开放大学一网一平台电大《当代中国政治制度》形考任务1-4网考题库及答案
- 八年级语文双向细目表
- 半月板损伤的康复
- 机电运输专项检查实施方案
- 英语语法与长难句理解知到章节答案智慧树2023年山东石油化工学院
- 矩阵论智慧树知到答案章节测试2023年哈尔滨工程大学
- 淮剧专题讲座
- 《中国字中国人》
- GMP质量管理体系文件 中药材洗、润、切制SOP
- 贵州茅台酒全国经销商信息汇总
评论
0/150
提交评论