赞
踩
1.在windows中下载好远程连接工具:xshell、puty1
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.先打开虚拟机→进行网络配置→ifconfig查看ubuntu和robot的ip.
2.让两个机器互ping,即在Ubuntu中打开终端,输入
bingda@ubuntu: sudo ping 192.168.9.1
用xshell登录ROS机器人后,去ping电脑
3.配置分布式,在pc端进行:
bingda@ubuntu: sudo gedit.bashrc
将ROS_MASTER_URI的ip改为机器人的ip(wifi模式下-实际ip;AP模式下-192.168.9.1)
4.配置完成后,重新加载文件:
bingda@ubuntu:sudo source.bashrc
5.这时pc和robot之间的分布式通讯就完成了,可以在pc端去订阅机器人的话题。
检查:
robot:
bingda@robot:sudo roscore
pc:
bingda@ubuntu:sudo rostopic list //查看是否能订阅robot发布的话题
1.因为robot没有断电保护,所以每次关机重启后,它的时间不能与真实时间对应上,而我们的pc是能够连接外网,能够通过ntp服务器进行时间校准
2.如果在实验中pc没有外网环境,先帮pc获取一个外网环境,然后安装一个ntp服务器:
bingda@ubuntu:sudo apt install ntp
3.把我们的pc当成一个ntp服务器,robot去根据pc进行自身的时间校准:
bingda@robot:sudo ntpdate 192.168.x.x //每个人电脑分配的ip不同,这里以自己的pc的ip为准
4.如果发现robot无法通过pc进行时间校准,则手动校准时间:
bingda@robot:sudo date --s=" 2022-04-03 20:13:20"
注意事项:连接robot的热点的时候,因为robot自建的热点没有网络连接,所以有些windows的wifi连接会自动去寻求有网络的热点进行连接,这个时候记得对其他热点取消“自动连接”。
robot:
启动激光雷达
bingda@robot:roslaunch robot_navigation lidar.launch
查看发布的话题,寻找雷达/scan
bingda@robot:rostopic list
打印雷达扫描的数据
bingda@robot:rostopic echo /scan
pc:
用rviz查看图像
bingda@ubuntu:roslaunch robot_navigation lidar_rviz.launch
robot:
会话1:
bingda@robot:roslaunch robot_navigation robot_slam_laser.launch
pc:
bingda@ubuntu:roslaunch robot_navigation slam_rviz.launch
robot:
会话2:
查看地图文件
bingda@robot:roscd robot_navigation/maps
保存map:
bingda@robot:rosrun map_server map_saver -f map
robot:
用的是上一张我们已经保存好的图
bingda@robot:roslaunch robot_navigation robot_navigation.launch
pc:
bingda@ubuntu:roslaunch robot_navigation navigation_rviz.launch
激光雷达扫描的障碍物基本与刚刚建立的map一致
用2D Nav Goal指向我们的目标地
robot会自动规划路径并行驶到目标点处
相关算法和基础知识可以去以下网站中学习:
链接: ROS机器人相关学习视频.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。