网站建设管理教程,个人引擎网站什么做,网站备案查询验证码错误,公司建网站怎么做https://download.csdn.net/download/qq_45685327/87718396
在前面小车底盘基础之上#xff0c;添加摄像头和雷达传感器。
0.底盘实现
deamo02_base.xacro
!--使用 xacro 优化 URDF 版的小车底盘实现#xff1a;实现思路:1.将一些常量、变量封装为 xacro:property比如…https://download.csdn.net/download/qq_45685327/87718396
在前面小车底盘基础之上添加摄像头和雷达传感器。
0.底盘实现
deamo02_base.xacro
!--使用 xacro 优化 URDF 版的小车底盘实现实现思路:1.将一些常量、变量封装为 xacro:property比如:PI 值、小车底盘半径、离地间距、车轮半径、宽度 ....2.使用 宏 封装驱动轮以及支撑轮实现调用相关宏生成驱动轮与支撑轮--
!-- 根标签必须声明 xmlns:xacro --
robot namemy_base xmlns:xacrohttp://www.ros.org/wiki/xacro!-- 封装变量、常量 --xacro:property namePI value3.141/!-- 宏:黑色设置 --material nameblackcolor rgba0.0 0.0 0.0 1.0 //material!-- 底盘属性 --xacro:property namebase_footprint_radius value0.001 / !-- base_footprint 半径 --xacro:property namebase_link_radius value0.1 / !-- base_link 半径 --xacro:property namebase_link_length value0.08 / !-- base_link 长 --xacro:property nameearth_space value0.015 / !-- 离地间距 --!-- 底盘 --link namebase_footprintvisualgeometrysphere radius${base_footprint_radius} //geometry/visual/linklink namebase_linkvisualgeometrycylinder radius${base_link_radius} length${base_link_length} //geometryorigin xyz0 0 0 rpy0 0 0 /material nameyellowcolor rgba0.5 0.3 0.0 0.5 //material/visual/linkjoint namebase_link2base_footprint typefixedparent linkbase_footprint /child linkbase_link /origin xyz0 0 ${earth_space base_link_length / 2 } //joint!-- 驱动轮 --!-- 驱动轮属性 --xacro:property namewheel_radius value0.0325 /!-- 半径 --xacro:property namewheel_length value0.015 /!-- 宽度 --!-- 驱动轮宏实现 --xacro:macro nameadd_wheels paramsname flaglink name${name}_wheelvisualgeometrycylinder radius${wheel_radius} length${wheel_length} //geometryorigin xyz0.0 0.0 0.0 rpy${PI / 2} 0.0 0.0 /material nameblack //visual/linkjoint name${name}_wheel2base_link typecontinuousparent linkbase_link /child link${name}_wheel /origin xyz0 ${flag * base_link_radius} ${-(earth_space base_link_length / 2 - wheel_radius) } /axis xyz0 1 0 //joint/xacro:macroxacro:add_wheels nameleft flag1 /xacro:add_wheels nameright flag-1 /!-- 支撑轮 --!-- 支撑轮属性 --xacro:property namesupport_wheel_radius value0.0075 / !-- 支撑轮半径 --!-- 支撑轮宏 --xacro:macro nameadd_support_wheel paramsname flag link name${name}_wheelvisualgeometrysphere radius${support_wheel_radius} //geometryorigin xyz0 0 0 rpy0 0 0 /material nameblack //visual/linkjoint name${name}_wheel2base_link typecontinuousparent linkbase_link /child link${name}_wheel /origin xyz${flag * (base_link_radius - support_wheel_radius)} 0 ${-(base_link_length / 2 earth_space / 2)} /axis xyz1 1 1 //joint/xacro:macroxacro:add_support_wheel namefront flag1 /xacro:add_support_wheel nameback flag-1 //robot1.摄像头和雷达 Xacro 文件实现
摄像头 xacro 文件:
deamo03_camera.xacro
!-- 摄像头相关的 xacro 文件 --
robot namemy_camera xmlns:xacrohttp://wiki.ros.org/xacro!-- 摄像头属性 --xacro:property namecamera_length value0.01 / !-- 摄像头长度(x) --xacro:property namecamera_width value0.025 / !-- 摄像头宽度(y) --xacro:property namecamera_height value0.025 / !-- 摄像头高度(z) --xacro:property namecamera_x value0.08 / !-- 摄像头安装的x坐标 --xacro:property namecamera_y value0.0 / !-- 摄像头安装的y坐标 --xacro:property namecamera_z value${base_link_length / 2 camera_height / 2} / !-- 摄像头安装的z坐标:底盘高度 / 2 摄像头高度 / 2 --!-- 摄像头关节以及link --link namecameravisualgeometrybox size${camera_length} ${camera_width} ${camera_height} //geometryorigin xyz0.0 0.0 0.0 rpy0.0 0.0 0.0 /material nameblack //visual/linkjoint namecamera2base_link typefixedparent linkbase_link /child linkcamera /origin xyz${camera_x} ${camera_y} ${camera_z} //joint
/robot雷达 xacro 文件:
deamo04_laser.xacro
!--小车底盘添加雷达
--
robot namemy_laser xmlns:xacrohttp://wiki.ros.org/xacro!-- 雷达支架 --xacro:property namesupport_length value0.15 / !-- 支架长度 --xacro:property namesupport_radius value0.01 / !-- 支架半径 --xacro:property namesupport_x value0.0 / !-- 支架安装的x坐标 --xacro:property namesupport_y value0.0 / !-- 支架安装的y坐标 --xacro:property namesupport_z value${base_link_length / 2 support_length / 2} / !-- 支架安装的z坐标:底盘高度 / 2 支架高度 / 2 --link namesupportvisualgeometrycylinder radius${support_radius} length${support_length} //geometryorigin xyz0.0 0.0 0.0 rpy0.0 0.0 0.0 /material nameredcolor rgba0.8 0.2 0.0 0.8 //material/visual/linkjoint namesupport2base_link typefixedparent linkbase_link /child linksupport /origin xyz${support_x} ${support_y} ${support_z} //joint!-- 雷达属性 --xacro:property namelaser_length value0.05 / !-- 雷达长度 --xacro:property namelaser_radius value0.03 / !-- 雷达半径 --xacro:property namelaser_x value0.0 / !-- 雷达安装的x坐标 --xacro:property namelaser_y value0.0 / !-- 雷达安装的y坐标 --xacro:property namelaser_z value${support_length / 2 laser_length / 2} / !-- 雷达安装的z坐标:支架高度 / 2 雷达高度 / 2 --!-- 雷达关节以及link --link namelaservisualgeometrycylinder radius${laser_radius} length${laser_length} //geometryorigin xyz0.0 0.0 0.0 rpy0.0 0.0 0.0 /material nameblack //visual/linkjoint namelaser2support typefixedparent linksupport /child linklaser /origin xyz${laser_x} ${laser_y} ${laser_z} //joint
/robot2.组合底盘摄像头与雷达的 xacro 文件
deamo05_xacrocar.xacro
!-- 组合小车底盘与摄像头与雷达 --
robot namexacrocar xmlns:xacrohttp://wiki.ros.org/xacroxacro:include filenamedeamo02_base.xacro /xacro:include filenamedeamo03_camera.xacro /xacro:include filenamedeamo04_laser.xacro /
/robot3.launch 文件
demo06_xacrocar.launch
launchparam namerobot_description textfile$(find urdf01_rviz)/urdf/xacro/deamo05_xacrocar.urdf /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 /!-- 可选:用于控制关节运动的节点 --node pkgjoint_state_publisher_gui typejoint_state_publisher_gui namejoint_state_publisher_gui //launch
4.生成的urdf文件
deamo05_xacrocar.urdf
?xml version1.0 encodingutf-8?
!-- --
!-- | This document was autogenerated by xacro from deamo05_xacrocar.xacro | --
!-- | EDITING THIS FILE BY HAND IS NOT RECOMMENDED | --
!-- --robot namexacrocarmaterial nameblackcolor rgba0.0 0.0 0.0 1.0//materiallink namebase_footprintvisualgeometrysphere radius0.001//geometry/visual/linklink namebase_linkvisualgeometrycylinder length0.08 radius0.1//geometryorigin rpy0 0 0 xyz0 0 0/material nameyellowcolor rgba0.5 0.3 0.0 0.5//material/visual/linkjoint namebase_link2base_footprint typefixedparent linkbase_footprint/child linkbase_link/origin xyz0 0 0.055//jointlink nameleft_wheelvisualgeometrycylinder length0.015 radius0.0325//geometryorigin rpy1.5705 0.0 0.0 xyz0.0 0.0 0.0/material nameblack//visual/linkjoint nameleft_wheel2base_link typecontinuousparent linkbase_link/child linkleft_wheel/origin xyz0 0.1 -0.0225/axis xyz0 1 0//jointlink nameright_wheelvisualgeometrycylinder length0.015 radius0.0325//geometryorigin rpy1.5705 0.0 0.0 xyz0.0 0.0 0.0/material nameblack//visual/linkjoint nameright_wheel2base_link typecontinuousparent linkbase_link/child linkright_wheel/origin xyz0 -0.1 -0.0225/axis xyz0 1 0//jointlink namefront_wheelvisualgeometrysphere radius0.0075//geometryorigin rpy0 0 0 xyz0 0 0/material nameblack//visual/linkjoint namefront_wheel2base_link typecontinuousparent linkbase_link/child linkfront_wheel/origin xyz0.0925 0 -0.0475/axis xyz1 1 1//jointlink nameback_wheelvisualgeometrysphere radius0.0075//geometryorigin rpy0 0 0 xyz0 0 0/material nameblack//visual/linkjoint nameback_wheel2base_link typecontinuousparent linkbase_link/child linkback_wheel/origin xyz-0.0925 0 -0.0475/axis xyz1 1 1//jointlink namecameravisualgeometrybox size0.01 0.025 0.025//geometryorigin rpy0.0 0.0 0.0 xyz0.0 0.0 0.0/material nameblack//visual/linkjoint namecamera2base_link typefixedparent linkbase_link/child linkcamera/origin xyz0.08 0.0 0.0525//jointlink namesupportvisualgeometrycylinder length0.15 radius0.01//geometryorigin rpy0.0 0.0 0.0 xyz0.0 0.0 0.0/material nameredcolor rgba0.8 0.2 0.0 0.8//material/visual/linkjoint namesupport2base_link typefixedparent linkbase_link/child linksupport/origin xyz0.0 0.0 0.115//jointlink namelaservisualgeometrycylinder length0.05 radius0.03//geometryorigin rpy0.0 0.0 0.0 xyz0.0 0.0 0.0/material nameblack//visual/linkjoint namelaser2support typefixedparent linksupport/child linklaser/origin xyz0.0 0.0 0.1//joint
/robot
5.运行launch文件查看效果
roslaunch urdf01_rviz demo06_xacrocar.launch