平台
AMR003
Ubuntu18.04
ROS Melodic
PC
环境配置
安装Ubuntu18.04
详见其他博客。
安装ROS Melodic
详见其他博客。
局域网配置
AMR
(工控机)需要和PC
(服务器)(以下均使用英文简称)处在同一个局域网,如果是第一次连接,需要进行简单的配置。
安装串口通讯软件minicom
没有局域网时,可以使用串口通讯进入AMR
。
minicom
是一个串口通信工具,就像Windows
下的超级终端,可用来与串口设备通信,并可以以root
权限登录系统。
安装
打开终端输入sudo apt-get install minicom
即可。
配置
第一次连接需要进行简单的串口配置。输入命令:1
sudo minicom -s
选择serial port setup
:
将Serial Device
更改为/dev/ttyUSB0
(可以通过命令确定是不是USB0),Bps/Par/Bits
更改为115200 8N1
,将Hardware Flow Control
更改为no
。
登录
输入指令即可进入AMR
工控机:1
sudo minicom
按下确定,然后输入用户名和密码即可。
注:如果出错或者没反映,请检查串口是否正确!
退出
依次输入ctrl+A
,q
即可退出。
修改局域网名称
利用串口通讯软件进入AMR
,并打开AMR
的/etc/wpa_supplicant/wpa_supplicant.conf
文件(没有则新建),修改内容如下:1
2
3
4
5
6
7
8ctrl_interface=/var/run/wpa_supplicant
update_config=1 # 自动读取配置
network={
ssid="WIFI-Name" # WIFI名称
psk="WIFI-Password" # WIFI密码
key_mgmt=WPA-PSK # 加密方式, 为NONE表示不加密
}
然后重启AMR
,并再次利用串口通讯软件进入AMR
,查看IP
信息,也可以进入局域网后台查看。
注:zerg
工控机里面一个局域网zerg
,密码为123456789
。
登录AMR
后续进入AMR
工控机则可以利用ssh
远程命令登录:1
ssh zerg@AMR_IP
要保证AMR
和PC
在一个局域网。
注:重装完系统后,要将之前建立的局域网信息清除掉:1
ssh-keygen -R "targetIP"
SLAM建图
环境配置
参数配置
首先将hontai
文件夹放置在PC
的根目录下(不要放置在Home
文件夹),然后打开/hontai/params/studio.ini
配置文件,修改uuid
和IP
地址:
其中uuid
为机器人型号,本博客使用的是zerg003
,修改[Comm2]
中的host
为PC
的IP
地址。
然后进入AMR
终端,打开/hontai/params/config_site.ini
配置文件,修改uuid
和IP
地址:
其中uuid
和PC
保持一致,serverIp
为PC
的IP
的地址。(这里图片地址错了)
注:AMR
中的文件只能用vim
编译器打开编译。
开始建图
ARM
端在/hontai
目录,执行start.sh
脚本文件:1
./start.sh
此时,AMR
会播放语音提示:正在重定位。
同时PC
端在/hontai
目录,执行openStudio.sh
脚本文件:1
./openStudio.sh
打开后会出现地图界面,会显示目前的点云数据。
注:如果没有显示点云数据,请检查studio.ini
和config_site.ini
配置文中的IP
地址是否正确!
然后点击地图界面中的Slam
按钮会正式开始建图,PC
端的终端窗口也会有Start Slam
信息提示。
然后将左右两边的急停按钮关闭(向外拨开),即可正式进入建图!
按下shift
会停止移动,上下左右控制方向,连续按下上下左右可以调整速度。
扫描完区域后,再次点击Slam
即可关闭建图,然后等2分钟左右,进入AMR
的/hontai/log/mapBuilder/
文件夹就可以看到刚才生成的地图(后缀为.map
的文件)。
拷贝地图
创建的地图是保存在AMR
中,无法使用地图编辑软件编辑,需要将其复制到PC
中。
这里需要使用ssh
中的scp
命令,首先需要安装服务模块:1
sudo apt-get install ssh openssh-server
其使用方式为:1
scp local_file remote_username@remote_ip:remote_file
编辑地图
打开mapEditor
中的index
,选择文件->打开
即可看到刚才建立的地图。
地图的编辑主要分为2个部分,第一个是使用清除
或者橡皮擦
工具将建图中的杂质去掉,某些边界不清楚的地方可以使用绘制点云
工具添加边界。第二个部分为确定工作路径。
找到绘制点云
工具下面的圆点,选择里面的路径点,然后在地图区域选择你所需要的位置,例如我在地图中设置一个来回跑的矩形路径,分别在相应位置设置了4
个路径点,然后点击路径
工具将两个路径点连接。
一般情况下,任意两个路径点的间距要小于1.2
米,因此如果大于此间距,需要在中间插入点,例如,我在路径A
到B
之间要插入点,选择选择
工具,选中AB
路径这条线,然后右击选择插入点
,设置要插入点的个数,并选择双向路径
。其余路径类似。最终设置的效果如图所示:
最后点击文件->保存
即可。
保存完的地图需要复制到PC
和AMR
中的map
文件夹中。(不是复制压缩包,是_.map*
4个文件)
注:打开Ubuntu
超级文件夹管理器:sudo nautilus
。
更改地图参数
在PC
的/hontai/params
中的studio.ini
文件和AMR
端的/hontai/params
中的config_site.ini
文件中的地图参数部分更改为现在的地图名。
调度系统
数据库部署
数据库管理系统安装
MySQL
是一个关系型数据库管理系统,是最流行的关系型数据库管理系统之一,在WEB
应用方面,MySQL
是最好的RDBMS
(Relational Database Management System
,关系数据库管理系统) 应用软件之一。
MySQL
是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL
所使用的SQL
语言是用于访问数据库的最常用标准化语言。MySQL
软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL
作为网站数据库。
安装方法:直接终端安装即可:1
sudo apt-get install mysql-server
更改密码
通常默认的mysql
的密码是随机的,且十分复杂,需要对其进行更改。
首先输入指令,查看当前密码:1
sudo cat /etc/mysql/debian.cnf
其中,mysql_upgrade
部分的password
就是当前的密码。1
mysql -u debian-sys-maint -p
然后输入密码进入更改密码界面。
然后依次输入以下指令:1
2
3
4
5use mysql;
update mysql.user set authentication_string=password('123') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit;
注:指令依次输入,以逗号为分隔,其中123
为新密码。
最后重启mysql
。1
sudo service mysql restart
创建/更新数据库
进入mysql
:1
2
3mysql -uroot -p
create database zegtank;
quit
导入表:1
mysql -uroot -p zegtank < zegtank.sql
验证是否部署完成:1
java -jar dis+Tab
不报错即可。
javapro调度部署
配置环境
将javapro.zip
解压到Home
文件夹下,然后打开环境变量文件:1
gedit ~/.bashrc
在最后添加以下内容:1
2
3
4export JAVA_HOME=/home/YourName/javapro/jdk1.8.0_151
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
export CATALINA_HOME=/home/YourName/javapro/apache-tomcat-8.5.29
注:这里的YourName
需改为PC
的用户名。
刷新环境变量:1
source ~/.bashrc
确定安装好Java
:1
java -version
配置调度
首先开启调度,在javapro
文件夹下,输入开启命令:1
sh start.sh
然后打开浏览器,输入网址http://PC_IP:8081/swagger-ui.html#
,选择/amr/register
,将里面的参数设置为zerg
小车的:1
2
3
4
5
6
7
8
9
10{
"ability": 0,
"activate": true,
"id": "uuid",
"length": 0.32,
"maxSpeed": 150.13,
"radius": 0.32,
"type":0,
"width": 0.24
}
注意其中的id
为之前的uuid
。然后点击execute
即可。
最后重启调度即可:1
sh stop.sh
1 | sh start.sh |
注:实际过程中如果出错,可以使用ps aux | grep java
查看是否开启进程:
这里stop.sh
的脚本文件可能会出现错误,只要关闭后,ps aux | grep java
显示一个即可。
Web apps部署
将apps.zip
解压到Home
文件夹下,然后输入开启命令:1
sh start.sh
然后打开网址http://PC_IP:5000/#/index
,进入Web
部署。
注:和javapro
类似,apps
也可以通过命令查看是否开启:
上传地图
打开mapEditor
中的index
,进入地图编辑工具,选择文件->发布至调度
,上传至调度中心:
更改其中的调度地址和地图名称,其中调度地址的IP
为PC
的IP
。
打开javapro
的调度中心,即可看到地图已经发布至调度中心:
定位
建图完成后,需要重新定位。首先进入AMR
端的hontai
文件夹,开启激光雷达:1
./start.sh
然后进入PC
端的hontai
文件夹,开启界面:1
./openstudio
在界面中点击reloc
,并选择重定位点,然后移动小车,使激光雷达的点云数据和地图中一致即可:
同时在AMR
中,进入/hontai/param
文件夹,修改config_site.ini
文件,将里面的relocate_pose
数值改为PC
中的Robot Pose
数值。
发布任务
刷新之前的2个网页界面,在apps
调度中心可以看到当前的地图和小车:
点击可以看到小车当前的状态和路径点位置。
注:如果看不到小车或小车位置明显不对,请检查地图位置和重定位点!
点击小车并新建任务,并选择任务并提交,即可看到小车运动。
注:电量不足30%时,小车不会运动。
重装AMR系统
制作系统盘
准备工具
HDMI
显示器及HDMI
连接线
键盘鼠标
正式安装
将启动盘插入AMR
的USB
口,打开电源,并按Del
或F9
进入BIOS
界面。
进入Boot
选项,并选择U
盘做为启动项。
重启后会自动进入systemback
工具进行镜像制作,选择Boot system installer
。
输入用户名:zerg
,密码123456
,进入U
盘系统。
输入startx进入界面。
输入新工控机的用户名和密码。
这里的密码均为123456
,用户名除了第一个为Zerg
,其他为zerg
。
选中原来的盘,将原来的数据删除。
正常应该有2个盘,一个是AMR
的硬盘,一个是u盘,选中AMR
的硬盘,将数据删除。(实际上只有1个盘点击后会有Delete
标记)。
选中新盘(带问号的),点击add new
按钮。
选中新盘,并将Mount point
:选择在根目录/
下,将左下角勾选后,点击change partition
。
点击next
进入下一步,选择start
镜像拷贝,进入拷贝界面。