ros入门笔记5

针对激光雷达, ROS在sensor_msgs包中定义了专用数据结构——
LaserScan, 用于存储激光消息。
ROS的很多功能包所需要的输入是激光二维数据
三维点云降为二维数据:把大量的数据拦腰截断,只抽取其中一行的数据,重新封装为LaserScan消息
里程计根据速度对时间的积分求得
位置这种方法对误差十分敏感, 所以采取如精确的数据采集、 设备标定、 数据滤波等措施是十分必要的。
导航功能包要求机器人能够发布里程计nav_msgs/Odometry消息。
包含机器人在自由空间中的位置和速度估算值

 sudo apt-get install liburdfdom-tools
然后使用check_urdf命令对mrobot_chassis.urdf文件进行检查
还可以使用urdf_to_graphiz命令查看URDF模型的整体结构
会在当前目录下生成一个pdf文件

RGBA是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间
alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。

建议你一定要动手从无到有尝试写一个机器人的URDF
文件, 在实践中才能更加深刻理解URDF中坐标、 旋转轴、 关节类型等
关键参数的意义和设置方法
运行launch
RLException: [display_mrobot_chassis_urdf.launch] is neither a launch file in package [mrobot_description] nor is [mrobot_description] a launch file name
The traceback for the exception was written to the log file
解决:souce ~/catkin_ws/devel/setup.bash
运行launch打来了rviz但是并没有出现模型
[WARN] [1647346637.453631]: The 'use_gui' parameter was specified, which is deprecated.  We'll attempt to find and run the GUI, but if this fails you should install the 'joint_state_publisher_gui' package instead and run that.  This backwards compatibility option will be removed in Noetic.
[ERROR] [1647346637.454398]: Could not find the GUI, install the 'joint_state_publisher_gui' package
[joint_state_publisher-1] process has died [pid 11291, exit code 1, cmd /opt/ros/melodic/lib/joint_state_publisher/joint_state_publisher __name:=joint_state_publisher __log:=/home/sxg/.ros/log/bd0a21cc-a458-11ec-9868-0456e503d612/joint_state_publisher-1.log].
log file: /home/sxg/.ros/log/bd0a21cc-a458-11ec-9868-0456e503d612/joint_state_publisher-1*.log

解决:sudo apt-get install ros-melodic-joint-state-publisher-gui
然后:然后把之前launch文件中的所有joint_state_publisher换成joint_state_publisher_gui
打开rviz后没有显示模型
解决:display页面添加TF和robotmodel
模型显示不完整No transform from [base_link] to [map]
解决:在Global Options
–Fixed Frame :map
改为:
–Fixed Frame :base_link

精简模型代码: xacro是一个精简版本的URDF文件, 在xacro文件
中, 可以通过创建宏定义的方式定义常量或者复用代码, 不仅可以减少
代码量, 而且可以让模型代码更加模块化、 更具可读性。
·提供可编程接口: xacro的语法支持一些可编程接口, 如常量、 变
量、 数学公式、 条件语句等, 可以让建模过程更加智能有效。
xacro是URDF的升级版, 模型文件的后缀名由.urdf变为.xacro, 而
且在模型<robot>标签中需要加入xacro的声明:
<?xml version="1.0"?>
<robot name="robot_name" xmlns:xacro="http://www.ros.org/wiki/xacro>"

xacro定义常量
<xacro:property name="wheel_radius" value="0.033"/>
分别是名字,值
“${}”语句中
可以调用常量, 还可以使用一些常用的数学运算

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值