項(xiàng)目地址:https://github.com/pietrolechthaler/UR5-Pick-and-Place-Simulation
此存儲(chǔ)庫演示了 ROS 和 Gazebo 中的 UR5 取放。UR5 使用 Xbox Kinect 攝像頭檢測(cè) 11 種類型的樂高積木,并發(fā)布其位置和角度。
該項(xiàng)目的目標(biāo)是:
-
用樂高積木模擬 UR5 機(jī)器人的迭代
-
機(jī)械臂必須能夠?qū)⒎綁K從位置 A 移動(dòng)到 B 并通過組裝不同的磚塊來建造一座城堡
我在anaconda中創(chuàng)建了一個(gè)新環(huán)境,python=3.7(重要,YOLO5要求在3.7及以上的環(huán)境中)
(1) build該項(xiàng)目
git clone https://github.com/pietrolechthaler/UR5-Pick-and-Place-Simulation/
cd UR5-Pick-and-Place-Simulation/catkin_ws
source /opt/ros/noetic/setup.bash
catkin build
source devel/setup.bash
echo "source $PWD/devel/setup.bash" >> $HOME/.bashrc
(2)下載并安裝YOLO5
cd ~
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip3 install -r requirements.txt
安裝過程中缺失的依賴最好不用pip或者pip3安裝,可以在https://anaconda.org中搜索關(guān)鍵詞,復(fù)制粘貼給的命令到終端就可以。
安裝完成后就可以使用了
啟動(dòng)世界
roslaunch levelManager lego_world.launch
選擇級(jí)別(從 1 到 4):
rosrun levelManager levelManager.py -l [level]
#-b 的命令可以自己選擇生成多少樂高(1-10)
啟動(dòng)運(yùn)動(dòng)學(xué)過程
rosrun motion_planning motion_planning.py
啟動(dòng)本地化進(jìn)程
rosrun vision lego-vision.py -show
#-show
:用圖像顯示識(shí)別和定位過程的結(jié)果,也可以不顯示
-
echo "$PWD/devel/setup.bash" >> $HOME/.bashrc
#將當(dāng)前路徑下的setup.bash寫入~/.bashrc,不用每次source
? $PWD
:一個(gè)變量,當(dāng)前絕對(duì)路徑
? pwd:一個(gè)命令
? 相同的$HOME、$SHELL、$USER
等
-
有時(shí)不用
catkin_make
而是catkin build
, 是因?yàn)楹笳呖梢赃x擇編譯部分節(jié)點(diǎn),catkin build pkg_name
,當(dāng)catkin build
報(bào)錯(cuò)emy時(shí),語句catkin build -DPYRTON_EXECUTABLE=/usr/bin/python3
-
編譯時(shí)出現(xiàn)No module named ‘xxx’, 查看anaconda顯示已安裝(
conda list 或者 pip list或者anaconda-navigator
),可以在文件最頂部加上#!/usr/bin/env python3
或者#!/usr/bin/env python
-
測(cè)試語句/片段是否適用當(dāng)前python版本(是否可以編譯成功)可以終端輸入
python
,輸入后若成功則不報(bào)錯(cuò)/有下一次輸入的箭頭,輸入exit()
退出環(huán)境 -
每一次創(chuàng)建并激活新環(huán)境需要安裝依賴、包等,包括不在現(xiàn)有環(huán)境下pip3 install安裝的,都需要重新安裝。anaconda安裝和pip3 install安裝的不同之處:1.anaconda中的包數(shù)量少、更新不及時(shí),pip3包數(shù)量多,更新。2.conda不會(huì)管理pip3 安裝的包。(?)
打開anaconda.org網(wǎng)站搜索缺失的安裝包,或者
conda install -c conda-forge modulename
(最好還是搜索一下)
報(bào)錯(cuò):
-
ERROR SpawnModel: Failure - model name _spawn already exist
該模型在gazebo中已存在,在頁面找到文件并刪除。(后面發(fā)現(xiàn)刪不刪無所謂,也可以選擇不刪,直接忽略報(bào)錯(cuò),也可正常運(yùn)行) -
在gazebo中點(diǎn)擊?報(bào)錯(cuò)
ERROR Could not load controller 'gripper controller_manager' because controller type 'effort_controller/GripperActionController' does not exsit
缺少依賴,sudo apt-get update sudo apt-get install ros-noetic-ros-control ros-noetic-ros-controllers
加上兩條
(
sudo apt-get install ros-noetic-joint-trajectory-controller
)(
sudo apt-get install ros-gazebo-ros-control
) -
undefined symbolTIFFReadRGBATileExt,version libtiff_4.0
查看conda的更新情況
conda list --revision
libtiff的當(dāng)前版本為4.5有升級(jí)的情況或者版本相斥,可用anaconda降級(jí)
conda install -c anaconda libtiff==4.4.0
降級(jí)為4.4.0
參考資料文章來源:http://www.zghlxwxcb.cn/news/detail-812522.html
http://e.betheme.net/article/show-1309978.aspx?action=onClick文章來源地址http://www.zghlxwxcb.cn/news/detail-812522.html
到了這里,關(guān)于踩坑記錄:ubuntu20.04+ROS noetic+gazebo11用UR5+robotiq+Xbox Kinect抓取樂高的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!