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.py7.地圖保存
$ roscd dashgo_nav/maps$ rosrun map_server map_saver -f my_map附建圖圖像:
第一次寫博客,如有問題請聯系我:ribuluodeqishi@outlook.com,謝謝~
總結
以上是生活随笔為你收集整理的EAI dashgo底盘(不带陀螺仪版本)+SICK激光(选择LMS100)的ROS建图导航基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想G50 BIOS找不到USB HDD
- 下一篇: 汇客huikeCRM项目实战-初出茅庐