WSL (Ubuntu 18.04 LTS) 安装ROS,可运行Rviz和Gazebo

在wsl2下安装ros以实现kinova gen3机械臂驱动以及调用gen3摄像头跑darknet_ros踩坑经历(含cuda cudnn安装) 选择如下选项,这样选wsl-ubuntu 所下载的安装包就没有linux nvidia driver ,之前已经在windows端安装了driver 这样可以避免linux端安装的driver覆盖windows端的设置,以避免出现问题(干脆不下载)。这是因为设备用的3070ti规格高,但是darknet_ros元包编写时用的显卡设备没有这么高 他设置的compute_30太低,修改元包根目录下的Makefile文件 将设备号修改成对应标号,删除其他标号,就可以解决这个bug,对应关系参见。 阅读详情
AI摘要

本文详细介绍了在WSL(Ubuntu18.04LTS)环境下安装ROS(melodic)的步骤,包括安装WSL、配置源、安装ROS、环境配置、安装依赖及初始化rosdep、检测安装、安装Xserver以及运行示例程序如小乌龟、Rviz和Gazebo。

WSL (Windows Subsystem for Linux) 非常好用,但是如何在里面安装ROS并成功使用呢?这篇博客会详细告诉你。

WSL (Ubuntu 18.04 LTS) 安装ROS,可运行Rviz和Gazebo

1. 安装WSL(若没有安装)

可以根据这篇教程安装,提醒下如果是国内用户最好换一下镜像源,更新和安装速度更快,该教程也有讲到:https://blog.youkuaiyun.com/kidcad/article/details/99445957?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.nonecase

因为现在Ubuntu已经更新到20.04 LTS focal版本了,Windows Store里面默认安装的Ubuntu是最新版也即20.04 LTS版本,如果想要安装以前的版本,那么就可以安装带版本号的版本,如下图的Ubuntu 18.04 LTS。

这是我目前的WSL版本:

顺便推荐用Windows Store里面的Terminal,很好看很好用,我目前用的就是这个。然后可以根据这个教程,把Windows Terminal添加都右键菜单,并cd到指定位置:https://blog.youkuaiyun.com/Jioho_chen/article/details/101159291

2. 安装ROS

因为这个WSL是Ubuntu 18.04 LTS,所以安装ROS的过程跟在Ubuntu 18.04 LTS上面安装是一样的,可以根据官方ROSWIKI的教程:http://wiki.ros.org/melodic/Installation/Ubuntu.,如果熟悉ROS的安装,安装完成后可以直接跳到第三节.。

2.1 确定版本

注意不同Ubuntu版本对应不同的ROS版本,18.04 bionic对应的是melodic,其他的版本对应如下(图片截取自http://wiki.ros.org/Distributions):
在这里插入图片描述
不过不用太在意,因为添加源的时候是用宏根据Ubuntu版本自动添加的。

2.2 添加源

如果是国内用户可以按照以下方法,替换国内镜像源再进行安装。

具体就是当在执行这个语句的时候(添加官方源的时候):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

改为国内的源,比如中科大的镜像源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

或者清华的镜像源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

其余都一样了。

2.3 设置密匙Key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

2.4 安装

首先进行一次更新,然后一般都安装桌面完整版(Desktop-Full),除了包含ROS的基础功能(核心功能包、构建工具和通信机制)外,还包含丰富的机器人通用函数库、功能包(2D/3D感知功能、机器人地图建模、自主导航等)以及工具(rviz可视化工具、gazebo仿真环境、rqt工具箱等):

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full

如果你是其他版本的Ubuntu,那么就需要替换 melodic 为其他对应版本号。

2.5 环境配置

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

2.6 安装依赖以及初始化rosdep

sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
sudo rosdep init
rosdep update

如果你在执行 rosdep init 过程中出现以下错误

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

这是由于raw.githubusercontent.com被墙,程序无法下载相应的文件导致的。解决方法就是要使得raw.githubusercontent.com能够被正常访问。由于这个网站被墙的方式是DNS污染,所以我们只要能够找到这个网站的正确ip就可以了。我们可以去https://site.ip138.com/raw.githubusercontent.com/查询IP,比如最近raw.githubusercontent.com在日本的IP就是151.101.108.133.

我们把

151.101.108.133 raw.githubusercontent.com

添加到自己电脑的hosts文件里面就行,文件路径为 /etc/hosts

20210809 更新

现在上面这个方法好像不可用了,有一个很稳定的方法:可以试一下连接手机热点下载或者连接手机USB用手机当路由器

2.7 检测

用 roscore 指令试一试是否安装成功,若出现如下则成功:

$ roscore
... logging to /home/def/.ros/log/f75f215c-b854-11ea-8eb4-54e1ad5912f7/roslaunch-DESKTOP-7MMULM3-419.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://DESKTOP-7MMULM3:54367/
ros_comm version 1.14.5


SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.5

NODES

auto-starting new master
process[master]: started with pid [429]
ROS_MASTER_URI=http://DESKTOP-7MMULM3:11311/

setting /run_id to f75f215c-b854-11ea-8eb4-54e1ad5912f7
process[rosout-1]: started with pid [440]
started core service [/rosout]

3. 安装Xserver,用于WSL的图形化显示

如果要在WSL上面运行图像化程序,需要安装一个Xserver,可以安装VcXsrv,链接:https://sourceforge.net/projects/vcxsrv/

安装完成后,需要在WSL里面config一下:

sudo vim ~/.bashrc

在末尾添加以下内容

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=
export LIBGL_ALWASY_SOFTWARE=1

添加 LIBGL_ALWAYS_INDIRECT= 这个很奇怪的操作是我在这个论坛讨论上看到的,很玄学的问题,不加上去就不能正常显示ROS的图形化输出。

完成后ESC再输入:wq保存退出,然后记住 source:

source ~/.bashrc

在Windows下面运行XLanuch,将 Display Number 改为0
image-20200612160041639
把 Native OpenGL 取消掉

其他就一路默认然后结束。

4. 运行例程

4.1 运行小乌龟

现在我们可以运行图形化程序了,所以就试一试经典的小乌龟。

首先确保运行了第三节的XLaunch且配置正确。

依次在不同的terminal窗口运行:

$ roscore
$ rosrun turtlesim turtlesim_node
$ rosrun turtlesim turtle_teleop_key

然后在 turtlesim turtle_teleop_key 的窗口按方向键,小乌龟顺利跑起来了:

4.2 运行Rviz

完美运行,虽然稍微有点延迟和卡顿,或许是我电脑有点垃圾的原因。

4.3 运行Gazebo

完美运行
在这里插入图片描述

5. 其他问题

关于ROS找不到package的问题:
在~/.bashrc 里面添加相应路径

source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src

然后记得source一下,摘自https://blog.youkuaiyun.com/hanhanmaimai/article/details/78705672.

6. 参考

本文部分内容参考自https://janbernloehr.de/2017/06/10/ros-windows.

wsl rviz可视化 众所周知,wsl是没法显示界面的,但是ros中一些可视化的操作又必须要做,难道要放弃wsl了吗,不不不,我还想好好用我的微信,玩我的lol! 阅读详情

相关推荐

Win11 + WSL2 搭建 ros + gazebo 环境以及通过 VcXsrv 在 WSL2 上使用图形化界面(xfce4)

Win11 + WSL2 搭建 ros + gazebo 环境以及通过 VcXsrv 在 WSL2 上使用图形化界面(xfce4)

qq_51908382的博客 1万+

遨博协作机器人ROS开发 - Gazebo仿真与控制真实机器人

大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),在上一篇中,我们介绍了协作机器人ROS环境的安装与初步运行测试,可以通过Moveit!进行机械臂的运动规划,当然上述操作的最终目的还是要控制机器人按照预想的轨迹进行运动,控制机器人运动有两种模式,分别是控制仿真机器人和真实机器人,下面介绍这两种模式的使用方法。

aubo_academy的博客 1万+

Ubuntu 18.04深度解析:ROS机器人、Docker容器与实时内核的工业级适配

Linux发行版不仅是操作系统,更是嵌入式AI与机器人系统的底层基础设施。Ubuntu作为主流开源桌面发行版,其LTS版本在工业控制、ROS机器人开发和边缘AI部署中承担着关键角色。核心在于内核实时性(如4.15内核的高精度定时器与PREEMPT支持)、容器运行时(Docker与snap的协同机制)以及硬件驱动栈(NVIDIA GPU、USB串口、ARM平台兼容性)的深度整合。这些能力共同支撑SLAM建图、实时传感器同步、CUDA加速推理等典型场景。本文聚焦Ubuntu 18.04这一被长期低估的‘工业黄金

weixin_34357928的博客 490

WSL+ROS

本文简单介绍了 WSL+ROS 的一个开发环境搭建

steven_ysh的博客 2747

VMware Pro 14 + Ubuntu 18.04 稳定开发环境搭建指南

虚拟机开发环境是嵌入式系统、机器人仿真(如ROS/Gazebo)和工业软件测试的关键基础设施。其核心在于宿主与客户机的内核兼容性、驱动稳定性及工具链一致性。VMware Workstation Pro 14凭借对Linux内核4.15的深度适配,显著降低vmhgfs模块编译失败率与USB/显示异常概率;Ubuntu 18.04 LTS则因长期支持特性、GCC 7.5版本锁定及ROS Melodic官方兼容性,成为工业级可复现部署的事实标准。本文聚焦工程落地中的三大刚性需求:旧版本软件合法获取路径、高分辨率显

weixin_33795743的博客 856

Ubuntu18.04双系统部署与ROS+AI开发环境一站式配置指南

本文提供了一份详尽的Ubuntu 18.04双系统部署与ROS+AI开发环境一站式配置指南。内容涵盖从双系统安装、ROS Melodic配置、桌面环境优化,到NVIDIA显卡驱动、CUDA、cuDNN的深度安装,以及TensorFlow、PyTorch等深度学习框架的集成,旨在帮助机器人及AI开发者快速搭建稳定高效的开发工作站。

weixin_29231263的博客 561

ROS2在wsl环境下的安装

ROS2在wsl环境下的安装,包括实现ros2在win中的窗口可视化

m0_54342116的博客 173

WSL2下ROS2 rviz2 GPU加速直连方案:绕过X11实现eglfs零拷贝渲染

rviz是ROS/ROS2中核心的3D可视化工具,其性能高度依赖OpenGL上下文创建与GPU硬件加速能力。在Windows平台通过WSL2运行rviz时,传统X11转发面临认证失败、GLX上下文不兼容、软渲染(llvmpipe)等典型问题,导致帧率低下、TF卡顿、点云撕裂。根本原因在于WSL2图形栈与rviz对原生OpenGL 3.3+的严苛要求存在架构级错配。本文聚焦EGL Surfaceless Context机制,利用DRM直连与KMS配置,实现rviz2绕过X Server和Wayland合成层,

weixin_34364071的博客 252

Win10系统和子系统Ubuntu16.04 安装 ros

1、添加ROS软件源(sources.list) sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' 2、添加密钥 sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD...

jacke121的专栏 2078

Turtlebot3 PC端设置:ROS 2 Humble+Ubuntu 22.04系统级校准指南

机器人操作系统(ROS)是构建自主移动机器人感知-决策-执行闭环的核心框架,其本质是一套面向实时性、分布式与硬件抽象的中间件架构。ROS 2基于DDS通信机制,强调节点发现、时间同步与TF坐标系一致性,技术价值在于支撑SLAM建图、导航控制与多传感器融合等高阶功能。典型应用场景包括高校机器人教学、算法在真实硬件上的验证,以及服务机器人原型开发。然而,环境配置失败常导致TF树断裂、激光数据丢失或里程计漂移等现象,根源多在于Ubuntu系统层驱动兼容性、串口权限与固件协议匹配问题。本文聚焦Turtlebot3在

weixin_30509393的博客 494

某手 v8.x 签名计算方法(二) sig和__NS_sig3

一、目标 今天的目标是 sig和__NS_sig3,咱们抓个包先 二、步骤 sig目测像是MD5 先jadx搜索 sig= ,没有找到结果。 再试试 sig ,晕倒 6k多个结果,突然灵光一闪,这些参数,必然是要加入到 Map中,那么我们搜索 "sig" 应该就是这个 CPU.getClock,Hook之 var signCls = Java.use('com.yxcorp.xxx.util.CPU'); signCls.getClock.implementation = function(a,b,c

fenfei331的博客 2428

没有真机也能先起步:Windows 11 + WSL2 搭建启元 Q1 SDK 环境(附 17 个实测坑排查手册)

没有真机也能先起步:Windows 11 + WSL2 搭建启元 Q1 SDK 环境(附 17 个实测坑排查手册)

qq_2778465975的博客 2万+

Visio 2013安装遇阻?手把手教你搞定注册表权限错误1402(附64位系统特殊处理)

本文详细解析了Visio 2013安装过程中常见的注册表权限错误1402问题,特别是在64位系统下的特殊处理方法。通过分步指导如何修改注册表权限、处理Wow6432Node分支以及使用高级工具如subinacl,帮助用户顺利完成安装并避免常见连带问题。

t8u9v0w1x的博客 543

Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!

Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!

漫长IT路 3835

机器学习预测土壤养分:从电导率、pH到随机森林与神经网络的农业实践

在智慧农业与精准农业领域,机器学习已成为处理复杂农业数据、挖掘潜在规律的关键技术。其核心原理在于通过算法从多维数据中自动学习特征与目标变量之间的映射关系,尤其擅长捕捉非线性关联。这项技术的核心价值在于能够将传统上依赖昂贵、耗时实验室分析的问题(如土壤养分检测),转化为基于易获取传感器数据(如电导率、pH值)的快速、低成本预测任务,为农业生产的实时决策与资源优化提供了全新可能。其典型应用场景包括作物生长监测、产量预测以及精准施肥管理等。本文聚焦于利用随机森林和神经网络等回归算法,构建通过土壤物理参数预测氮磷钾

weixin_33693070的博客 665

不会路由器叠加多条宽带?看这个就够了,能让你的局域网速度更快!

通常我们在企业网络或实际项目中,随着用户的增加,一条或者几条带宽不能满足正常使用,便可以对带宽进行叠加,便于网络带度更快;通常家里有可能有两条带宽的,联通或移动的,可能都是充话费送的,但网速都不怎么样,不用可惜,用之委屈,那怎么办呢?如在迅雷上开启下载,多个资源同时下载,此时总带宽可以达到120M,也就是WAN口带宽可以叠加。多wan口路由器, 一般是有2个wan口,分别为wan1与wan2。当然也有更多的wan口的。[1] 对整个局域网来说,出口带宽数量多了,相当于总带宽上升,这样是可以起到叠加效果。

qq_43416206的博客 1111

Ubuntu 18.04 Bionic Beaver深度技术解析:内核、Wayland、Snap与Systemd四大变革

Linux发行版的长期支持版本(LTS)不仅是版本迭代,更是底层基础设施的代际跃迁。以Ubuntu 18.04(Bionic Beaver)为例,其核心升级涵盖Linux内核4.15、默认显示服务器Wayland、snap包管理机制及systemd 237服务模型——这些变更共同重构了硬件兼容性、GUI安全沙盒、应用分发范式与进程生命周期管理。尤其在机器人操作系统(ROS)开发场景中,内核升级显著改善USB设备识别与ARM平台GPU加速,而Wayland默认启用则引发rviz等工具的OpenGL上下文兼容问

dechen6073的博客 629

【C语言】一文带你拿捏分支和循环语句(一万字详细讲解)

if/switch语句、while/fo/do...while循环语句、goto语句详解

StackFrame 1233

Ubuntu 18.04部署code-server云IDE实战指南

云IDE是一种将完整集成开发环境运行在远程服务器、通过浏览器访问的技术范式,其核心原理是服务端执行编辑、调试与终端逻辑,前端仅负责渲染与交互。该架构显著降低本地硬件依赖,提升跨设备协同效率,并天然支持HTTPS加密、RBAC权限控制与资源隔离等企业级技术价值。典型应用场景包括老旧设备开发赋能、内网安全环境下的远程协作、ROS/Melodic等LTS生态的现代化工具链升级,以及多用户共享开发环境的快速交付。本文聚焦Ubuntu 18.04这一广泛用于科研、工业与ROS开发的长期支持系统,深入解析code-se

weixin_30924239的博客 323

如何使用PostgreSQL数据库进行数据仓库的ETL操作

本文旨在为数据工程师、数据库管理员和分析师提供使用PostgreSQL进行数据仓库ETL操作的全面指南。ETL流程的基本原理PostgreSQL在ETL中的独特优势实际ETL实现的技术细节性能优化和最佳实践常见问题的解决方案首先介绍ETL和PostgreSQL的基本概念然后深入探讨核心技术和实现方法接着提供实际案例和代码示例最后讨论优化技巧和未来趋势ETL:提取(Extract)、转换(Transform)、加载(Load)的缩写,描述数据从源系统移动到目标数据仓库的过程。

2502_91592937的博客 873

《QGIS快速入门与应用基础》021:插件仓库 URL 获取与添加

详细介绍了在QGIS中添加第三方插件仓库的方法。首先强调必须从官方推荐、开源社区等可靠渠道获取插件仓库URL以确保安全性,并列出了4类可信获取渠道。文章分步骤讲解了URL添加流程,包括打开插件管理器设置面板、填写仓库信息、刷新缓存验证等操作。针对常见问题如URL格式错误、连接失败等提供了具体解决方案。最后总结指出,成功添加第三方仓库后即可直接搜索安装各类专业插件,从而扩展QGIS功能边界。全文注重实操指导,特别适合需要安装行业专用插件的QGIS用户参考。

LuckyHanMo的博客 464

Win11 WSL2 + Ubuntu 18.04 + ROS:打造你的机器人开发‘副屏’,还能跑CUDA和PyTorch

本文详细介绍了如何在Windows11的WSL2环境中配置Ubuntu18.04和ROS Melodic,打造高效的机器人开发环境。通过WSL2原生支持CUDA加速和PyTorch框架,实现从ROS仿真到AI模型训练的无缝衔接,提升开发效率。

weixin_32745665的博客 282

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

Openclaw错误排查及解决方案之:Previous run is still shutting down. Please try again in a moment.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 232

解决 qt.qpa.xcb: could not connect to display 问题

问题背景 系统:微软子系统WSL中的Ubuntu20.04 安装了Ros系统,为了在WSL上运行图形化程序,安装了Xserver,在测试ROS时发生了报错 主要是参考这篇文章 问题描述 在参考前面那篇文章运行rosrun turtlesim turtlesim_node命令时,出现错误: qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even

hypc9709的博客 3万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

告别双系统!在Win11的WSL2里用Ubuntu 18.04跑ROS Melodic,保姆级避坑指南

本文详细介绍了如何在Windows11的WSL2环境中安装Ubuntu18.04并运行ROS Melodic,提供从环境配置到图形界面支持的完整教程。通过WSL2,开发者可以告别双系统切换的烦恼,享受零重启、文件互访和GPU加速等优势,显著提升机器人开发效率。

weixin_29722783的博客 331

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Ubuntu 22.04源码编译ROS Noetic完全指南

ROS Noetic是ROS 1的最终长期支持版本,但官方仅支持至Ubuntu 20.04(Focal),不兼容Ubuntu 22.04(Jammy)。根本原因在于系统级ABI断裂:Python 3.10废弃API、GCC 11严格警告升级、CMake 3.22策略变更及glibc 2.35内存布局差异。这些底层不匹配导致apt安装必然失败或运行时崩溃,如cv_bridge段错误、rospy导入失败、rosbag线程异常等。技术价值在于实现ROS 1与现代驱动(NVIDIA 525+)、CUDA 12.x和

weixin_34009794的博客 448

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 【超详细】WSL (Ubuntu 18.04 LTS) 安装OpenCV
下一篇: Linux/Ubuntu Terminator在任务栏中消失/在任务栏中找不到 解决办法
Undefinedefity
博客等级 码龄7年 23粉丝 23原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值