在Ubuntu上安装ROS,连接智能小车

安装ros

要安装ros,首先你要找到对应你的os版本的ros版本。

ros一般运行在Ubuntu的LTS版本上,对于Debian Linux也有包管理支持,其它的Linux版本可能需要手动安装。

注意,根据官网说法,Windows和arc Linux也可以装,不过是实验性版本。

然后,我们点进对应的页面,首先要设置一下安装源。官网上给了好几个中国的镜像。在笔者饰演的时候,第一个中科大的镜像是失效的,因此笔者使用了清华的镜像

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

然后,设置密钥

curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

最后,安装

sudo apt update&sudo apt install ros-noetic-desktop-full

这步结束就成功了!

注意事项

用wsl,一定要记住通过hyper-V将连接模式该桥接

改完后要请求dchp服务器获取新的ip

sudo dhclient -r

此时桥接模式也许无法连上外网

请手动配置ip和gateway:

sudo ifconfig eth0 192.168.0.102 netmask 255.255.255.0
sudo route add default gw 192.168.0.1

然后我们需要改掉之前的dns,首先要关闭wsl自动生成resolve.conf的功能

修改/etc/wsl.conf,添加内容

[network]
generateResolvConf = false

然后

sudo unlink /etc/resolv.conf

最后修改/etc/resolv.conf为你的dns地址

nameserver 192.168.0.1

还要注意,使用xserver显示wsl的gui的时候,需要将VcXsv的native openGL选项取消勾选,并在bashrc中加入

export LIBGL_ALWAYS_INDIRECT=0

否则ros的很多gui都无法正常显示。参考此处

参考资料