AMR小车简单使用

平台

  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

minicom设置
  选择serial port setup
串口设置
  将Serial Device更改为/dev/ttyUSB0(可以通过命令确定是不是USB0),Bps/Par/Bits更改为115200 8N1,将Hardware Flow Control更改为no

登录

  输入指令即可进入AMR工控机:

1
sudo minicom

  按下确定,然后输入用户名和密码即可。
登录
  注:如果出错或者没反映,请检查串口是否正确!

退出

  依次输入ctrl+Aq即可退出。

修改局域网名称

  利用串口通讯软件进入AMR,并打开AMR/etc/wpa_supplicant/wpa_supplicant.conf文件(没有则新建),修改内容如下:

1
2
3
4
5
6
7
8
ctrl_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

  要保证AMRPC在一个局域网。
  注:重装完系统后,要将之前建立的局域网信息清除掉:

1
ssh-keygen -R "targetIP"

SLAM建图

环境配置

参数配置

  首先将hontai文件夹放置在PC的根目录下(不要放置在Home文件夹),然后打开/hontai/params/studio.ini配置文件,修改uuidIP地址:
PC地图配置文件
  其中uuid为机器人型号,本博客使用的是zerg003,修改[Comm2]中的hostPCIP地址。
  然后进入AMR终端,打开/hontai/params/config_site.ini配置文件,修改uuidIP地址:
AMR地图配置文件
  其中uuidPC保持一致,serverIpPCIP的地址。(这里图片地址错了)
  注:AMR中的文件只能用vim编译器打开编译。

开始建图

  ARM端在/hontai目录,执行start.sh脚本文件:

1
./start.sh

  此时,AMR会播放语音提示:正在重定位。
  同时PC端在/hontai目录,执行openStudio.sh脚本文件:

1
./openStudio.sh

  打开后会出现地图界面,会显示目前的点云数据。
  注:如果没有显示点云数据,请检查studio.iniconfig_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米,因此如果大于此间距,需要在中间插入点,例如,我在路径AB之间要插入点,选择选择工具,选中AB路径这条线,然后右击选择插入点,设置要插入点的个数,并选择双向路径。其余路径类似。最终设置的效果如图所示:
最终地图效果
  最后点击文件->保存即可。
  保存完的地图需要复制到PCAMR中的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
5
use 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
3
mysql -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
4
export 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查看是否开启进程:
java部署命令
  这里stop.sh的脚本文件可能会出现错误,只要关闭后,ps aux | grep java显示一个即可。

Web apps部署

  将apps.zip解压到Home文件夹下,然后输入开启命令:

1
sh start.sh

  然后打开网址http://PC_IP:5000/#/index,进入Web部署。
  注:和javapro类似,apps也可以通过命令查看是否开启:
apps部署命令

上传地图

  打开mapEditor中的index,进入地图编辑工具,选择文件->发布至调度,上传至调度中心:
上传地图
  更改其中的调度地址和地图名称,其中调度地址的IPPCIP
  打开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连接线
  键盘鼠标
  

正式安装

  将启动盘插入AMRUSB口,打开电源,并按DelF9进入BIOS界面。
BIOS界面
  进入Boot选项,并选择U盘做为启动项。
设置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镜像拷贝,进入拷贝界面。
镜像拷贝

安装完操作

配置网络

配置激光雷达IP

谢谢老板!
-------------本文结束感谢您的阅读给个五星好评吧~~-------------