国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

這篇具有很好參考價(jià)值的文章主要介紹了基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

博客地址:https://www.cnblogs.com/zylyehuo/

gazebo小車模型創(chuàng)建及仿真詳見之前博客

gazebo小車模型(附帶仿真環(huán)境) - zylyehuo - 博客園

gazebo+rviz 仿真 - zylyehuo - 博客園

參考鏈接

Autolabor-ROS機(jī)器人入門課程《ROS理論與實(shí)踐》

成果圖

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

step1: 準(zhǔn)備工作

安裝必要工具包+創(chuàng)建工作包

  • 安裝 gmapping 包(用于構(gòu)建地圖): sudo apt install ros-melodic-gmapping
  • 安裝地圖服務(wù)包(用于保存與讀取地圖):sudo apt install ros-melodic-map-server
  • 安裝 navigation 包(用于定位以及路徑規(guī)劃):sudo apt install ros-melodic-navigation
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

創(chuàng)建文件夾及文件

按下圖結(jié)構(gòu)在 nav_demo 下依次創(chuàng)建

文件夾: config(也可按照步驟之后創(chuàng)建)、map(也可按照步驟之后創(chuàng)建)、launch

文件:nav01_slam.launch、nav02_map_save.launch、nav03_map_server.launch

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

/home/yehuo/mycar_ws/src/nav_demo/launch/nav01_slam.launch

<launch>
    <!-- 仿真環(huán)境下,將該參數(shù)設(shè)置為true  -->
    <param name="use_sim_time" value="true"/>
    <!-- gmapping  -->
    <node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
      <!-- 設(shè)置雷達(dá)話題  -->
      <remap from="scan" to="scan"/>

      <!-- 關(guān)鍵參數(shù):坐標(biāo)系 -->
      <param name="base_frame" value="base_footprint"/><!--底盤坐標(biāo)系-->
      <param name="map_frame" value="map"/>
      <param name="odom_frame" value="odom"/> <!--里程計(jì)坐標(biāo)系-->

      <param name="map_update_interval" value="5.0"/>
      <param name="maxUrange" value="16.0"/>
      <param name="sigma" value="0.05"/>
      <param name="kernelSize" value="1"/>
      <param name="lstep" value="0.05"/>
      <param name="astep" value="0.05"/>
      <param name="iterations" value="5"/>
      <param name="lsigma" value="0.075"/>
      <param name="ogain" value="3.0"/>
      <param name="lskip" value="0"/>
      <param name="srr" value="0.1"/>
      <param name="srt" value="0.2"/>
      <param name="str" value="0.1"/>
      <param name="stt" value="0.2"/>
      <param name="linearUpdate" value="1.0"/>
      <param name="angularUpdate" value="0.5"/>
      <param name="temporalUpdate" value="3.0"/>
      <param name="resampleThreshold" value="0.5"/>
      <param name="particles" value="30"/>
      <param name="xmin" value="-50.0"/>
      <param name="ymin" value="-50.0"/>
      <param name="xmax" value="50.0"/>
      <param name="ymax" value="50.0"/>
      <param name="delta" value="0.05"/>
      <param name="llsamplerange" value="0.01"/>
      <param name="llsamplestep" value="0.01"/>
      <param name="lasamplerange" value="0.005"/>
      <param name="lasamplestep" value="0.005"/>
      
    </node>

    <node pkg="joint_state_publisher" name="joint_state_publisher" type="joint_state_publisher" />
    <node pkg="robot_state_publisher" name="robot_state_publisher" type="robot_state_publisher" />

    <node pkg="rviz" type="rviz" name="rviz" />
    <!-- 可以保存 rviz 配置并后期直接使用-->
    <!--
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find my_nav_sum)/rviz/gmapping.rviz"/>
    -->
</launch>

step2: 仿真環(huán)境運(yùn)行 + SLAM建圖

(1)編譯+啟動(dòng) gazebo 仿真環(huán)境

source ./devel/setup.bash 

roslaunch mycar environment.launch
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

(2)啟動(dòng) rviz

source ./devel/setup.bash

roslaunch nav_demo nav01_slam.launch
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

(3)啟動(dòng)鍵盤控制節(jié)點(diǎn)

rosrun teleop_twist_keyboard teleop_twist_keyboard.py _speed:=0.3 _turn:=0.5
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

(4)在 rviz 中顯示仿真環(huán)境

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

(5)保存 rviz 設(shè)置

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

(6)通過鍵盤控制機(jī)器人運(yùn)動(dòng)

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

每隔 5s 更新一次地圖

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

step3: 保存地圖(在step2基礎(chǔ)上,不要關(guān)閉之前程序)

/home/yehuo/mycar_ws/src/nav_demo/launch/nav02_map_save.launch

<launch>
    <arg name="filename" value="$(find nav_demo)/map/nav" />
    <node name="map_save" pkg="map_server" type="map_saver" args="-f $(arg filename)" />
</launch>

在 nav_demo 下新建文件夾 map

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

新建終端,保存地圖

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
source ./devel/setup.bash

roslaunch nav_demo nav02_map_save.launch
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

/home/yehuo/mycar_ws/src/nav_demo/map/nav.yaml 文件解釋

# 1、聲明地圖圖片資源的路徑
image: /home/yehuo/mycar_ws/src/nav_demo/map/nav.pgm

# 2、地圖刻度尺單位是 米/像素
resolution: 0.050000

# 3、地圖的位姿(按照右手坐標(biāo)系,地圖右下角相對(duì)于 rviz 中原點(diǎn)的位姿)
# 值1:x方向上的偏移量
# 值2:y方向上的偏移量
# 值3:地圖的偏航角度(單位:弧度)
origin: [-50.000000, -50.000000, 0.000000]

# 地圖中的障礙物判斷:
# 最終顯示結(jié)果:白色是可通行區(qū)域,黑色是障礙物,藍(lán)灰是未知區(qū)域
# 判斷規(guī)則:
# 1、地圖中的每個(gè)像素都有取值 [0,255]       255:白色       0:黑色
# 2、根據(jù)像素值計(jì)算一個(gè)比例:        p   = (255 - 像素值)/  255       ==>   0:白色    1:黑色
# 3、判斷是否是障礙物, p > occupied_thresh        就是障礙物
#                    p < free_thresh            就無障礙物

# 4、占用閾值
occupied_thresh: 0.65

# 5、空閑閾值
free_thresh: 0.196

# 6、取反(1:黑的區(qū)域變白的,白的區(qū)域變黑的)
negate: 0

step4: 讀取地圖

/home/yehuo/mycar_ws/src/nav_demo/launch/nav03_map_server.launch

<launch>

    <!-- 設(shè)置地圖的配置文件 -->
    <arg name="map" default="nav.yaml" />

    <!-- 運(yùn)行地圖服務(wù)器,并且加載設(shè)置的地圖-->
    <node name="map_server" pkg="map_server" type="map_server" args="$(find nav_demo)/map/$(arg map)"/>

</launch>

讀取地圖

source ./devel/setup.bash

roslaunch nav_demo nav03_map_server.launch
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

顯示讀取的地圖

打開一個(gè)新的終端,啟動(dòng) rviz文章來源地址http://www.zghlxwxcb.cn/news/detail-443764.html

  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真
  • 基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真

到了這里,關(guān)于基于Gazebo搭建移動(dòng)機(jī)器人,并結(jié)合SLAM系統(tǒng)完成定位和建圖仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ros2機(jī)器人在gazebo中移動(dòng)方案

    ros2機(jī)器人在gazebo中移動(dòng)方案

    很重要的地方:使用虛擬機(jī)運(yùn)行Ubuntu的時(shí)候,需要關(guān)閉”加速3D圖形“的那個(gè)選項(xiàng),否則gazebo無法正常顯示。 In this tutorial we will learn how to move our robot. We will use the robot we built in the?Build your own robot?tutorial. You can download the robot from?here. You can also find the finished world of this tutoria

    2024年01月16日
    瀏覽(29)
  • 移動(dòng)機(jī)器人激光SLAM導(dǎo)航(五):Cartographer SLAM 篇

    移動(dòng)機(jī)器人激光SLAM導(dǎo)航(五):Cartographer SLAM 篇

    參考 Cartographer 官方文檔 Cartographer 從入門到精通 1.1 前置條件 推薦在剛裝好的 Ubuntu 16.04 或 Ubuntu 18.04 上進(jìn)行編譯 ROS 安裝:ROS學(xué)習(xí)1:ROS概述與環(huán)境搭建 1.2 依賴庫安裝 資源下載完解壓并執(zhí)行以下指令 https://pan.baidu.com/s/1LWqZ4SOKn2sZecQUDDXXEw?pwd=j6cf 1.3 編譯 本文只編譯 cartographer

    2024年02月21日
    瀏覽(19)
  • Ubuntu18.04 Turtlebot2機(jī)器人移動(dòng)控制 Rviz Gazebo仿真實(shí)現(xiàn)

    Ubuntu18.04 Turtlebot2機(jī)器人移動(dòng)控制 Rviz Gazebo仿真實(shí)現(xiàn)

    操作系統(tǒng)為ubuntu18.04 安裝ROS Melodic Turtlebot2,很多大佬分享了詳細(xì)的安裝過程,在這里就不多贅述,安裝遇到問題多百度,大部分都是可以解決的。 前期學(xué)習(xí)了趙虛左老師的ROS入門課程,結(jié)合Turtlebot2資料這里方便大家打開,放的創(chuàng)客制造的文檔,也推薦大家去看官方文檔 首先

    2023年04月25日
    瀏覽(32)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】Gazebo仿真環(huán)境搭建

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】Gazebo仿真環(huán)境搭建

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 本節(jié)我們要在Gazebo中建立一個(gè)測(cè)試的環(huán)境,其實(shí)也很簡(jiǎn)單,利用

    2024年02月05日
    瀏覽(27)
  • 11.機(jī)器人系統(tǒng)仿真搭建gazebo環(huán)境、仿真深度相機(jī)、雷達(dá)、RGB相機(jī)

    11.機(jī)器人系統(tǒng)仿真搭建gazebo環(huán)境、仿真深度相機(jī)、雷達(dá)、RGB相機(jī)

    目錄 1 gazebo仿真環(huán)境搭建 1.1? 直接添加內(nèi)置組件創(chuàng)建仿真環(huán)境 1.2 urdf、gazebo、rviz的綜合應(yīng)用 2 ROS_control 2.1?運(yùn)動(dòng)控制實(shí)現(xiàn)流程(Gazebo) 2.1.1 已經(jīng)創(chuàng)建完畢的機(jī)器人模型,編寫一個(gè)單獨(dú)的 xacro 文件,為機(jī)器人模型添加傳動(dòng)裝置以及控制器 2.1.2 將此文件集成進(jìn)xacro文件 2.1.3 修改

    2024年02月04日
    瀏覽(20)
  • Realitykit結(jié)合Speech實(shí)現(xiàn)語音控制AR機(jī)器人移動(dòng)(完整代碼)

    利用Apple最新的Realitykit搭配ARkit實(shí)現(xiàn)虛擬物體的放置,結(jié)合內(nèi)置的Speech庫實(shí)現(xiàn)語音的識(shí)別功能,將語音內(nèi)容轉(zhuǎn)為文本內(nèi)容,從而讓機(jī)器進(jìn)行運(yùn)動(dòng)。 大體思路: 1、配置并啟動(dòng)ARkit環(huán)境。 2、構(gòu)建Entity實(shí)體。可以用Apple官方的CreatingAPhotogrammetryCommandLineApp的代碼文檔來生成.usdz文件

    2023年04月22日
    瀏覽(20)
  • (二)基于wpr_simulation 的Ros機(jī)器人運(yùn)動(dòng)控制,gazebo仿真

    (二)基于wpr_simulation 的Ros機(jī)器人運(yùn)動(dòng)控制,gazebo仿真

    一、創(chuàng)建工作空間 ???????? 二、下載wpr_simulation源碼 git clone https://github.com/6-robot/wpr_simulation.git 三、編譯 ~/catkin_make ?目錄下catkin_make source devel/setup.bash 四、運(yùn)行 roslaunch wpr_simulation wpb_simple.launch 啟動(dòng)另一個(gè)終端,執(zhí)行: rosrun rqt_robot_steering rqt_robot_steering 鼠標(biāo)改變速度和角

    2024年01月20日
    瀏覽(101)
  • Gazebo機(jī)器人仿真

    Gazebo機(jī)器人仿真

    本文基于 B站冰達(dá)機(jī)器人Gazebo教程,針對(duì)在仿真過程中出現(xiàn)的問題提出相應(yīng)解決辦法。 目標(biāo) : 設(shè)計(jì)出一臺(tái)具備激光雷達(dá)、IMU和相機(jī)的機(jī)器人仿真模型用于相關(guān)實(shí)驗(yàn)。 獲取實(shí)驗(yàn)功能包: 克隆完成后在工作空間路徑下編譯功能包 安裝其他依賴 獲取gazebo模型庫: 自制實(shí)驗(yàn)場(chǎng)景

    2024年02月16日
    瀏覽(16)
  • 機(jī)器人Gazebo仿真應(yīng)用

    機(jī)器人Gazebo仿真應(yīng)用

    ? Gazebo是一個(gè)優(yōu)秀的功能強(qiáng)大開源物理環(huán)境仿真平臺(tái),具備強(qiáng)大的物理引擎,高質(zhì)量的圖形渲染等優(yōu)異優(yōu)點(diǎn),可在機(jī)器人和周圍環(huán)境加入多種物理屬性,對(duì)機(jī)器人傳感器信息通過插件形式加入仿真,并以可視化的方式進(jìn)行顯示。通過終端命令“roscore”啟動(dòng)ROS,重新打開一個(gè)終

    2024年02月04日
    瀏覽(19)
  • 在gazebo仿真環(huán)境中加載多個(gè)機(jī)器人

    在gazebo仿真環(huán)境中加載多個(gè)機(jī)器人

    單個(gè)機(jī)器人的各項(xiàng)仿真實(shí)驗(yàn)都基本完成,也實(shí)現(xiàn)了遠(yuǎn)程控制,接下來主要對(duì)多機(jī)器人編隊(duì)進(jìn)行仿真實(shí)驗(yàn),在進(jìn)行多機(jī)器人編隊(duì)控制前,先要在gazebo仿真中加載多個(gè)機(jī)器人。 在gazebo中添加多個(gè)機(jī)器人需要寫或修改launch文件,通過在網(wǎng)上翻看別人的代碼,大致明白了調(diào)用gazebo仿真

    2024年04月27日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包