HUSKY A200介绍
赫斯基(Husky)是一款坚固耐用,可在户外使用的无人机(UGV),适用于研究和快速成型应用。本文主要介绍从硬件到软件怎么构造husky a200机器人的导航功能。
说明:本文适合有Linux和ROS一定基础的读者阅读,主要为了阐述整个导航过程的配置都需要做什么,如果读者实际做的过程中遇到了问题,就针对问题百度、google或者CSDN去查一下具体的问题出在哪儿,毕竟不可能把每一步遇到的问题都在写在文中。
硬件层面
要实现机器人的导航功能,就需要一系列的硬件,包括机器人的主机、传感器、无线网卡等,整个车搭建完之后如下图所示。
机器人主机有两个选择,一个是husky机器人自带的MINI-ITX主机,另一个选择是NVIDAI公司的jetson tx2;本文使用MINI-ITX主机,改主机的缺点是没有GUI界面,只有一个终端,因此需要利用多机通讯来配置机器人的导航功能;如果你想使用jetson tx2,你可以参照husky官网了教程来进行配置。
链接: husky官方.
要实现导航功能,就必须使用传感器的数据,本次导航的实现使用的传感器有:日本北洋的hokuyo激光雷达、imu_um7、Load MicroStrain 3DM-GX3陀螺仪、机器人的轮式编码器(封装在车中)。
主机:
激光雷达:
注意hokuyo的供电电压是12V,机器人里有12V的供电口,如果没有单独的电源,可以去店订制相应的线给激光雷达供电。
惯性传感器:
无线网卡就使用买机器人时提供的无线网卡,不要用自己的无线网卡,husky可能无法驱动。整个硬件系统组装起来后上文所示。
软件层面
注:该部分的讲解需要读者有一定的Linux命令行以及ROS的基础,关于Linux命令行的基础主要掌握一些对于文件的操作,ROS主要是了解节点、话题、服务等名词的含义以及ROS的通讯机制。ROS的安装以及基本的教程本文不加赘述,可参照ROS官方的教程。
链接: ROS官方教程.
重装系统
首先第一步就是重装MINI-ITX系统,具体的方法在上文husky 的官网连接里都有说明,建议装Ubuntu16或者Ubuntu18这两个版本。这里主要强调几个需要注意的地方:
备份主机:
官方教程有很多备份当前系统的方法,比如做成ISO镜像,里面的方法有的也比较复杂,所以不建议备份整个系统,这里主要需要备份两个文件夹,interfaces文件里面配置了机器人的无线网卡与WIFI的连接(配置完成之后就不用每次都在终端重新输入命令行来配置网络),第二个文件夹里面包含了机器人开机之后会自动启动的ROS节点这两个文件如果不备份的话重装系统之后系统开机将不会有任何的ROS信息(通讯指示灯为红色)。如果需要自定义自己的启动文件这里就必须注意没多一个launch文件,就要在.installed_files文件中加入对应的文件名(顺序也必须对应),不然机器人就无法通讯(通讯指示灯为红色)。网络环境的配置就按照备份文件的配置即可。
文件:
位置 | 描述 |
---|---|
/etc/network/interfaces | 机器人的网络环境配置 |
/etc/ros/kinetic/ros.d/*.launch | 机器人开机自启动文件 |
开机自启动文件夹:
配置自启动的launch文件:
网格配置(interfaces文件):
// 文件配置,启动了一个无线网卡,输入需要连接的wifi名字以及wifi密码
auto wlan0
iface wlan0 inet dhcp
wpa-ssid HIT_E304_2.4G
wpa-psk zhinengjiqiren
重装主机
下面的链接里有Ubuntu16的ISO镜像文件,重装的过程主要分成以下几个步骤:
链接: ISO镜像文件.
-
下载镜像文件;
-
使用刻录镜像文件的软件刻录镜像到自己的U盘当中(这个过程和装双系统Ubuntu的过程很相似),楼主使用的是UltraISO,刻录的方法与刻录Ubuntu系统的方法一样,这里不加赘述;
-
开始重装系统,插入U盘,MINI-ITX进行BIOS界面的方法是按F5,进入BIOS界面之后选择自己的U盘,然后一直跟着提示走就行,重装的过程中保证机器人一直在有网的状态下进行(使用网线连接),持续的时间可能会比较久,建议将机器人充满电之后重装;
-
测试机器人的通讯,确保所有的外设都连接在机器人上。给机器人装一个显示器和一个键盘,开机,机器人的用户名是administrator,密码是clearpath。在终端进行下列操作:
连接外围设备:
rosrun husky_bringup install
要测试您的配置,请使用以下命令启动后台服务:
sudo systemctl start ros
沙哑的COMM指示灯应从红色变为绿色;
矫正磁力计,husky将在校准过程中自动旋转。确保拔下所有外部电缆,并且哈士奇在1米半径范围内有无障碍的移动空间。这里必须通过ssh在Husky计算机上远程执行校准脚本(在下文有具体介绍):
rosrun husky_bringup calibrate_compass
至此,机器人硬件部分介绍完毕。
导航配置
机器人软件层面主要介绍,husky多机通讯、远程控制的配置以及机器人导航功能的配置。
husky远程控制
使用ssh工具实现远程控制,使用自己的电脑作为客户端;把机器人当作服务器,打开客户端的Ubuntu终端下载ssh客户端:
sudo apt-get install openssh-client
启动客户端和服务器ssh:
sudo /etc/init.d/ssh start
在客户端终端输入以下命令行进行远程控制:
//ssh 客户端用户名@服务器ip地址
ssh administrator@192.168.1.196
输入服务器密码即可远程控制服务器。
ROS多机通讯
要更改客户端(以下称主机)和服务器(以下称机器人)的网络配置文件。
1.配置主机:
首先你要知道主机的名字和ip地址,查询的方法如下:
//lm-QiTianM5900-D134就是你的主机名字——主机名字
lm@lm-QiTianM5900-D134:~$ hostname
lm-QiTianM5900-D134
//inet 地址:192.168.1.153就是你的ip地址——主机ip
lm@lm-QiTianM5900-D134:~$ ifconfig
enp4s0 Link encap:以太网 硬件地址 f4:4d:30:7a:75:99
UP BROADCAST MULTICAST MTU:1500 跃点数:1
接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
发送数据包