冰达ROS机器人使用-实现slam建模、自主导航、避障
冰达ROS机器人使用—实现slam建模、自主导航、避障
一、使用前准备工作
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
二、完成ROS分布式通讯配置
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发布的话题
三、机器人和PC时间同步(每次机器人开机都需要校准时间!!!)
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会自动规划路径并行驶到目标点处
七、SLAM建图方法切换、局部最优路径选择、OPENCV边缘检测等
相关算法和基础知识可以去以下网站中学习:
链接: ROS机器人相关学习视频.
ROS机器人用户资料_2021链接: 链接:链接:https://pan.baidu.com/s/1zAD61zyOMpXGxfw2dJhPOA
提取码:love ↩︎ ↩︎ ↩︎
冰达ROS机器人使用-实现slam建模、自主导航、避障相关推荐
- 麦克纳姆轮和ROS系统结合实现自主导航避障
转载请注明出处:麦克纳姆轮和ROS系统结合实现自主导航避障_古道云的博客-CSDN博客_麦克纳姆ros导航 之前做了一个麦克纳姆轮和ROS操作系统结合实现自主导航避障的项目, 虽然中间经历了很多困难, ...
- 如何选择ROS机器人平台进行SLAM导航入门:SLAM与ROS的关系
1.SLAM与ROS的关系 1.1.关于SLAM 在了解SLAM之前,需要先对机器人有一个整体的认识.机器人是一个复杂的装置,涉及到执行机构.感知.决策等主要环节.机器人上的配备的常用执行机构有轮式运 ...
- 避障机器人程序c语言,移动机器人的避障实验设计+源程序+流程图.doc
移动机器人的避障实验设计源程序流程图 移动机器人的避障实验设计+源程序+流程图 摘要:随着科学技术的日益,机器人越来越融入到人们的生活.近年来,特别是智能机器人的开发与研究引起了很多学者的关注.其中, ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹红外避障综合实验
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...
- 南山驿站机器人_波士顿动力机器人即将商用,可自动避障且会跳舞
波士顿动力计划让它的第一台机器人走出实验室.自六月份以来,这家公司一直在考虑公开Spot机器人(也就是之前的SpotMini).近日它终于公开了相关的细节.该公司暂时并不打算出售Spot,但如果某家公 ...
- 基于ROS机器人的3D物体识别与三维重建(一) 介绍篇
基于ROS机器人的3D物体识别与三维重建(一) 介绍篇 由来:清理电脑硬盘,发现了当时做毕设的一些资料,所以打算整理一下资料和代码写成专栏,记录下当时的暗金岁月,尽管现在实验室的做的项目已经不是这个方 ...
- ros自己写避障算法_slam导航避障算法,让无人机自主避障教学研究迈向更高处...
随着消费级无人机技术的不断成熟,不断完善的自动避障系统可以极大的减少因操作失误而带来的各项损失,目前避障能力正逐渐成为了无人机自动化或智能化的关键点所在. 而根据无人机避障技术的原理和发展趋势,可以将 ...
- 使用RGB-D摄像机的机器人目标跟踪和避障控制设计
Control Design for Robotic Human-Following and Obstacle Avoidance Using an RGB-D Camera 摘要 1. 介绍 2.系 ...
最新文章
- 《HttpClient官方文档》2.4 多线程请求执行
- Matlab计时函数使用
- hbase RowFilter如何根据rowkey查询以及实例实现代码
- javascript BOM对象详解
- LSTM implementation explained
- rip协议的V1和V2的更新机制
- [AH/HNOI2017]大佬
- java inireader_用Java读取INI文件(带section的)
- bat 指定每一周的某一天(比如周五) 执行某一程序(比如飞鸽)
- CCF201403-2 窗口(100分)
- [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
- JAVA学习IO(1)
- markdown的基本使用方法
- 翻译: Octave 入门教程
- java有关物流管理的简历_Java开发实习生大学生简历模板
- 办理美国商务和旅游签证(B1 B2)和面签的奥秘
- 两幅图像幅度谱和相位谱替换
- 如何将npy导入matlab,如何在Matlab中读取.npy文件(How to read .npy files in Matlab)
- 如何用PS快速去除图片上的文字
- 解决在VsCode中使用CodeRunner中文乱码