柚子快報(bào)激活碼778899分享:【ROS 06】機(jī)器人系統(tǒng)仿真
柚子快報(bào)激活碼778899分享:【ROS 06】機(jī)器人系統(tǒng)仿真
對于ROS新手而言,可能會有疑問:學(xué)習(xí)機(jī)器人操作系統(tǒng),實(shí)體機(jī)器人是必須的嗎?答案是否定的,機(jī)器人一般價(jià)格不菲,為了降低機(jī)器人學(xué)習(xí)、調(diào)試成本,在ROS中提供了系統(tǒng)的機(jī)器人仿真實(shí)現(xiàn),通過仿真,可以實(shí)現(xiàn)大部分需求,本章主要就是圍繞“仿真”展開的,比如,本章會介紹:
如何創(chuàng)建并顯示機(jī)器人模型;(urdf)如何搭建仿真環(huán)境;Gazebo如何實(shí)現(xiàn)機(jī)器人模型與仿真環(huán)境的交互。Rviz
本章預(yù)期的學(xué)習(xí)目標(biāo)如下:
能夠獨(dú)立使用URDF創(chuàng)建機(jī)器人模型,并在Rviz和Gazebo中分別顯示;能夠使用Gazebo搭建仿真環(huán)境;能夠使用機(jī)器人模型中的傳感器(雷達(dá)、攝像頭、編碼器...)獲取仿真環(huán)境數(shù)據(jù)。
案例演示:
1.創(chuàng)建并顯示機(jī)器人模型
?2.仿真環(huán)境搭建
3.控制機(jī)器人運(yùn)動
?
4.雷達(dá)仿真
?5.攝像頭仿真
?
1 概述
機(jī)器人操作系統(tǒng)學(xué)習(xí)、開發(fā)與測試過程中,會遇到諸多問題,比如:
場景1:機(jī)器人一般價(jià)格不菲,學(xué)習(xí)ROS要購買一臺機(jī)器人嗎?
場景2:機(jī)器人與之交互的外界環(huán)境具有多樣性,如何實(shí)現(xiàn)復(fù)雜的環(huán)境設(shè)計(jì)?
場景3:測試時(shí),直接將未經(jīng)驗(yàn)證的程序部署到實(shí)體機(jī)器人運(yùn)行,安全嗎?
...
在諸如此類的場景中,ROS中的仿真就顯得尤為重要了。
1.1?概念
機(jī)器人系統(tǒng)仿真:是通過計(jì)算機(jī)對實(shí)體機(jī)器人系統(tǒng)進(jìn)行模擬的技術(shù),在 ROS 中,仿真實(shí)現(xiàn)涉及的內(nèi)容主要有三:對機(jī)器人建模(URDF)、創(chuàng)建仿真環(huán)境(Gazebo)以及感知環(huán)境(Rviz)等系統(tǒng)性實(shí)現(xiàn)。
1.2?作用
1.2.1 仿真優(yōu)勢
仿真在機(jī)器人系統(tǒng)研發(fā)過程中占有舉足輕重的地位,在研發(fā)與測試中較之于實(shí)體機(jī)器人實(shí)現(xiàn),仿真有如下幾點(diǎn)的顯著優(yōu)勢:
1.低成本:當(dāng)前機(jī)器人成本居高不下,動輒幾十萬,仿真可以大大降低成本,減小風(fēng)險(xiǎn)
2.高效:搭建的環(huán)境更為多樣且靈活,可以提高測試效率以及測試覆蓋率
3.高安全性:仿真環(huán)境下,無需考慮耗損問題
1.2.2 仿真缺陷
機(jī)器人在仿真環(huán)境與實(shí)際環(huán)境下的表現(xiàn)差異較大,換言之,仿真并不能完全做到模擬真實(shí)的物理世界,存在一些"失真"的情況,原因:
1.仿真器所使用的物理引擎目前還不能夠完全精確模擬真實(shí)世界的物理情況
2.仿真器構(gòu)建的是關(guān)節(jié)驅(qū)動器(電機(jī)&齒輪箱)、傳感器與信號通信的絕對理想情況,目前不支持模擬實(shí)際硬件缺陷或者一些臨界狀態(tài)等情形
1.3 相關(guān)組件
1.3.1 URDF
URDF是 Unified Robot Description Format 的首字母縮寫,直譯為統(tǒng)一(標(biāo)準(zhǔn)化)機(jī)器人描述格式,可以以一種 XML 的方式描述機(jī)器人的部分結(jié)構(gòu),比如底盤、攝像頭、激光雷達(dá)、機(jī)械臂以及不同關(guān)節(jié)的自由度.....,該文件可以被 C++ 內(nèi)置的解釋器轉(zhuǎn)換成可視化的機(jī)器人模型,是 ROS 中實(shí)現(xiàn)機(jī)器人仿真的重要組件
1.3.2 rviz
RViz 是 ROS Visualization Tool 的首字母縮寫,直譯為ROS的三維可視化工具。它的主要目的是以三維方式顯示ROS消息,可以將 數(shù)據(jù)進(jìn)行可視化表達(dá)。例如:可以顯示機(jī)器人模型,可以無需編程就能表達(dá)激光測距儀(LRF)傳感器中的傳感 器到障礙物的距離,RealSense、Kinect或Xtion等三維距離傳感器的點(diǎn)云數(shù)據(jù)(PCD, Point Cloud Data),從相機(jī)獲取的圖像值等
以“ros- [ROS_DISTRO] -desktop-full”命令安裝ROS時(shí),RViz會默認(rèn)被安裝。
運(yùn)行使用命令rviz或rosrun rviz rviz
如果rviz沒有安裝,請調(diào)用如下命令自行安裝:
sudo apt install ros-[ROS_DISTRO]-rviz
1.3.3 gazebo
Gazebo是一款3D動態(tài)模擬器,用于顯示機(jī)器人模型并創(chuàng)建仿真環(huán)境,能夠在復(fù)雜的室內(nèi)和室外環(huán)境中準(zhǔn)確有效地模擬機(jī)器人。與游戲引擎提供高保真度的視覺模擬類似,Gazebo提供高保真度的物理模擬,其提供一整套傳感器模型,以及對用戶和程序非常友好的交互方式。
以“ros- [ROS_DISTRO] -desktop-full”命令安裝ROS時(shí),gzebo會默認(rèn)被安裝。
運(yùn)行使用命令gazebo或rosrun gazebo_ros gazebo
注意1:在 Ubuntu20.04 與 ROS Noetic 環(huán)境下,gazebo 啟動異常以及解決
問題1:VMware: vmw_ioctl_command error Invalid argument(無效的參數(shù)) 解決: echo "export SVGA_VGPU10=0" >> ~/.bashrc source .bashrc 問題2:[Err] [REST.cc:205] Error in REST request 解決:sudo gedit ~/.ignition/fuel/config.yaml 然后將url : https://api.ignitionfuel.org使用 # 注釋 再添加url: https://api.ignitionrobotics.org 問題3:啟動時(shí)拋出異常:[gazebo-2] process has died [pid xxx, exit code 255, cmd..... 解決:killall gzserver和killall gzclient
注意2:如果 gazebo沒有安裝,請自行安裝:
1.添加源:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main"
>
/etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
2.安裝:
sudo apt update
sudo apt install gazebo11
sudo apt install libgazebo11-dev
另請參考:
urdf - ROS Wiki rviz - ROS Wiki Gazebo : Tutorial : ROS overview
課程說明:
機(jī)器人的系統(tǒng)仿真是一種集成實(shí)現(xiàn),主要包含三部分:
URDF 用于創(chuàng)建機(jī)器人模型 Gzebo 用于搭建仿真環(huán)境 Rviz 圖形化的顯示機(jī)器人各種傳感器感知到的環(huán)境信息
三者應(yīng)用中,只是創(chuàng)建 URDF 意義不大,一般需要結(jié)合 Gazebo 或 Rviz 使用,在 Gazebo 或 Rviz 中可以將 URDF 文件解析為圖形化的機(jī)器人模型,一般的使用組合為:
如果非仿真環(huán)境,那么使用 URDF 結(jié)合 Rviz 直接顯示感知的真實(shí)環(huán)境信息 如果是仿真環(huán)境,那么需要使用 URDF 結(jié)合 Gazebo 搭建仿真環(huán)境,并結(jié)合 Rviz 顯示感知的虛擬環(huán)境信息
后續(xù)課程安排:
先介紹 URDF 與 Rviz 集成使用,在 Rviz 中只是顯示機(jī)器人模型,主要用于學(xué)習(xí) URDF 語法 再介紹 URDF 與 Gazebo 集成,主要學(xué)習(xí) URDF 仿真相關(guān)語法以及仿真環(huán)境搭建 最后集成 URDF 與 Gazebo 與 Rviz,實(shí)現(xiàn)綜合應(yīng)用
素材鏈接:
GitHub - zx595306686/sim_demo
?
柚子快報(bào)激活碼778899分享:【ROS 06】機(jī)器人系統(tǒng)仿真
精彩內(nèi)容
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。