ROS建图导航小车whbot
本文最后更新于:2022年5月29日 上午
本文记录了使用维航科技的Ros小车的方法步骤。
预期效果
1、树莓派通过串口与STM32核心板进行通信,树莓派通过WiFi与PC端进行通信;
2、小车启动,通过PC端键盘控制小车移动进行建图;
3、建图完成,保存地图;
4、在PC端设定目标点,小车自动导航选择最短路径进行移动。
基础环境
PC端Ubuntu16.04系统、树莓派3B+
树莓派安装Ubuntu mate
下载镜像文件
点击下载地址下载镜像。
烧写镜像
1)插入SD卡,输入df -h
查看设备号,我这里显示的是:/dev/sdc
2)输入命令,开始烧写镜像
1 |
|
大概等待二十分钟左右完成。
配置7寸显示器。
烧写完成后,打开TF卡根目录的config.txt文件,在config.txt最后加入以下代码,保存并安全弹出TF卡。
1 |
|
开启远程登录
树莓派安装完ubuntu mate后,需要开启远程登录
1)打开终端
2)sudo raspi-config
3)进入第三项
4)选则p2回车
5)选择yes回车
6)等待完成回车确认
7)退出配置,ps -e | grep ssh
看到ssh开启
8)sudo nano /etc/ssh/sshd_config
9)找到 “PermitRootLogin without-password” 或者 “PermitRootLogin prohibit-password”
10)修改成 “PermitRootLogin yes”
11)重启SSH服务sudo service ssh restart
1,PC端连接树莓派3B+
1 |
|
2,ROS多机的通信配置
连通树莓派和PC端
设定树莓派跟PC为同一网段(树莓派开启热点,PC端连接),之后互相ping一下是否连通。连通再进行下面步骤。
设置PC端Ubuntu系统
1)终端输入 ifconfig
查看ip地址。
2)修改/etc/hosts文件:
1 |
|
在文件最后添加:
1 |
|
保存退出,重启。
树莓派设置
1)终端输入 ifconfig 查看ip地址。
2)修改/etc/hosts文件:
1 |
|
在文件最后添加:
1 |
|
保存退出,重启。
在PC端配置ros
修改~/.bashrc文件:
1 |
|
在文件最后添加下面两行:
1 |
|
在树莓派配置ros
修改~/.bashrc文件:
1 |
|
在文件最后添加下面两行:
1 |
|
注意事项:
roscore命令在主机运行,不能在从机运行,否则会报错。
比如把PC端当主机,则ros的主节点ip要设置成PC端的ip,如:192.168.11.236
运行时必须在这个主机上运行roscore。
3,键盘控制小车移动
1、打开终端,通过ssh连接树莓派,运行命令:
1 |
|
2、再打开一个终端,通过ssh连接树莓派,运行命令:
1 |
|
3、根据提示,按下对应的键盘控制机器人移动。
4,小车建图
1、树莓派上运行命令:
1 |
|
2、PC端Ubuntu上运行命令:
1 |
|
3、再开一个树莓派终端运行控制命令:
1 |
|
然后通过键盘控制小车构建地图。
4、运行下面命令保存建好的地图:(my_lab.yaml为自定义名称)
1 |
|
5,小车导航
1、在树莓派运行:
1 |
|
2、在控制PC端运行:
1 |
|
3、需要先指定机器人的初始化位置(选择2D Pose Estimate选项进行调整),然后选择2D Nav Goal选项选择目标点进行导航测试。
6,动态调节参数
在控制PC端运行:
1 |
|