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。

下载VCXSRV

点击download即可。打开可执行文件:

image-20220715114749758

下一步选择start no client

image-20220715114817820

下一步,勾上Disable access control

image-20220715120521264

上述操作完成后,在~/.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

image-20220715115828055

执行rosrun rviz rviz -l查看详细的运行消息,可以看到

image-20220715120819899

查了下这个参数的作用: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

如果出这样的错误image-20220715115406550

需要重新启动xlaunch,并在第三步设置additional parameter for VcXsrv为 -nowgl

image-20220715121020999

在执行rviz

image-20220715121216066

他回来了!!!!!!

再试下gazebo

image-20220715121302245

他也在!!!

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐