当前位置:   article > 正文

冰达ROS机器人使用-实现slam建模、自主导航、避障

冰达ROS机器人使用-实现slam建模、自主导航、避障

冰达ROS机器人使用—实现slam建模、自主导航、避障

一、使用前准备工作

1.在windows中下载好远程连接工具:xshellputy1

2.机器人有两种模式:

模式说明
AP模式机器人自己创建一个热点,电脑端连接该热点,实现局域网互通
WiFi模式机器人和电脑同时连接一个路由器,实现局域网通信

ps:本文使用AP模式,因为用起来比较方便

3.在机器人AP模式下,用PC(personal computer,个人笔记本电脑)连接热点BingDa-Robot,密码为12345678. 电脑ip是机器人分配的(IPv4地址

4.下载好虚拟机工具VMware1,打开bingda的虚拟机1

5.用ubuntu登录robot:

bingda@ubuntu: ssh bingda@192.168.9.1
  • 1

二、完成ROS分布式通讯配置

1.先打开虚拟机→进行网络配置→ifconfig查看ubuntu和robot的ip.

2.让两个机器互ping,即在Ubuntu中打开终端,输入

bingda@ubuntu: sudo ping 192.168.9.1
  • 1

xshell登录ROS机器人后,去ping电脑

3.配置分布式,在pc端进行:

bingda@ubuntu: sudo gedit.bashrc
  • 1

将ROS_MASTER_URI的ip改为机器人的ip(wifi模式下-实际ip;AP模式下-192.168.9.1)

4.配置完成后,重新加载文件:

bingda@ubuntu:sudo source.bashrc
  • 1

5.这时pc和robot之间的分布式通讯就完成了,可以在pc端去订阅机器人的话题。
检查:
robot:

bingda@robot:sudo roscore 
  • 1

pc:

bingda@ubuntu:sudo rostopic list //查看是否能订阅robot发布的话题
  • 1

三、机器人和PC时间同步(每次机器人开机都需要校准时间!!!)

1.因为robot没有断电保护,所以每次关机重启后,它的时间不能与真实时间对应上,而我们的pc是能够连接外网,能够通过ntp服务器进行时间校准
2.如果在实验中pc没有外网环境,先帮pc获取一个外网环境,然后安装一个ntp服务器:

bingda@ubuntu:sudo apt install ntp
  • 1

3.把我们的pc当成一个ntp服务器,robot去根据pc进行自身的时间校准:

bingda@robot:sudo ntpdate 192.168.x.x //每个人电脑分配的ip不同,这里以自己的pc的ip为准
  • 1

4.如果发现robot无法通过pc进行时间校准,则手动校准时间:

bingda@robot:sudo date --s=" 2022-04-03 20:13:20"
  • 1

注意事项:连接robot的热点的时候,因为robot自建的热点没有网络连接,所以有些windows的wifi连接会自动去寻求有网络的热点进行连接,这个时候记得对其他热点取消“自动连接”。

四、启动激光雷达

robot:
启动激光雷达

bingda@robot:roslaunch robot_navigation lidar.launch
  • 1

在这里插入图片描述

查看发布的话题,寻找雷达/scan

bingda@robot:rostopic list
  • 1

打印雷达扫描的数据

bingda@robot:rostopic echo /scan
  • 1

pc:
用rviz查看图像

bingda@ubuntu:roslaunch robot_navigation lidar_rviz.launch
  • 1

在这里插入图片描述
在这里插入图片描述

五、运行激光雷达

robot:
会话1:

bingda@robot:roslaunch robot_navigation robot_slam_laser.launch
  • 1

pc:

bingda@ubuntu:roslaunch robot_navigation slam_rviz.launch
  • 1

在这里插入图片描述
robot:
会话2:
查看地图文件

bingda@robot:roscd robot_navigation/maps
  • 1

保存map:

bingda@robot:rosrun map_server map_saver -f map
  • 1

六、运行激光雷达和避障

robot:
用的是上一张我们已经保存好的图

bingda@robot:roslaunch robot_navigation robot_navigation.launch
  • 1

pc:

bingda@ubuntu:roslaunch robot_navigation navigation_rviz.launch
  • 1

激光雷达扫描的障碍物基本与刚刚建立的map一致
在这里插入图片描述
用2D Nav Goal指向我们的目标地
robot会自动规划路径并行驶到目标点处
在这里插入图片描述

七、SLAM建图方法切换、局部最优路径选择、OPENCV边缘检测等

相关算法和基础知识可以去以下网站中学习:

链接: ROS机器人相关学习视频.

在这里插入图片描述


  1. ROS机器人用户资料_2021链接: 链接:链接:https://pan.baidu.com/s/1zAD61zyOMpXGxfw2dJhPOA
    提取码:love ↩︎ ↩︎ ↩︎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/657072
推荐阅读
  

闽ICP备14008679号