1 一键安装ros
因为要用ros1,所以我这里用的是ubuntu18.04
直接用鱼老师的一键安装ros脚本,省去了被墙的烦恼。
不想切换页面的话可以直接输入这行代码到终端:wget http://fishros.com/install -O fishros && . fishros
按照操作选择即可,推荐先选择更换系统源和第三方源以后在继续安装,后续根据系统选择ros版本即可。
看到小鱼老师提示的ros安装完成基本就是没有问题了。可以用roscore看下是否会有相关信息输出。如果有就是一切正常。
2 wsl->windows可视化
众所周知,wsl是没法显示界面的,但是一些可视化的操作又必须要做,难道要放弃wsl了吗,不不不,我还想好好用我的微信,玩我的lol!
首先我们在windows上安装上VCXSRV,为什么装这个?问就是我看的教程都这样oo。
点击download即可。打开可执行文件:
下一步选择start no client
下一步,勾上Disable access control
上述操作完成后,在~/.bashrc中添加export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
用于将显示信息绑定到windows的x-server。【每次修改完.bashrc后,如果想让他即刻生效,可以执行source ~/.bashrc】
踩坑1-GL Renderer Started -> Segmentation fault
踩坑的时候我看到很多帖子让修改 LIBGL_ALWAYS_INDIRECT=1的,结果导致了rviz启动时出现Segmentation fault
执行rosrun rviz rviz -l
查看详细的运行消息,可以看到
查了下这个参数的作用:LIBGL_ALWAYS_INDIRECT=1,也就是设置为INDIRECT RENDERING(间接渲染)是传输OpenGL参数,最终绘图的是X.org。而DIRECT RENDERING是可以直接访问硬件进行渲染的。里接下来,不设置可能会更快?而且不用通过mesa和X.org少一些出现bug的机会?有懂得大佬请教教我==
遇到上面的问题我们可以进行这个设置:export LIBGL_ALWAYS_INDIRECT=0
踩坑2-仍然是GL Renderer Started -> Segmentation fault
如果出这样的错误
需要重新启动xlaunch,并在第三步设置additional parameter for VcXsrv为 -nowgl
在执行rviz
他回来了!!!!!!
再试下gazebo
他也在!!!