ubuntu20.04/ubuntu18.04 + ros 安装

一、ros版本选择:

                        ubuntu20.04 选 Noetic

                        ubuntu18.04 选 Melodic

二、安装步骤

1、添加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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

3、更新软件源

sudo apt update

     如果显示以下界面,则可以继续下一步

命中:17 http://ppa.launchpad.net/wireshark-dev/stable/ubuntu bionic InRelease  
获取:18 http://mirrors.aliyun.com/ubuntu bionic-updates/universe amd64 DEP-11 Metadata [302 kB]
获取:19 http://mirrors.aliyun.com/ubuntu bionic-updates/multiverse amd64 DEP-11 Metadata [2,468 B]
获取:20 http://mirrors.aliyun.com/ubuntu bionic-proposed/main amd64 DEP-11 Metadata [3,168 B]
获取:21 http://mirrors.aliyun.com/ubuntu bionic-backports/universe amd64 DEP-11 Metadata [9,260 B]
已下载 2,090 kB,耗时 6秒 (341 kB/s)                                           
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
所有软件包均为最新。

4、安装ros

# ubuntu18.04
sudo apt-get install ros-melodic-desktop-full
# ubuntu20.04
sudo apt-get install ros-noetic-desktop-full


  若出现以下错误,请按照具体步骤解决

            (1) 下列软件包有未满足的依赖关系:
ros-melodic-desktop-full : 依赖: ros-melodic-perception 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
                解决方法:

# ubuntu18.04 
sudo apt-get install aptitude
sudo aptitude install  ros-melodic-perception
sudo apt-get install ros-melodic-desktop-full   # 重新进行下载


# ubuntu20.04 
sudo apt-get install aptitude
sudo aptitude install  ros-noetic-perception
sudo apt-get install ros-noetic-desktop-full   # 重新进行下载

5、初始化rosdep

sudo rosdep init

      (1)ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
                解决方法:

sudo gedit /etc/hosts

          然后在打开的hosts文件中添加以下内容,然后保存退出

199.232.28.133 raw.githubusercontent.com

         (2)ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
                解决方法:

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

            这个时候再输入sudo rosdep init命令试试,正常来说会出现以下界面,而不是我之前上面的那个界面

6、更新rosdep

rosdep update

     问题: 更新速度较慢

        尝试用以下去解决:

     (1) 安装rosdepc

sudo pip install rosdepc

     (2) sudo -H.......

sudo -H pip install rosdepc

     (3)如果没有显示pip的试试pip3

sudo pip3 install rosdepc

     (4)如果pip3还不可以,再试试这个

    sudo apt-get install python3-pip
    sudo pip install rosdepc

 重新初始化,更新以下,成功即显示以下画面

sudo rosdepc init
rosdepc update

 7、设置环境变量

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

# ubuntu 20.04
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

8、安装rosinstall

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

9、安装catkin编译器

sudo apt-get install ros-melodic-catkin python-catkin-tools

三、测试是否成功

       打开三个终端分别运行以下三个命令(每个命令一个终端,即三个终端)

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

    如出现小海龟则说明安装成功。

    错误:

zdg@1:~$ roscore
... logging to /home/zdg/.ros/log/5574b26e-2e7c-11eb-8470-4074e0a66b16/roslaunch-1-18514.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.

RLException: Unable to contact my own server at [http://1:41259/].
This usually means that the network is not configured properly.

A common cause is that the machine cannot connect to itself.  Please check
for errors by running:
	ping 192.168.1.117

For more tips, please see

	http://wiki.ros.org/ROS/NetworkSetup

The traceback for the exception was written to the log file


      解决办法:

          把原来的注释掉,只要改一下这个地址和用户名就可以了
         改成如下:

#export ROS_HOSTNAME=192.168.1.117
 export ROS_MASTER_URI=http://192.168.1.117:11311
export ROS_MASTER_URI=http://robot.local:11311
export ROS_HOSTNAME=robot.local

               修改后保存,然后

source ~/.bashrc

                然后再次启动roscore,成功

猜你喜欢

转载自blog.csdn.net/m0_48919875/article/details/126139303