项目地址:https://github.com/pietrolechthaler/UR5-Pick-and-Place-Simulation
此存储库演示了 ROS 和 Gazebo 中的 UR5 取放。UR5 使用 Xbox Kinect 摄像头检测 11 种类型的乐高积木,并发布其位置和角度。
该项目的目标是:
-
用乐高积木模拟 UR5 机器人的迭代
-
机械臂必须能够将方块从位置 A 移动到 B 并通过组装不同的砖块来建造一座城堡
我在anaconda中创建了一个新环境,python=3.7(重要,YOLO5要求在3.7及以上的环境中)
(1) build该项目
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中搜索关键词,复制粘贴给的命令到终端就可以。
安装完成后就可以使用了
启动世界
roslaunch levelManager lego_world.launch
选择级别(从 1 到 4):
rosrun levelManager levelManager.py -l [level]
#-b 的命令可以自己选择生成多少乐高(1-10)
启动运动学过程
rosrun motion_planning motion_planning.py
启动本地化进程
rosrun vision lego-vision.py -show
#-show
:用图像显示识别和定位过程的结果,也可以不显示
echo "$PWD/devel/setup.bash" >> $HOME/.bashrc
#将当前路径下的setup.bash写入~/.bashrc,不用每次source
$PWD
:一个变量,当前绝对路径
pwd:一个命令
相同的$HOME、$SHELL、$USER
等
-
有时不用
catkin_make
而是catkin build
, 是因为后者可以选择编译部分节点,catkin build pkg_name
,当catkin build
报错emy时,语句catkin build -DPYRTON_EXECUTABLE=/usr/bin/python3
-
编译时出现No module named ‘xxx’, 查看anaconda显示已安装(
conda list 或者 pip list或者anaconda-navigator
),可以在文件最顶部加上#!/usr/bin/env python3
或者#!/usr/bin/env python
-
测试语句/片段是否适用当前python版本(是否可以编译成功)可以终端输入
python
,输入后若成功则不报错/有下一次输入的箭头,输入exit()
退出环境 -
每一次创建并激活新环境需要安装依赖、包等,包括不在现有环境下pip3 install安装的,都需要重新安装。anaconda安装和pip3 install安装的不同之处:1.anaconda中的包数量少、更新不及时,pip3包数量多,更新。2.conda不会管理pip3 安装的包。(?)
打开anaconda.org网站搜索缺失的安装包,或者
conda install -c conda-forge modulename
(最好还是搜索一下)
报错:
-
ERROR SpawnModel: Failure - model name _spawn already exist
该模型在gazebo中已存在,在页面找到文件并删除。(后面发现删不删无所谓,也可以选择不删,直接忽略报错,也可正常运行) -
在gazebo中点击▶报错
ERROR Could not load controller 'gripper controller_manager' because controller type 'effort_controller/GripperActionController' does not exsit
缺少依赖,sudo apt-get updatesudo 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的当前版本为4.5有升级的情况或者版本相斥,可用anaconda降级
conda install -c anaconda libtiff==4.4.0
降级为4.4.0
参考资料
http://e.betheme.net/article/show-1309978.aspx?action=onClick