Ros学习Day1
考完研后终于有时间更新了下博客,把之前写的水的帖子给处理下,由于自己毕业设计要做一个基于Ros的小车,进行slam地图建模以及控制。跟着入门的课程是B站上的古月居老师,特此记录每天的学习记录。
首先就是要有一个操作系统去运行Ros,这里我用的为ubuntu 18.04.2.这里要注意不同ubuntu版本对应的Ros版本不一样。如下表所示:
Ubuntu | ROS | End of Life |
---|---|---|
14.04 LTS | indigo lgloo | April, 2019 |
16.04 LTS | Kinetic Kame | April, 2021 |
18.04 LTS | Melodic Morenia | May, 2023 |
20.04 LTS | Noetic Ninjemys | May, 2025 |
下面安装Ros的时候一定要注意自己的系统所对应的版本。
然后注意自己系统的软件与更新的源,如下图所示应该就没有太大问题,
然后就可以开始安装Ros了。
1:设置sources.list(添加Ros软件源)
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 421C365BD9FF1F717815A3895523BAEEB01FA116
如果上面的指令输入不行的话,尝试将 hkp://keyserver.ubuntu.com:80换为下列:
hkp://ha.pool.sks-keyservers.net:80
或
hkp://pgp.mit.edu:80
3:安装Ros
sudo apt update
有时候这一步会出现无法定位软件包的问题,所以经过百度后得到了一种解决方案,还是在系统的软件更新里面:
点击添加:出现以下:
添加:
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
然后在运行上面指令:
sudo apt update
接着:
sudo apt-get install ros-melodic-desktop-full
等待其安装完:
4:初始化Rosdep
运行指令:
sudo rosdep init
但是我在运行该指令的时候出现了错误:安装ROS时执行到sudo rosdep init时出现sudo rosdep:找不到命令提示
根据网上提示:
sudo apt install [python](https://so.csdn.net/so/search?q=python)-rosdep2
输入上述指令后:继续
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.
继续输入以下指令:
sudo apt-get install python-rosdep python-wstool ros-melodic-ros
其中上述ros-melodic-ros根据自己安装的ros版本去更改:
在执行
rosdep-update
上面的指令输入完全真的凭运气全安装。因为众所周知的原因,会容易出错。所以这一步就听天由命。我去网上找的帖子有改各种东西的。反正我整完后不大好使。凭着运气装上了。
5:接下来最重要的就是设置Ros的环境变量
Linux下设置改环境变量的指令为:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
然后安装Ros命令行:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
6:运行小海龟指令
打开一个终端:
roscore
但是我这一步又报错了,具体错误如下:
ROS安装问题: “Command ‘roscore’ not found, but can be installed with: sudo apt install python-roslaunch”
根据提示输入: sudo apt install python-roslaunch,结果并没有用;仍旧报错:
E: Unable to correct problems, you have held broken packages.
输入以下指令查看:
cd /opt/ros/melodic/bin
ls -l
需要在文件夹 “/opt/ros/indigo/bin/” 里面存在名为 “roscore” 的二进制可执行文件,打开文件夹,检查文件是否存在:
应该文件是不存在的。接下来执行下列指令:
sudo apt-get install ros-melodic-desktop
执行指令:roscore。
出现下图则证明成功:另外开一个新的终端:输入指令:
rosrun turtlesim turtlesim_node
再开一个新的终端:输入:
rosrun turtlesim turtle_teleop_key
出现下列则证明Ros安装成功。到此安装结束。