一、概念
通過計算機對實體機器人系統(tǒng)進行模擬的技術,在 ROS 中,仿真實現涉及的內容主要有三:對機器人建模(URDF)、創(chuàng)建仿真環(huán)境(Gazebo)以及感知環(huán)境(Rviz)等系統(tǒng)性實現。
二、作用
2.1仿真優(yōu)勢:
仿真在機器人系統(tǒng)研發(fā)過程中占有舉足輕重的地位,在研發(fā)與測試中較之于實體機器人實現,仿真有如下幾點的顯著優(yōu)勢:
1.低成本:當前機器人成本居高不下,動輒幾十萬,仿真可以大大降低成本,減小風險
2.高效:搭建的環(huán)境更為多樣且靈活,可以提高測試效率以及測試覆蓋率
3.高安全性:仿真環(huán)境下,無需考慮耗損問題
2.2仿真缺陷:
機器人在仿真環(huán)境與實際環(huán)境下的表現差異較大,換言之,仿真并不能完全做到模擬真實的物理世界,存在一些"失真"的情況,原因:
1.仿真器所使用的物理引擎目前還不能夠完全精確模擬真實世界的物理情況
2.仿真器構建的是關節(jié)驅動器(電機&齒輪箱)、傳感器與信號通信的絕對理想情況,目前不支持模擬實際硬件缺陷或者一些臨界狀態(tài)等情形
三、組件
3.1URDF
URDF是 Unified Robot Description Format 的首字母縮寫,直譯為統(tǒng)一(標準化)機器人描述格式,可以以一種 XML 的方式描述機器人的部分結構,比如底盤、攝像頭、激光雷達、機械臂以及不同關節(jié)的自由度…,該文件可以被 C++ 內置的解釋器轉換成可視化的機器人模型,是 ROS 中實現機器人仿真的重要組件
3.2rviz
RViz 是 ROS Visualization Tool 的首字母縮寫,直譯為ROS的三維可視化工具。它的主要目的是以三維方式顯示ROS消息,可以將 數據進行可視化表達。例如:可以顯示機器人模型,可以無需編程就能表達激光測距儀(LRF)傳感器中的傳感 器到障礙物的距離,RealSense、Kinect或Xtion等三維距離傳感器的點云數據(PCD, Point Cloud Data),從相機獲取的圖像值等
以ros- [ROS_DISTRO] -desktop-full
命令安裝ROS時,RViz會默認被安裝。
運行使用命令rviz
或rosrun rviz rviz
如果rviz沒有安裝,請調用如下命令自行安裝:
sudo apt install ros-[ROS_DISTRO]-rviz
3.3gazebo
Gazebo是一款3D動態(tài)模擬器,用于顯示機器人模型并創(chuàng)建仿真環(huán)境,能夠在復雜的室內和室外環(huán)境中準確有效地模擬機器人。與游戲引擎提供高保真度的視覺模擬類似,Gazebo提供高保真度的物理模擬,其提供一整套傳感器模型,以及對用戶和程序非常友好的交互方式。
以ros- [ROS_DISTRO] -desktop-full
命令安裝ROS時,gzebo會默認被安裝。
運行使用命令gazebo
或rosrun gazebo_ros gazebo
注:
1:在 Ubuntu20.04 與 ROS Noetic 環(huán)境下,gazebo 啟動異常以及解決
問題1:VMware: vmw_ioctl_command error Invalid argument(無效的參數)
解決:
? 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:啟動時拋出異常:[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.安裝:文章來源:http://www.zghlxwxcb.cn/news/detail-551082.html
sudo apt update
sudo apt install gazebo11
sudo apt install libgazebo11-dev
參考視屏:趙虛左ros入門文章來源地址http://www.zghlxwxcb.cn/news/detail-551082.html
到了這里,關于ROS:機器人系統(tǒng)仿真的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!