项目场景:
在使用ROS与Gazebo中会遇到一些问题。
问题描述1
二进制安装功能包时,出现:
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
sudo apt-get install ros-melodic-tf2-sensor-msgs
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
解决方案:
方法1: 按照提示,直接删除lock-frontend
sudo rm /var/lib/dpkg/lock-frontend
方法2:查看进程,杀死进程
ps -e|grep apt-get
# 上条指令会打印相关进程
sudo kill 进程数
方法3:强制解锁
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
三种方法可以依次尝试,解决问题~~~
问题描述2
启动gazebo,打开黑屏,一直卡在gazebo打开的窗口
roslaunch gazebo_ros empty_world.launch
解决方案:
models文件夹链接
将models文件夹放入home目录下的.gazebo文件夹,因为是隐藏文件,ctrl+h查看隐藏文件。没有.gazebo文件的话,自己创建一个。
cd ~/.gazebo
问题描述3
启功gazebo,终端报错,gazebo打开失败,出现process has died错误,类似如下情况。
[gazebo_gui-3] process has died [pid 92613, exit code 139, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:
解决方案:
killall gzserver
killall gzclient
重启gazebo。
问题描述4
加载机器人模型时,gazebo报错,如下:
libGL error: failed to create drawable
[ INFO] [1689056095.810459008, 1799.281000000]: Velodyne laser plugin missing <min_intensity>, defaults to no clipping
[ INFO] [1689056095.821545319, 1799.281000000]: Velodyne laser plugin ready, 16 lasers
[ WARN] [1689056095.925066089, 1799.281000000]: GazeboRosSkidSteerDrive Plugin (ns = //) missing <covariance_x>, defaults to 0.000100
[ WARN] [1689056095.925119284, 1799.281000000]: GazeboRosSkidSteerDrive Plugin (ns = //) missing <covariance_y>, defaults to 0.000100
[ WARN] [1689056095.925154378, 1799.281000000]: GazeboRosSkidSteerDrive Plugin (ns = //) missing <covariance_yaw>, defaults to 0.010000
[ INFO] [1689056095.925229082, 1799.281000000]: Starting GazeboRosSkidSteerDrive Plugin (ns = //)
gzclient: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreNode.cpp:630:virtual void Ogre::Node::setScale(const Ogre::Vector3&): 假设 ‘!inScale.isNaN() && "Invalid vector supplied as parameter"’ 失败。
gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreNode.cpp:630: virtual void Ogre::Node::setScale(const Ogre::Vector3&): Assertion `!inScale.isNaN() && "Invalid vector supplied as parameter"' failed.
Aborted (core dumped)
解决方案
更新gazebo
#查看gazebo环境
gazebo --version
# 拉取网址,设置密钥,更新
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/gazebo-stable.list'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D2486D2DD83DB69272AFE98867170598AF249743
sudo apt update
#以gazebo7为例
sudo apt-get install gazebo7
问题描述5
VMware打开虚拟机时,出现以下错误,导致虚拟机打不开的情形:
无法打开内核设备“\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。
解决方案
找到该虚拟机的存放目录,虚拟机名称以ubuntu为例,用记事本打开ubuntu.vmx
将vmci0.present 的值由TRUE改为FALSE,如下所示:
vmci0.present = "FALSE"