HUSKY导航——从无到有

本文详细介绍了如何配置HUSKY A200机器人的导航功能,从硬件层面的搭建到软件层面的重装系统和导航配置。主要内容包括HUSKY A200的硬件介绍、Ubuntu系统重装、ROS多机通讯、远程控制以及导航功能的配置。适合具备Linux和ROS基础的读者参考。
摘要由CSDN通过智能技术生成

HUSKY A200介绍

赫斯基(Husky)是一款坚固耐用,可在户外使用的无人机(UGV),适用于研究和快速成型应用。本文主要介绍从硬件到软件怎么构造husky a200机器人的导航功能。
说明:本文适合有Linux和ROS一定基础的读者阅读,主要为了阐述整个导航过程的配置都需要做什么,如果读者实际做的过程中遇到了问题,就针对问题百度、google或者CSDN去查一下具体的问题出在哪儿,毕竟不可能把每一步遇到的问题都在写在文中。

硬件层面

要实现机器人的导航功能,就需要一系列的硬件,包括机器人的主机、传感器、无线网卡等,整个车搭建完之后如下图所示。

husky a200机器人
机器人主机有两个选择,一个是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镜像文件.

  1. 下载镜像文件;

  2. 使用刻录镜像文件的软件刻录镜像到自己的U盘当中(这个过程和装双系统Ubuntu的过程很相似),楼主使用的是UltraISO,刻录的方法与刻录Ubuntu系统的方法一样,这里不加赘述;
    在这里插入图片描述

  3. 开始重装系统,插入U盘,MINI-ITX进行BIOS界面的方法是按F5,进入BIOS界面之后选择自己的U盘,然后一直跟着提示走就行,重装的过程中保证机器人一直在有网的状态下进行(使用网线连接),持续的时间可能会比较久,建议将机器人充满电之后重装;

  4. 测试机器人的通讯,确保所有的外设都连接在机器人上。给机器人装一个显示器和一个键盘,开机,机器人的用户名是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 帧数:
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
回答: 当你在终端输入git commit -m "XXX"提交代码时,如果遇到husky > pre-commit的问题,这是由于pre-commit文件导致的提交失败。pre-commit文件是.git文件夹下的一个文件,它是pre-commit(客户端)钩子,会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则会报错。解决这个问题有以下三种方案:\[1\]\[2\]\[3\] 1. 卸载husky。可以在项目的package.json文件中删除devDependencies节点下的husky库,然后重新运行npm i命令,或者直接在项目根目录下执行npm uninstall husky --save命令。 2. 找到项目中的.git文件夹,进入hooks文件夹,找到pre-commit文件,将其删除。这样就能成功提交代码了。 3. 使用souceTree等工具提交代码时,可以检查代码风格是否符合规则,如果不符合则进行相应的修改。 #### 引用[.reference_title] - *1* [git commit 提交的时候报错husky > pre-commit hook failed (add --no-verify to bypass)的原因和一些小...](https://blog.csdn.net/CJamenc/article/details/111316791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Git提交代码报错husky 」 pre-commit](https://blog.csdn.net/qq_35695023/article/details/114022989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [git commit提交时报错husky > pre-commit (node v14.19.3)](https://blog.csdn.net/qq_24518001/article/details/128162152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值