ros、pcl的ubuntu18.04安装
ros安装遇到了很多麻烦,经过调查,可以这样解决:
https://blog.csdn.net/qq_54556560/article/details/125420055(18.04)
https://blog.csdn.net/gls_nuaa/article/details/135465347 (20.04)
为防止网页404,在这里黏贴复制原文。
前言
安装了很多次,东拼西凑好多博主的方法,最后找到适合自己的,并且将Ubuntu卸载重装,所有环境都重新安装,依然没有出现问题。
安装
Ubuntu18.04对应的ros版本为:Melodic,安装时要注意(Ubuntu20.04安装ros只需要将下列终端命令中的所有 Melodic 改为 noetic,因为Ubuntu20.04对应的Ros版本为 noetic)
下载(不建议)
打开软件和更新做以下操作
中科大源,在终端输入:
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
然后回车
在终端输入:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
然后回车
更新软件包列表,在终端输入:
sudo apt update
回车
安装,在终端输入:
sudo apt install ros-melodic-desktop-full
选择y,然后回车
设置环境变量,在终端输入:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
下载组件,在终端输入(20.04需要python3):
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
然后回车
选择y,然后回车
rosdep init
初始化,在终端输入:
sudo rosdep init
然后回车,一般会报错
解决1、2:
1.终端输入以下命令并回车:
sudo gedit /etc/hosts
把下面这些地址拷贝到hosts文件末尾,然后保存
199.232.28.133 raw.githubusercontent.com
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com
54.239.31.69 aws.amazon.com
54.239.30.25 console.aws.amazon.com
54.239.96.90 ap-northeast-1.console.aws.amazon.com
54.240.226.81 ap-southeast-1.console.aws.amazon.com
54.240.193.125 ap-southeast-2.console.aws.amazon.com
54.239.54.102 eu-central-1.console.aws.amazon.com
177.72.244.194 sa-east-1.console.aws.amazon.com
176.32.114.59 eu-west-1.console.aws.amazon.com
54.239.31.128 us-west-1.console.aws.amazon.com
54.240.254.230 us-west-2.console.aws.amazon.com
54.239.38.102 s3-console-us-standard.console.aws.amazon.com
54.231.49.3 s3.amazonaws.com
52.219.0.4 s3-ap-northeast-1.amazonaws.com
54.231.242.170 s3-ap-southeast-1.amazonaws.com
54.231.251.21 s3-ap-southeast-2.amazonaws.com
54.231.193.37 s3-eu-central-1.amazonaws.com
52.218.16.140 s3-eu-west-1.amazonaws.com
52.92.72.2 s3-sa-east-1.amazonaws.com
54.231.236.6 s3-us-west-1.amazonaws.com
54.231.168.160 s3-us-west-2.amazonaws.com
52.216.80.48 github-cloud.s3.amazonaws.com
54.231.40.3 github-com.s3.amazonaws.com
52.216.20.171 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168 github-production-user-asset-6210df.s3.amazonaws.com
2.终端输入以下命令并回车
sudo gedit /etc/resolv.conf
将原有的nameserver那一行注释,并添加以下两行后保存:
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
终端最后再次输入:
sudo rosdep init
显示如下图所示,则成功!
在终端输入:
rosdep update
然后回车
会出现错误:我这里错误有两种形式
解决:
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
添加一行代码:
url="https://ghproxy.com/"+url
然后保存
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
将原来的DEFAULT_INDEX_URL网址前加: https://ghproxy.com/
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
然后保存
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
在第36行网址前边加:
https://ghproxy.com/
然后保存
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
在第72行网址前边加:
https://ghproxy.com/
然后保存
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
在第39行网址前边加:
https://ghproxy.com/
然后保存
终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
在第68、119行网址前边加:
https://ghproxy.com/
然后保存
在终端输入:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
在第204行添加一行代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
然后保存
终端输入:
rosdep update
问题解决!
检查是否安装成功,终端输入:
roscore
然后回车
打开第二个新的终端输入:
rosrun turtlesim turtlesim_node
然后回车,出现小海龟
打开第三个终端输入:
rosrun turtlesim turtle_teleop_key
然后回车
用方向键可以控制小乌龟,我画了一个四边形。
检查rviz等功能的运行
打开第一个终端输入:
roscore
然后回车
打开第二个终端输入:
rosrun rviz rviz
然后回车
出现下图,表示没有问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理