平台
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镜像拷贝,进入拷贝界面。