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

access做网站友情链接qq群

access做网站,友情链接qq群,展馆设计公司排名,游戏推广员是违法的吗文章目录 前言一、在 ROS 中自定义机器人的3D模型1. 在 rviz 里查看3D模型2. xacro 二、Gazebo1. urdf 集成 gazebo2. 综合应用1). 运动控制及里程计2). 雷达仿真3). 摄像头信息仿真4). kinect 深度相机仿真5). 点云 前言 本文为11 月 25 日 ROS 学习笔记——3D 建模与仿真分为两个章节 在 ROS 中自定义机器人的3D模型Gazebo 一、在 ROS 中自定义机器人的3D模型 robot nameRobot1link namebase_linkvisualgeometrybox size0.2 .3 .1 //geometryorigin rpy0 0 0 xyz0 0 0.05 /material namewhitecolor rgba1 1 1 1 //material/visual/linklink namewheel_1visualgeometrycylinder length0.05 radius0.05 //geometryorigin rpy0 1.5 0 xyz0.1 0.1 0 /material nameblackcolor rgba0 0 0 1 //material/visual/linklink namewheel_2visualgeometrycylinder length0.05 radius0.05 //geometryorigin rpy0 1.5 0 xyz-0.1 0.1 0 /material nameblack //visual/linklink namewheel_3visualgeometrycylinder length0.05 radius0.05 //geometryorigin rpy0 1.5 0 xyz0.1 -0.1 0 /material nameblack //visual/linklink namewheel_4visualgeometrycylinder length0.05 radius0.05 //geometryorigin rpy0 1.5 0 xyz-0.1 -0.1 0 /material nameblack //visual/linkjoint namebase_to_wheel1 typefixedparent linkbase_link /child linkwheel_1 /origin xyz0 0 0 //jointjoint namebase_to_wheel2 typefixedparent linkbase_link /child linkwheel_2 /origin xyz0 0 0 //jointjoint namebase_to_wheel3 typefixedparent linkbase_link /child linkwheel_3 /origin xyz0 0 0 //jointjoint namebase_to_wheel4 typefixedparent linkbase_link /child linkwheel_4 /origin xyz0 0 0 //joint /robot检查书写的语法是否正确和配置是否有误 check_urdf robot1.urdf robot name is: Robot1---------- Successfully Parsed XML ---------------root Link: base_link has 4 child(ren)child(1): wheel_1child(2): wheel_2child(3): wheel_3child(4): wheel_4以图形的方式来查看 urdf_to_graphiz robot1.urdf Created file Robot1.gvCreated file Robot1.pdfevince Robot1.pdf1. 在 rviz 里查看3D模型 创建 .launch 文件 launcharg namemodel /arg namegui defaultFalse /param namerobot_description textfile$(arg model) /param nameuse_gui value$(arg gui) /node namejoint_state_publisher pkgjoint_state_publisher typejoint_state_publisher /node namerobot_state_publisher pkgrobot_state_publisher typerobot_state_publisher / /launch启动命令 roslaunch robot1_description display.launch model:$(rospack find robot1_description)/urdf/robot1.urdf添加一些组件 /jointlink namearm_base visual geometry box size0.1 .1 .1/ /geometry origin rpy0 0 0 xyz0 0 0.1/ material namewhite color rgba1 1 1 1/ /material /visualcollision geometry box size0.1 .1 .1/ /geometry /collisioninertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /linkjoint namebase_to_arm_base typecontinuous parent linkbase_link/ child linkarm_base/ axis xyz0 0 1/ origin xyz0 0 0/ /jointlink namearm_1 visual geometry box size0.05 .05 0.5/ /geometry origin rpy0 0 0 xyz0 0 0.25/ material namewhite color rgba1 1 1 1/ /material /visual collision geometry box size0.05 .05 0.5/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /linkjoint namearm_1_to_arm_base typerevolute parent linkarm_base/ child linkarm_1/ axis xyz1 0 0/ origin xyz0 0 0.15/ limit effort 1000.0 lower-1.0 upper1.0 velocity0.5/ /joint link namearm_2 visual geometry box size0.05 0.05 0.5/ /geometry origin rpy0 0 0 xyz0.06 0 0.15/ material namewhite color rgba1 1 1 1/ /material /visual collision geometry box size0.05 .05 0.5/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /link joint namearm_2_to_arm_1 typerevolute parent linkarm_1/ child linkarm_2/ axis xyz1 0 0/ origin xyz0.0 0 0.45/ limit effort 1000.0 lower-2.5 upper2.5 velocity0.5/ /joint joint nameleft_gripper_joint typerevolute axis xyz0 0 1/ limit effort1000.0 lower0.0 upper0.548 velocity0.5/ origin rpy0 -1.57 0 xyz0.06 0 0.4/ parent linkarm_2/ child linkleft_gripper/ /joint link nameleft_gripper visual origin rpy0 0 0 xyz0 0 0/ geometry mesh filenamepackage://pr2_description/meshes/gripper_v0/l_finger.dae/ /geometry /visual collision geometry box size0.1 .1 .1/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /link joint nameleft_tip_joint typefixed parent linkleft_gripper/ child linkleft_tip/ /joint link nameleft_tip visual origin rpy0.0 0 0 xyz0.09137 0.00495 0/ geometry mesh filenamepackage://pr2_description/meshes/gripper_v0/l_finger_tip.dae/ /geometry /visual collision geometry box size0.1 .1 .1/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /link joint nameright_gripper_joint typerevolute axis xyz0 0 -1/ limit effort1000.0 lower0.0 upper0.548 velocity0.5/ origin rpy0 -1.57 0 xyz0.06 0 0.4/ parent linkarm_2/ child linkright_gripper/ /joint link nameright_gripper visual origin rpy-3.1415 0 0 xyz0 0 0/ geometry mesh filenamepackage://pr2_description/meshes/gripper_v0/l_finger.dae/ /geometry /visual collision geometry box size0.1 .1 .1/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /link joint nameright_tip_joint typefixed parent linkright_gripper/ child linkright_tip/ /joint link nameright_tip visual origin rpy-3.1415 0 0 xyz0.09137 0.00495 0/ geometry mesh filenamepackage://pr2_description/meshes/gripper_v0/l_finger_tip.dae/ /geometry /visual collision geometry box size0.1 .1 .1/ /geometry /collision inertial mass value1/ inertia ixx1.0 ixy0.0 ixz0.0 iyy1.0 iyz0.0 izz1.0/ /inertial /link旋转关节 joint namearm_1_to_arm_base typerevoluteparent linkarm_base/child linkarm_1/axis xyz1 0 0/origin xyz0 0 0.15/limit effort 1000.0 lower-1.0 upper1.0 velocity0.5/ /joint2. xacro Xacro 可帮助我们压缩 URDF 文件的大小 增加文件的可读性和可维护性。它还允许我们创建模型并复用这些模型以创建相同的结构如更多的手臂和腿. 使用 xacro 声明常量避免在很多行重复定义同一个 数值 xacro:property namelength_wheel value0.05 / xacro:property nameradius_wheel value0.05 /使用常量 ${name_of_variable}: cylinder length${length_wheel} radius${radius_wheel} /将 .xacro 转换为 .urdf rosrun xacro xacro demo01_helloworld.urdf.xacrorobot namemycarlink nameleft_wheelvisualgeometrycylinder length0.0015 radius0.0325//geometryorigin rpy1.57079635 0 0 xyz0 0 0/material namewheel_colorcolor rgba0 0 0 0.3//material/visual/link!-- 3-2.joint --joint nameleft2link typecontinuousparent linkbase_link/child linkleft_wheel/!-- x 无偏移y 车体半径z z 车体高度 / 2 离地间距 - 车轮半径--origin rpy0 0 0 xyz0 0.1 -0.0225/axis xyz0 1 0//jointlink nameright_wheelvisualgeometrycylinder length0.0015 radius0.0325//geometryorigin rpy1.57079635 0 0 xyz0 0 0/material namewheel_colorcolor rgba0 0 0 0.3//material/visual/link!-- 3-2.joint --joint nameright2link typecontinuousparent linkbase_link/child linkright_wheel/!-- x 无偏移y 车体半径z z 车体高度 / 2 离地间距 - 车轮半径--origin rpy0 0 0 xyz0 -0.1 -0.0225/axis xyz0 1 0//joint/robotrosrun xacro xacro demo01_helloworld.urdf.xacro demo01_helloworld.urdf属性与运算 xacro:property namePI value3.1415927 / xacro:property nameradius value0.03 /!-- 属性调用 -- myUsePropertyxxx name${PI} / myUsePropertyxxx name${radius} /rosrun xacro xacro demo02_field.urdf.xacrorobot namemycar!-- 属性调用 --myUsePropertyxxx name3.1415927/myUsePropertyxxx name0.03/!-- 数学运算 --/robot!-- 数学运算 -- myUsePropertyyy result${PI / 2} /rosrun xacro xacro demo02_field.urdf.xacrorobot namemycar!-- 属性调用 --myUsePropertyxxx name3.1415927/myUsePropertyxxx name0.03/!-- 数学运算 --myUsePropertyyy result1.57079635//robot宏 !-- 宏定义 -- xacro:macro namegetSum paramsnum1 num2result value${num1 num2} / /xacro:macro!-- 宏调用 -- xacro:getSum num11 num25 / rosrun xacro xacro demo03_macro.urdf.xacro robot namemycarresult value6/ /robot 文件包含 xacro:include filenamedemo02_field.urdf.xacro / xacro:include filenamedemo03_macro.urdf.xacro /rosrun xacro xacro demo04_sum.urdf.xacrorobot namemycar!-- 属性调用 --myUsePropertyxxx name3.1415927/myUsePropertyxxx name0.03/!-- 数学运算 --myUsePropertyyy result1.57079635/result value6//robotxacro 集成 rviz param namerobot_description command$(find xacro)/xacro $(find urdf01_rviz)/urdf/xacro/demo05_car_base.urdf.xacro /控制移动机器人做圆周运动 launch!-- 载入 urdf 至参数服务器 --!-- param namerobot_description textfile$(find urdf01_rviz)/urdf/xacro/demo05_car_base.urdf / --param namerobot_description command$(find xacro)/xacro $(find urdf01_rviz)/urdf/xacro/car.urdf.xacro /!-- 启动 rviz --node pkgrviz typerviz namerviz args-d $(find urdf01_rviz)/config/show_mycar.rviz /!-- 添加关节状态发布节点 --node pkgjoint_state_publisher typejoint_state_publisher namejoint_state_publisher /!-- 机器人状态发布节点 --node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher /!-- 集成 arbotix 运动控制节点 --node pkgarbotix_python typearbotix_driver namedriver outputscreenrosparam commandload file$(find urdf01_rviz)/config/control.yaml /param namesim valuetrue //node /launchrostopic pub -r 10 /cmd_vel geometry_msgs/Twist linear:x: 1.0y: 0.0z: 0.0 angular:x: 0.0y: 0.0z: 1.0二、Gazebo 1. urdf 集成 gazebo 创建机器人模型 robot namemycarlink namebase_linkvisualgeometrybox size0.5 0.2 0.1 //geometryorigin xyz0.0 0.0 0.0 rpy0.0 0.0 0.0 /material nameyellowcolor rgba0.5 0.3 0.0 1 //material/visualcollisiongeometrybox size0.5 0.2 0.1 //geometryorigin xyz0.0 0.0 0.0 rpy0.0 0.0 0.0 //collisioninertialorigin xyz0 0 0 /mass value6 /inertia ixx1 ixy0 ixz0 iyy1 iyz0 izz1 //inertial/linkgazebo referencebase_linkmaterialGazebo/Red/material/gazebo/robot创建 .launch 文件 launch!-- 载入 urdf 至参数服务器 --param namerobot_description textfile$(find urdf02_gazebo)/urdf/demo01_helloworld.urdf /!-- 启动 Gazebo --include file$(find gazebo_ros)/launch/empty_world.launch /!-- 添加机器人模型 --node pkggazebo_ros typespawn_model namespawn_model args-urdf -model mycar -param robot_description / /launch仿真环境集成 launch!-- 载入 urdf 至参数服务器 --param namerobot_description command$(find xacro)/xacro $(find urdf02_gazebo)/urdf/car.urdf.xacro /!-- 启动 Gazebo --include file$(find gazebo_ros)/launch/empty_world.launcharg nameworld_name value${find urdf02_gazebo}/worlds/box_house.world //include!-- 添加机器人模型 --node pkggazebo_ros typespawn_model namespawn_model args-urdf -model mycar -param robot_description / /launch2. 综合应用 1). 运动控制及里程计 在 gazebo 中运动控制 robot namemy_car_move xmlns:xacrohttp://wiki.ros.org/xacro!-- 传动实现:用于连接控制器与关节 --xacro:macro namejoint_trans paramsjoint_name!-- Transmission is important to link the joints and the controller --transmission name${joint_name}_transtypetransmission_interface/SimpleTransmission/typejoint name${joint_name}hardwareInterfacehardware_interface/VelocityJointInterface/hardwareInterface/jointactuator name${joint_name}_motorhardwareInterfacehardware_interface/VelocityJointInterface/hardwareInterfacemechanicalReduction1/mechanicalReduction/actuator/transmission/xacro:macro!-- 每一个驱动轮都需要配置传动装置 --xacro:joint_trans joint_namebase_l_wheel_joint /xacro:joint_trans joint_namebase_r_wheel_joint /!-- 控制器 --gazeboplugin namedifferential_drive_controller filenamelibgazebo_ros_diff_drive.sorosDebugLevelDebug/rosDebugLevelpublishWheelTFtrue/publishWheelTFrobotNamespace//robotNamespacepublishTf1/publishTfpublishWheelJointStatetrue/publishWheelJointStatealwaysOntrue/alwaysOnupdateRate100.0/updateRatelegacyModetrue/legacyModeleftJointbase_l_wheel_joint/leftJoint !-- 左轮 --rightJointbase_r_wheel_joint/rightJoint !-- 右轮 --wheelSeparation${base_radius * 2}/wheelSeparation !-- 车轮间距 --wheelDiameter${wheel_radius * 2}/wheelDiameter !-- 车轮直径 --broadcastTF1/broadcastTFwheelTorque30/wheelTorquewheelAcceleration1.8/wheelAccelerationcommandTopiccmd_vel/commandTopic !-- 运动控制话题 --odometryFrameodom/odometryFrame odometryTopicodom/odometryTopic !-- 里程计话题 --robotBaseFramebase_footprint/robotBaseFrame !-- 根坐标系 --/plugin/gazebo/robotrostopic pub -r 10 /cmd_vel geometry_msgs/Twist linear:x: 1.0y: 0.0z: 0.0 angular:x: 0.0y: 0.0z: 1.0在 rviz 中查看里程计消息 launch!-- 启动 rviz --node pkgrviz typerviz namerviz args-d $(find urdf01_rviz)/config/show_mycar.rviz /!-- 添加关节状态发布节点 --!-- node pkgjoint_state_publisher typejoint_state_publisher namejoint_state_publisher / --!-- 机器人状态发布节点 --node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher //launch2). 雷达仿真 robot namemy_sensors xmlns:xacrohttp://wiki.ros.org/xacro!-- 雷达 --gazebo referencelasersensor typeray namerplidarpose0 0 0 0 0 0/posevisualizetrue/visualizeupdate_rate5.5/update_raterayscanhorizontalsamples360/samplesresolution1/resolutionmin_angle-3/min_anglemax_angle3/max_angle/horizontal/scanrangemin0.10/minmax30.0/maxresolution0.01/resolution/rangenoisetypegaussian/typemean0.0/meanstddev0.01/stddev/noise/rayplugin namegazebo_rplidar filenamelibgazebo_ros_laser.sotopicName/scan/topicNameframeNamelaser/frameName/plugin/sensor/gazebo/robot3). 摄像头信息仿真 robot namemy_sensors xmlns:xacrohttp://wiki.ros.org/xacro!-- 被引用的link --gazebo referencecamera!-- 类型设置为 camara --sensor typecamera namecamera_nodeupdate_rate30.0/update_rate !-- 更新频率 --!-- 摄像头基本信息设置 --camera nameheadhorizontal_fov1.3962634/horizontal_fovimagewidth1280/widthheight720/heightformatR8G8B8/format/imageclipnear0.02/nearfar300/far/clipnoisetypegaussian/typemean0.0/meanstddev0.007/stddev/noise/camera!-- 核心插件 --plugin namegazebo_camera filenamelibgazebo_ros_camera.soalwaysOntrue/alwaysOnupdateRate0.0/updateRatecameraName/camera/cameraNameimageTopicNameimage_raw/imageTopicNamecameraInfoTopicNamecamera_info/cameraInfoTopicNameframeNamecamera/frameNamehackBaseline0.07/hackBaselinedistortionK10.0/distortionK1distortionK20.0/distortionK2distortionK30.0/distortionK3distortionT10.0/distortionT1distortionT20.0/distortionT2/plugin/sensor/gazebo/robot4). kinect 深度相机仿真 robot namemy_sensors xmlns:xacrohttp://wiki.ros.org/xacrogazebo referencesupport sensor typedepth namecameraalways_ontrue/always_onupdate_rate20.0/update_ratecamerahorizontal_fov${60.0*PI/180.0}/horizontal_fovimageformatR8G8B8/formatwidth640/widthheight480/height/imageclipnear0.05/nearfar8.0/far/clip/cameraplugin namekinect_camera_controller filenamelibgazebo_ros_openni_kinect.socameraNamecamera/cameraNamealwaysOntrue/alwaysOnupdateRate10/updateRateimageTopicNamergb/image_raw/imageTopicNamedepthImageTopicNamedepth/image_raw/depthImageTopicNamepointCloudTopicNamedepth/points/pointCloudTopicNamecameraInfoTopicNamergb/camera_info/cameraInfoTopicNamedepthImageCameraInfoTopicNamedepth/camera_info/depthImageCameraInfoTopicNameframeNamesupport/frameNamebaseline0.1/baselinedistortion_k10.0/distortion_k1distortion_k20.0/distortion_k2distortion_k30.0/distortion_k3distortion_t10.0/distortion_t1distortion_t20.0/distortion_t2pointCloudCutoff0.4/pointCloudCutoff/plugin/sensor/gazebo/robot 5). 点云 修改配置文件的 FrameName 标签并添加坐标变换关系 frameNamesupport_depth/frameName!-- 点云坐标系到 kinect 连杆坐标系的变换 -- node pkgtf2_ros namestatic_transform_publisher typestatic_transform_publisher args0 0 0 -1.57 0 -1.57 /support /support_depth /
http://www.sczhlp.com/news/180978/

相关文章:

  • 网页设计与网站建设的课后习题答案网站定制合同
  • 网站开发 上海广州网站建设乐云seo模板中心
  • 手机网站建设专业服务公司河北省建设部网站
  • 江苏城乡和住房建设厅网站公司网站建设的不足
  • 网站开发需求分析参考文献企业网站建设的申请
  • 具有营销型网站的公司wordpress首页文章排序
  • wap网站方案封丘有做网站的吗
  • 1920网页设计尺寸规范被逆冬seo课程欺骗了
  • 留白的网站网站模板如何删除
  • 电商网站开发选题依据要想让别人网站卖我的东西怎么做
  • 重庆网站seo公司河北软文搜索引擎推广公司
  • 哪些网站可以做设计软件店铺logo设计免费
  • 个人备案的网站可以做宣传百度cdn wordpress
  • 成立网站有什么要求网页制作行为特效视频教程
  • 虹口网站建设公司网站建设服务公
  • 网站开发对企业有什么用企业制作宣传片
  • 怎么建设菠菜网站网站域名icp 备案价格
  • 中国网站设计公司个人网站创建平台要多少钱
  • 免费设计网站平台谷歌优化工具
  • 威海教育行业网站建设郑州服务设计公司网站
  • 网站制作xiu021wordpress伪静态301
  • 无线设置网站如何快速提升网站流量
  • 深圳沙井做网站公司中国设计网怎么样
  • 网站优化建设宁夏免费建立自己的网站代码
  • 网站推广优化外包公司网站建设公司行业现状
  • 连城住房和城乡建设局门户网站中铁建设集团
  • 机电建设有限公司网站新乡市建设工程信息网
  • 宜春做网站 黑酷seo邢台百姓网免费发布信息查询
  • 广州住房和建设局网站php网站开发需求文档
  • 上海网站改版网站挂马怎么处理