本帖最后由 lina 于 2021-7-1 16:59 编辑
一、Launch文件介绍 1、Launch文件 rosrun命令在终端中单独启动一个节点,但一个ROS应用通常会含有多个节点,如果用rosrun启动会比较麻烦。ROS提供了 roslaunch 工具帮助我们批量启动ROS Node。 1.1、通常位于launch文件夹中,命名为.launch文件 1.2、 Launch文件是xml格式的文件 1.3、批量启动ROS Nodes,并配置Node arguments, parameters, namespaces等 1.4、可include其它的launch文件 2、lanuch文件目录介绍 2.1、bringup.launch是主控板与驱动板之间的通信接口,可以将主控与驱动板之间的节点连接起来,我们要控制电机或者获取陀螺仪数据时都要启动此文件。 2.2、lidar_slam 启动激光雷达和建图 2.3、navigate 启动单点导航 2.4、navigate_multi启动多点导航 2.5、camera.launch启动摄像头视频传输 2.6、bring_slam.launch集成了bringup.launch、lidar_slam.launch、camera.launch启动文件,直接启动此文件即可开始建图 2.7、bring_navigate.launch集成了bringup.launch、navigate.launch、camera.launch启动文件,直接启动此文件即可开始导航
二、PC下的ROS机器人操作-IMU校准 1.1、首先通过SSH连接我们的机器人小车,我这里IP是192.168.5.14 输入:$ roslaunch xrrobot bringup.launch 连接成功后我们的用户名从xrgeek变成了xrrobot 启动bringup 1.2、开启新的SSH终端
1.3、运行校准程序前必须进入imu文件夹,在该目录下进行校准才有效 输入:$roscd xrrobot/param/imu/ 1.4、运行校准程序,等待校准程序完成 输入:$rosrun imu_calib do_calib 正在校准 校准完成 三、PC下的ROS机器人操作 键盘i前进,后退j,左转l,右转w增加调线速度,x减少线速度,e增加角速度,c减少角速度
四、构建地图并保存
4.1、首先连接我们的机器人小车,我这里IP是192.168.5.14 输入:$ roslaunch xrrobot bring_slam.launch 提示:也可以单独分别启动bringup和lidar_slam效果是一样bring_slam.launch将两个launch做了融合 输入:$roslaunch xrrobot bringup.launch 输入:$roslaunch xrrobot lidar_slam.launch 4.2、这时候本机启动 $ rosrun rviz rviz 正常你会显示下图 如果你被弹出waiting for master需要检查你的master设置,在前面的课程中有讲过设置方法,请返回之前的目录 4.3、鼠标移至左上角会出现菜单 File->Open Config可以打开已经配置好的rviz文件18.04和16.04显示上略有不同操作一样,这里以16.04为例 4.4、在rviz文件夹里选择slam.rviz slam显示效果图
4.5、这时候你就可以用前面课程学的键盘控制小车的方法,控制自己的机器人来回走走看。 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py 五、保存地图 这里我们怎么保存建好的地图,也是为后边导航做铺垫。 5.1、新启一个终端(之前的导航不能关闭) 5.2、使用roscd进入maps目录 $ roscd xrrobot/maps/ 在该目录下执行 $ sh map.sh 执行完保存地图后显示的内容 六、使用机器人导航 6.1、首先连接我们的机器人小车,我这里IP是192.168.5.14 $ roslaunch xrrobot bring_navigate.launch 提示:也可以单独分别启动bringup和lidar_slam效果是一样的,bring_navigate.launch将两个launch做了融合 $roslaunch xrrobot bringup.launch $roslaunch xrrobot lidar_slam.launch 6.2、这时候本机启动 $ rosrun rviz rviz 正常你会显示下图 6.3、鼠标移至左上角会出现菜单 File->Open Config可以打开已经配置好的rviz文件,18.04和16.04显示上略有不同操作一样,这里以16.04为例 6.4、在rviz文件夹里选择navigate.rviz,就会看到前面我们保存的地图 navigate显示效果图 在打开一张地图时小车起始位置不一定和地图时吻合的,这时候我们要使用2D Pose告诉小车它现在的位置 6.5、比如我的车子在地图的这个位置(可以参考激光红点与墙的重合) 6.6、在图中点击2D Nav,然后再点击地图选中想让车子到达的位置 七、为Rviz添加一个camera 7.1、首先连接我们的机器人小车,我这里IP是192.168.5.14 $ roslaunch xrrobot camera.launch 提示:bring_navigate.launch和bring_slam.launch 已经启动了camera.launch。无需重复启动就可进行下面的操作(重复启动会报错)。 启动camera打印 7.2、这时候本机启动 $ rosrun rviz rviz 正常你会显示下图 点击Add,选择image 在image里选择Topic,就可以看到我们视频图像
|