硬件机器人部署TARE

本文只是按照个人理解把TARE部署到硬件机器人上,并没有对源码进行相关的解读,代码解读可以参考其他博主的学习笔记。

一、硬件要求

1.1 雷达

我采用的是镭神16线三维激光雷达,这款雷达在淘宝可以搜到,但是价格略贵,雷达淘宝链接:由于雷达价格比较昂贵,大家量力而行!!!

1.2 主控

主控采用的是Jetson Nano的TX板

1.3 底层

底层控制采用stm32f4系列板

1.4 整车套件

整车套件买的是轮趣科技的阿克曼结构机器人,淘宝链接,价格也比较昂贵,量力而行!!买整车套件的好处在于:(1)无需自己写电机驱动(类似pid算法、串口通信之类的)(2)雷达驱动也是现成的 (3)上层与底层的通信是现成的。我们只需要关注自己算法的开发即可

二、环境搭建

这个可以参考CMU开源的网站,网站地址,这里面详细介绍了如何下载源码和搭建环境,这里就不再赘述。

在启动如下命令之后

roslaunch vehicle_simulator system_garage.launch

可以看到如下图所示内容,即代表仿真环境搭建成功,如果有报错则自己安装对应的功能包即可。

这个界面包含了三个部分:1、仿真地图的rviz界面(这里代码作者将gazebo显示关闭了)2、摄像头画面 3、运行时长和调用路径规划的次数

开启这个界面之后,继续运行以下命令

roslaunch tare_planner explore_garage.launch 

这里为开启TARE规划器的命令,开启后如下图所示。其中包括了rviz的一个全局地图,然后通过更新局部的way_point来引导机器人移动。

至此,TARE仿真环境完全搭建结束,可以进行自己的开发了。

三、修改话题名

由于在路径

/home/user_name/autonomous_exploration_development_environment/src/vehicle_simulator/launch/system_real_robot.launch

存在TARE团队提供给我们使用的一个可以直接使用在真实机器人上的launch文件,所以我们只需要把雷达的话题名相对应即可。

首先在自己的硬件机器人上开启三维雷达,此时只要能接收到点云数据即可,如下图,这里不需要开启建图!!!

开启之后,用rostopic list查看雷达点云的话题名,比如我的是/point_cloud_raw,然后把这个话题名复制,进入以下路径。

/home/user_name/autonomous_exploration_development_environment/src/loam_interface/launch

找到一个叫loam_interface.launch的文件,文件内容如下:

<launch>

  <node pkg="loam_interface" type="loamInterface" name="loamInterface" output="screen" required="true">
    <param name="stateEstimationTopic" type="string" value="/integrated_to_init" />
    <param name="registeredScanTopic" type="string" value="/velodyne_cloud_registered" />
    <param name="flipStateEstimation" type="bool" value="true" />
    <param name="flipRegisteredScan" type="bool" value="true" />
    <param name="sendTF" type="bool" value="true" />
    <param name="reverseTF" type="bool" value="false" />
  </node>

</launch>

把第二个参数的值/velodyne_cloud_registered修改为自己雷达的点云话题名,此处例如我自己的为/point_cloud_raw,修改后代码如下,注意第二个参数的值!!

<launch>

  <node pkg="loam_interface" type="loamInterface" name="loamInterface" output="screen" required="true">
    <param name="stateEstimationTopic" type="string" value="/integrated_to_init" />
    <param name="registeredScanTopic" type="string" value="/point_cloud_raw" />
    <param name="flipStateEstimation" type="bool" value="true" />
    <param name="flipRegisteredScan" type="bool" value="true" />
    <param name="sendTF" type="bool" value="true" />
    <param name="reverseTF" type="bool" value="false" />
  </node>

</launch>

修改成自己雷达的对应话题之后,开启雷达节点,然后开启TARE的节点

roslaunch rplidar rplidar_3d.launch #自己的雷达节点,此处不需要开建图!!
roslaunch vehicle_simulator system_real_robot.launch #开启TARE的节点

然后就可以看到下图的结果,左边为TARE环境的RVIZ视图,右边为自己硬件小车的RVIZ视图。到此,已经将雷达数据传递给了TARE的环境中。

四、TARE规划器

在第三节完成后,还需要开启底层控制节点,因为TARE规划器是需要改变/cmd_vel话题的值,通过串口发送给底层才能控制机器人运动,而底层节点不包含在TARE里,需要自行准备,这里可以参考第一节的整车套件的内容。

开启底层节点后再执行以下代码:

roslaunch tare_planner explore_matterport.launch 

这里的launch文件需要根据你的实际测试环境进行修改,如果是室外的话可以试试gexplore_garage.launch,在TARE社区里原作者给出了相关的解释,可以进行参考。开启后机器人则开启了地图探索,但有些可能会出现机器人抖动,或者探索一会就回来了,这些问题目前我也没搞懂为啥,但根据TARE社区原作者给出的解答,可以尝试不同的launch文件适配不同的参数。想要完全达到100%的成功率还需要自己对代码进行修改。

免责声明:由于我目前也只是本科大三阶段,如果按照本文操作之后不成功,还望谅解。如果有一定的ROS基础并能自己跑通gazebo仿真,理解话题之间的通信过程,我相信大部分是可以成功的。如有错误之处请批评指正。

对于零基础的同学,我的建议还是先打好基础,不要越阶挑战TARE,太伤神。

最后对整个流程进行一下梳理:

  1. 搭建仿真环境
  2. 开启自己的雷达
  3. 测试TARE的仿真环境能否收到雷达数据
  4. 开启底层节点
  5. 开启TARE规划器
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值