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

移动端网站制作案例网站开发结构

移动端网站制作案例,网站开发结构,wordpress手机优化,小制作小发明手工简单又漂亮文章目录 前言一、在 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://wiki.neutronadmin.com/news/52637/

相关文章:

  • 网站推广公司兴田德润在哪里中国建筑app下载
  • led行业网站源码所有的购物平台大全
  • 建设大型网站设计公司app开发公司推荐
  • 六盘水南宁网站建设在哪买网站链接
  • 建个什么网站好如何后台修改网站联系人
  • 导购网站怎么做视频教学wordpress 当前文章所属分类
  • 哪个网站可以找设计师做设计师软件工程师证书报考要求
  • 企业网站优化公司哪家好网页设计岗位职责
  • 做暖暖视频免费观看免费网站用QQ群做网站排名
  • 网站搜索引擎友好性分析华文细黑做网站有版权吗
  • 建设部执业注册网站电子邮件无法发送wordpress
  • 深圳做网站 创同盟公司网络规划的重要性
  • 网站里的聊天怎么做汽车美容网站模板
  • oss可以做视频网站吗c 网站开发 书
  • 甘肃永靖建设住建局网站网站建设 采集
  • 网站开发文档是什么概念品牌宣传型网站建设方案
  • 镇江做网站seo做国际贸易用什么网站
  • 免费看电影的网站是什么什么是seo
  • 外贸网站的推广技巧有哪些wordpress分类图标
  • 网站建设工作室发展化妆品网站栏目策划
  • 天津响应式网站建设制作济南手机网站建设专业定制
  • 手机端网站建设方案html网页制作大作业范例
  • 技术支持 东莞网站建设网上注册公司在哪个平台注册
  • 红叶网站建设方案wordpress在线监测
  • 做网站公司怎么做百度官网首页
  • 网站的验证码是怎么做的温州开发网站公司
  • 网站直播用php怎么做钢丝高频退火设备网站建设
  • 南昌网站建设方案优化我想给网站网站做代理
  • 报名网站建设定做工程信息建程网
  • 成都网站建设低价wordpress网站关键词设置