ROS安装过程
安装步骤
Ubuntu18.04 安装的ROS版本为melodic
(1)添加软件源
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://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
(3)安装melodic
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*
(4)初始化rosdep
1)
sudo 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
此时可以尝试手机热点或者科学**, 若不行 可以是修改hosts文件,添加这个网站的ip地址
参考:[添加链接描述]+(https://blog.csdn.net/weixin_42026571/article/details/105782652)
# 1 打开hosts文件
sudo gedit /etc/hosts
# 2 在文件末尾添加 并保存
151.101.84.133 raw.githubusercontent.com
# 3 重复初始化步骤
2)
rosdep update
此时容易出现连接超时的问题,也可以通过手机热点或者科学** ,若不行,可以修改代理
参考:添加链接描述
修改位于/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py的函数download_rosdep_data
首先进入文件
cd /usr/lib/python2.7/dist-packages/rosdep2/
sudo gedit sources_list.py
然后找到def download_rosdep_data(url)函数并添加:
url="https://ghproxy.com/"+url
如下所示:
def download_rosdep_data(url):
"""
:raises: :exc:`DownloadFailure` If data cannot be
retrieved (e.g. 404, bad YAML format, server down).
"""
try:
# http/https URLs need custom requests to specify the user-agent, since some repositories reject
# requests f
✔ url="https://ghproxy.com/"+url
if url.startswith("http://") or url.startswith("https://"):
url_request = request.Request(url, headers={'User-Agent': 'rosdep/{version}'.format(version=__version__)})
else:
url_request = url
f = urlopen(url_request, timeout=DOWNLOAD_TIMEOUT)
text = f.read()
f.close()
data = yaml.safe_load(text)
if type(data) != dict:
raise DownloadFailure('rosdep data from [%s] is not a YAML dictionary' % (url))
return data
except (URLError, httplib.HTTPException) as e:
raise DownloadFailure(str(e) + ' (%s)' % url)
except yaml.YAMLError as e:
raise DownloadFailure(str(e))
(5)安装rosinstall
sudo apt-get install python-rosinstall
如果出现缺少依赖的问题,需要安装必须的依赖包,参考:
添加链接描述
操作如下:
sudo apt-get install python-pip
sudo pip install -U rosinstall
(6)加载环境设置文件
source /opt/ros/melodic/setup.bash
由于每次开ROS 都需要运行该命令 为了避免之后的重复操作 可以
在/.bashrc 文件里面设置上
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(7)创建并初始化工作目录
ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化,catkin工作目录,如下所示
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
cd ~/catkin_ws/
catkin_make
(8)设置环境变量
sudo apt install net-tools
gedit ~/.bashrc
在文件末尾添加:
# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
# Set ROS Network
#ifconfig查看你的电脑ip地址
export ROS_HOSTNAME=192.168.31.38
export ROS_MASTER_URI=http://${ROS_HOSTNAME}:11311
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'
(9)小海龟测试
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key