1 虚拟机下打开gazebo报错:VMware: vmw_ioctl_command error Invalid argument
[ INFO] [1610283240.619937255, 0.180000000]: LeePositionController got first odometry message.
VMware: vmw_ioctl_command error Invalid argument.
Aborted (core dumped)
[gazebo_gui-3] process has died [pid 29956, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/wang/.ros/log/e6029f54-5342-11eb-a1d3-000c292a3486/gazebo_gui-3.log].
log file: /home/wang/.ros/log/e6029f54-5342-11eb-a1d3-000c292a3486/gazebo_gui-3*.log
解决方案:设置环境变量
上面我们也讲到了,报错的原因大概是不合法的变量导致的,应该是启动gazebo的时候加载系统的某个环境变量的时候虚拟机无法完美识别导致的,所以知道了原因后,追根溯源,我们找到了以下修复方案,加入环境变量:
export SVGA_VGPU10=0
在shell中运行以上语句,但是这种方法有个坏处就是每次打开新的shell这个环境变量就失效了,所以我们需要将其加入到用户的环境变量,这样每次启动就可以自动运行此码;
echo "export SVGA_VGPU10=0" >> ~/.bashrc
from https://blog.csdn.net/weixin_43059285/article/details/108012524
2 gazebo崩溃gazebo-2 process has died exit code 139
[ INFO] [1610283508.369598606, 0.220000000]: LeePositionController got first odometry message.
Segmentation fault (core dumped)
[gazebo_gui-3] process has died [pid 31359, exit code 139, cmd /opt/ros/kinetic/lib/gazebo_ros/gzclient __name:=gazebo_gui __log:=/home/wang/.ros/log/858d7d5a-5343-11eb-a1d3-000c292a3486/gazebo_gui-3.log].
log file: /home/wang/.ros/log/858d7d5a-5343-11eb-a1d3-000c292a3486/gazebo_gui-3*.log
最终解决方案!!!
export LIBGL_ALWAYS_SOFTWARE=1
这样就可以使用3D加速了。
对于其他错误用 $top 命令查看任务管理器中是否还残留有gzserver or gzclient
通过
$source ~/catkin_ws/devel/setup.bash
$killall gzserver
$killall gzclient
可以尝试然后重新启动roslaunch [launch.file]
from: https://blog.csdn.net/li4692625/article/details/108244415