EAI dashgo底盘(不带陀螺仪版本)+SICK激光(选择LMS100)的ROS建图导航基础
1.安装Ubuntu
官网下载镜像,这里选择长期维护版本14.04,官方下载地址:
https://www.ubuntu.com/download/alternative-downloads
用软碟通ISO做一个Ubuntu镜像,软碟通中国网址:
https://cn.ultraiso.net/
制作Ubuntu镜像的步骤百度经验有参考,网址:
https://jingyan.baidu.com/article/d5c4b52be79960da560dc59f.html
安装完成后,可以做一下Ubuntu系统简化处理,安装输入法以及卸载不常用的软件,让系统更简洁。参考网址:
https://blog.csdn.net/batman_0331/article/details/43638813
2.安装ROS
这里选择indigo版本,ROS indigo和 Ubuntu 14.04 都是LTS(长期维护版本),并且ROS indigo是专门为 Ubuntu14.04 量身定做。并且dashgo的软件包也是推荐这俩版本的结合。
在dash搜索里面搜索software updater配置Ubuntu软件仓库以及选择速度快的服务器。
配置 ROS 的 apt 源
ROS的apt源有官方源、国内 USTC 源或新加坡源可供选择, 选择其一就可以了,建议使用国内 USTC 源或新加坡源,安装速度会快很多。
方式一:官方源
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
$ sudo apt-get update
方式二:国内 USTC 源 URL :http://mirrors.ustc.edu.cn/ros/
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'$ sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116$ sudo apt-get update
安装ROS软件包
$ sudo apt-get install ros-indigo-desktop-full$ sudo apt-get install python-rosinstall
配置环境变量
$ sudo rosdep init$ rosdep update$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc$ source ~/.bashrc
测试ROS安装是否成功
在终端输入 roscore ,输出如下所示,表示环境配置成功,ros正常运行。
Ubuntu@Ubuntu:~$ roscore... logging to /home/opt/ros/log/45d93ed8-a23a-11e6-99b1-4437e63de0fc/roslaunch-ubuntu-3460.logChecking log directory for disk usage. This may take awhile.Press Ctrl-C to interruptDone checking log file disk usage. Usage is <1GB.started roslaunch server http://ubuntu:35377/ros_comm version 1.11.20SUMMARY
========PARAMETERS* /rosdistro: indigo* /rosversion: 1.11.20NODESauto-starting new master
process[master]: started with pid [3472]
ROS_MASTER_URI=http://eaibot:11311/setting /run_id to 45d93ed8-a23a-11e6-99b1-4437e63de0fc
process[rosout-1]: started with pid [3485]
started core service [/rosout]
3.安装DASHGO软件包
因为底盘是选择的EAI底盘,可以参考创客智造里面的安装方式,但是我们的激光选择不同,参考网址:
https://www.ncnynl.com/archives/201709/1968.html
安装ROS依赖包
$ sudo apt-get install ros-indigo-serial ros-indigo-turtlebot-rviz-launchers ros-indigo-move-base-msgs libghc-sdl-image-dev libsdl-image1.2-dev ros-indigo-navigation ros-indigo-slam-gmapping ros-indigo-teb-local-planner
创建文件夹
$ mkdir -p ~/dashgo_ws/src$ cd ~/dashgo_ws/src
下载 Dashgo SLAM 版本
$ git clone https://github.com/EAIBOT/dashgo.git$ cd dashgo$ git checkout slam_02
注意这里是切换到slam_02分支,对应的是他们自带的F4激光,对LMS100激光也可以用。
4.下载LMS100激光驱动(网口版本)
deb包安装
sudo apt-get install ros-indigo-lms1xx
源码安装
$ mkdir -p ~/dashgo_ws/src
$ cd ~/dashgo_ws/src
$ git clone https://github.com/ncnynl/LMS1xx.git
修改激光IP
在激光配置软件(SICK官方有提供)上查询激光IP,将笔记本IP和激光改成同一网段,参考网址:
http://blog.csdn.net/u013453604/article/details/50725833
Ubuntu的IP
在Ubuntu下“编辑连接”——“以太网”——“添加”创建一个名为lmsxxx的有线连接。
手动设定子网掩码为255.255.255.0,手动设定IP为:192.168.0.2~192.168.0.254都行。
这样此IP与LMSxxx设备IP就处于同一网段了。
编译:
$ cd ~/turtlebot_ws
$ catkin_make
另外,在建图之前应确保底盘编码器输出(Odom),激光扫描图像,TF关系调试。
编码器输出(Odom)可在底盘进行精度测试的时候确定即可,直线校正与360度原地转弯矫正,具体矫正方式在底盘使用说明上有,这里不再赘述。
激光调试,激光雷达通过网线连接到ubuntu电脑,新终端,执行
$ roscore
新终端,执行
$ rosrun lms1xx LMS1xx_node _host:=192.168.0.1
新终端,执行
$ rosrun rviz rviz
左击ADD-->by topic-->选择LaserScan
这时会发现status error,再将FixedFrame后面的值改为laser即可,效果:
参考:https://www.ncnynl.com/archives/201703/1432.html
TF调试可以通过rqt工具调整:
分析你的TF tree结构应保持一致。
5.代码
因为激光驱动是移植到dashgo软件包里面的所以注意frame_ID要保持一致,将laser修改为laser_frame这些细节要注意。
将bring_nav 文件夹里面的launch文件里面的原激光启动文件屏蔽,添加LMS1xx节点下的launch文件,注意LMS100激光的IP地址。
修改TF在RIVZ里面打开TF可以看到laser的变换修改括号里面的五个值使他们符合自己激光的安装位置。
6.执行
可执行里面的gmapping launch文件,打开rviz以及开启键盘控制即可。
$ roslaunch dashgo_nav gmapping_demo.launch
$ roslaunch turtlebot_rviz_launchers view_navigation.launch
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
7.地图保存
$ roscd dashgo_nav/maps$ rosrun map_server map_saver -f my_map
附建图图像:
第一次写博客,如有问题请联系我:ribuluodeqishi@outlook.com,谢谢~
EAI dashgo底盘(不带陀螺仪版本)+SICK激光(选择LMS100)的ROS建图导航基础相关推荐
- EAI Dashgo D1环境搭建/键盘控制/rplidar a1 a2建图导航详细教程
昨天同学让我帮他看一下EAI Dashgo D1怎么用,因为好像按官方教程还是有一些问题,甚至连键盘控制都不能,查看了一下官方说明,再安装发现的确有一些地方需要注意,尤其对于小白来说这个教程还是有点不 ...
- 工作笔记05:imu、底盘车轮、单激光雷达外参校准(基于hdl_graph_slam建图和定位)
目录 1. imu 校准 1.1 IMU型号 1.2 坐标定义 1.2.1 大地坐标系(WGS84) 1.2.2 当地地理坐标系(ENU) 1.2.3 传感器坐标轴定义 1.3 传感器内参校准 1.4 ...
- C# WinForm开发系列之c# 通过.net自带的chart控件绘制饼图,柱形图和折线图的基础使用和扩展
一.需要实现的目标是: 1.将数据绑定到pie的后台数据中,自动生成饼图. 2.生成的饼图有详细文字的说明. 1.设置chart1的属性Legends中默认的Legend1的Enable为false: ...
- mac自带php7降级,MAC更新自带php版本到7.0
说一下我最近更新mac自带php版本的经历,我是按照网上的教程更新的,主要参考的是这篇博客http://blog.csdn.net/takunha/article/details/52484769,通 ...
- [Linux] 不带JRE版本的LumaQQ安装方法
[Linux] 不带JRE版本的LumaQQ安装方法 不带JRE版本的LumaQQ安装方法 Posted by luma on 一, 06/21/2004 - 19:14 这个版本没有带JRE,其安装 ...
- mac升级php7,MAC更新自带php版本到7.0
说一下我最近更新mac自带php版本的经历,我是按照网上的教程更新的,主要参考的是这篇博客http://blog.csdn.net/takunha/article/details/52484769,通 ...
- ubuntu20.04自带python版本_替换 ubuntu 自带的python版本
首先在这里下载你想用的各个版本的python,我用的是2.7.11: https://www.python.org/ftp/python/ 还是老样子: ./configure --> m ...
- anaconda3 tensorflow安装踩坑记(WIN10+tensorflow带gpu版本)
我看的网课讲解的视频用的是带gpu版本的tensorflow1.4.0,使用pip install tensorflow-gpu==1.4.0,但是如果想直接用之前那个命令的话要使用anaconda老 ...
- SuperPoint学习训练纪录 无训练版与带训练版本(一)
superpoint 论文原文,先过一遍论文. superpoint 官方源代码,基于 pytorch 的,不过遗憾的是训练代码和相应的渲染的训练数据没提供. superpoint 大佬复 ...
最新文章
- Python比对指定目录下的Excel数据(附源码)
- 【实战】数据可视化系统后端开发环境搭建
- HandlerThread:带消息循环(Looper)的线程
- CorelDraw技巧|设计师要了解数位板怎么用
- java private 对象_[Java笔记]类的所有构造器都是private权限,就一定没有办法实例化它的对象了么?...
- 2021年衢州高考的成绩查询,2021年衢州高考状元是谁分数多少分,历年衢州高考状元名单...
- 【sql那些事】时间处理的一揽子事
- iPhone13 系列售价曝光:没有涨价;曝华为P50系列7月29日发布;丁磊称专业比学校更重要:你同意吗?|极客头条...
- 合作的进化 6-10
- Java连接数据库代码
- 排队系统拥塞控制的位置
- python gtk_python 创建gtk应用程序
- 比较好用的自定义软键盘
- ChinaMode评选:2010最受瞩目的45个初创公司/产品
- linux windows 共享 smbd 部署
- 阿里云80 端口别阿里云盾占用
- selenium——爬取qq空间说说
- 创业时代的七堂必修课
- javaweb复习笔记总结
- 大公司的高薪 OR 创业公司的期权,更加看中大公司的高薪?
热门文章
- VMWare虚拟机 centos时间与本地时间不一致的问题
- 数据结构课程设计-家谱
- 李宏毅深度学习--《Unsupervised Learning》+《PCA》+《Matrix Factorization》
- 周末python培训机构
- 2022-2027年中国空港物流行业发展前景及投资战略咨询报告
- 什么软件可以测试iphone6s芯片,如何鉴别iPhone 6S/6S Plus芯片来源编号 图解查询方法步骤...
- 做了几个Firefox的主题
- 最强OLAP分析引擎-Clickhouse快速精通-上
- 微信小程序 - webview 的使用
- 了解Android中的Preference结构的设计与实现