目录
1.solidworks建立模型
2.solidworks的模型导出urdf文件
3.urdf文件转成xacro文件
4.为模型添加运动控制插件、雷达插件
5.使用gmapping建图
1.solidworks建立模型
教程:
此处根据自己的需要建立模型,如果不会solidworks的使用可以去b站看教程,推荐:https://www.bilibili.com/video/BV1iw411Z7HZ/?spm_id_from=333.337.search-card.all.click&vd_source=37c974e2dbe4c38b0a56386961efe9bb
注意事项:
模型最好与水平的基准面平行,详细注意事项及解决参看2中的教程1^v67^js_top,201^v3^control_2,213^v2^t3_esquery_v1&spm=1018.2226.3001.4187
2.solidworks的模型导出urdf文件
教程:
此处参考
教程1:
教程2:
注意事项:
1.导出后要检查雷达的关节是否是固定的(fixed),不能是continues,应该是:(注意看type后面是fixed,不然雷达会乱晃)
<joint
name="sensor_joint"
type="fixed">
<origin
xyz="0 0 0.2"
rpy="0 0 0" />
<parent
link="base_link" />
<child
link="sensor_link" />
<axis
xyz="0 0 0" />
</joint>
3.urdf文件转成xacro文件
教程:
此处参考
^v67^js_top,201^v3^control_2,213^v2^t3_esquery_v1&spm=1018.2226.3001.4187
其实就是按照教程加一句xmlns:xacro="http://www.ros.org/wiki/xacro" 并修改该文件的后缀为xacro,比如原来叫car.urdf,现在改成car.urdf.xacro
4.为模型添加运动控制插件、雷达插件
(首先得有个工作空间,可以网上搜一搜如何建立,如果想详细了解可以看b站up主:机器人工匠阿杰 的ros入门教程)
教程:
此处参考b站赵虚左老师的教程的第六章运动控制和雷达仿真部分,也就是p282-284,指路:
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=282&vd_source=37c974e2dbe4c38b0a56386961efe9bb
注意事项:
1.运动控制部分,写move.xacro的时候,在复制完第一段代码以后,跟着赵老师改动二段代码,如果我们是四轮的则要设置四个轮子,例如我的是:
<xacro:joint_trans joint_name="wheel1_joint" />
<xacro:joint_trans joint_name="wheel2_joint" />
<xacro:joint_trans joint_name="wheel3_joint" />
<xacro:joint_trans joint_name="wheel4_joint" />
2.赵老师的平台是2轮的,如果我们是使用的四轮的,则运动控制部分写move.xacro的时候,第三段代码应该使用skid那一个(赵老师视频里提到了,在官网直接复制),复制完以后根据自己的模型,设置各个位置车轮关节对应哪个关节的名字,例如我的是:
<leftFrontJoint>wheel1_joint</leftFrontJoint>
<rightFrontJoint>wheel3_joint</rightFrontJoint>
<leftRearJoint>wheel2_joint</leftRearJoint>
<rightRearJoint>wheel4_joint</rightRearJoint>
根据自己的模型的轮距和车轮直径改动:
<wheelSeparation>0.65</wheelSeparation>
<wheelDiameter>0.1</wheelDiameter>
3.如果你导出urdf的时候参照的是我前面列出的教程,那么你平台的坐标系可能是叫base_link,而赵老师教程里平台的坐标系是base_footprint,记得也要修改成自己对应的名字。
4.复制完官网的四轮的运动控制代码以后,对比赵老师的代码发现还少了三句,所以要自己加上:
<commandTopic>cmd_vel</commandTopic>
<odometryFrame>odom</odometryFrame>
<odometryTopic>odom</odometryTopic>
这样之后打开rviz才有odom这个选项
5.这里还有一个比较玄学的东西是,你做完上述步骤以后发现一运行就有问题,可以试试把代码里的注释都删了。我就是这么解决了打开rviz然后坐标系选项里没有odom这个问题,感觉很玄学,请有知道为什么的uu可以告诉我
5.使用gmapping建图
教程:
参考b站赵虚左老师的教程的第七章导航实现部分
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=298&vd_source=37c974e2dbe4c38b0a56386961efe9bb
前后历时五天多,试了三个版本的教程,终于成功了,感动呜呜呜
感谢各位前辈无私的经验分享,以及夸一夸赵虚左老师真的强!