ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ubuntu18.04 LTS安装ROS教程

2021-02-25 16:59:49  阅读:537  来源: 互联网

标签:LTS melodic ROS catkin list ros ubuntu18.04 gazebo


一,安装ubuntu 18.04
下载链接:https://releases.ubuntu.com/18.04.5/找到合适的版本安装

二,安装ROS melodic版本

1.设置sources.list(设置软件源),将电脑设置为可以从http://packages.ros.org接收软件

国外的:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

 

国内的,速度快:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

清华的:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME 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-get update

 4.下载ros 

sudo apt-get install ros-melodic-desktop-full

5.设置环境

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

6.安装rosdep

sudo apt install python-rosdep2

7.初始化操作,需要先初始化rosdep

rosdep能够轻松地安装要编译的源代码的系统依赖关系,并且需要在ROS中运行一些核心组件。

在使用 ROS 之前,需要先初始化 rosdep

rosdep 使得你可以为你想要编译的源码,以及需要运行的 ROS 核心组件,简单地安装系统依赖。

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 gedit /etc/hosts
#在文件末尾添加
151.101.84.133  raw.githubusercontent.com
ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize

直接删除就好

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

 

rosdep update

8.环境配置,添加ros环境变量。 如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

9.安装rosinstall,rosinstall是一种常用的命令行工具

到这一步,应该已经安装好了运行核心 ROS 包的所有东西。要创建和管理你自己的 ROS workspace,还有单独发布的许多的工具。比如,rosinstall 是一个常用的命令行工具,使你可以通过一个命令为 ROS 包简单地下载许多源码树。

要安装这个工具及其它的依赖以构建 ROS 包,则运行:

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

10.测试ROS是否已经安装成功

第一步:按住Alt+Ctrl+T打开一个新的终端,然后输入roscore

第二步:按住Alt+Ctrl+T打开一个新的终端,然后输入rosrun turtlesim turtlesim_node,会弹出一个小海龟

rosrun turtlesim turtlesim_node

第三步:按住Alt+Ctrl+T打开一个新的终端,然后输入rosrun turtlesim turtle_teleop_key,按键盘上的上下左右箭头,控制小海龟移动

rosrun turtlesim turtle_teleop_key

至此,ROS的安装已经基本完成,下面就可以进行ROS开发了

创建并初始化工作目录

 ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化

catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
  1.  执行完之后会在~/下生成catkin_ws工作空间,执行完catkin_init_workspace之后会在src下生成CMakeList.txt

即使这个工作空间是空的(在’src’目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:

cd ~/catkin_ws/
catkin_make

catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到’build’和’devel’这两个文件夹。在’devel’文件夹里面你可以看到几个setup.*sh文件。接下来首先source一下新生成的setup.*sh文件:

$ source devel/setup.bash

要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:

echo $ROS_PACKAGE_PATH
/home/<youruser>/catkin_ws/src:/opt/ros/melodic/share:/opt/ros/melodic/stacks

四,安装gazebo仿真软件
一般独立的gazebo软件在安装ROS时就已经安装好了,检查一下

gazebo

问题一:打开gazebo报错:VMware: vmw_ioctl_command error Invalid

argument
解决方法:
方法1:关闭虚拟机的3D图形加速,注意先关闭虚拟机再修改。

方法2:设置环境变量

export SVGA_VGPU10=0

一劳永逸方法

echo "export SVGA_VGPU10=0" >> ~/.bashrc

问题二:运行gazebo时出现api.ignitionfuel.org找不到
解决:修改~/.ignition/fuel中的config.yaml文件,将url: https://api.ignitionfuel.org修改为url: https://api.ignitionrobotics.org

which gzserver
which gzclient

出现下图:
在这里插入图片描述
安装gazebo_ros_pkgs

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control

查看是否安装完全

source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
roscore &
rosrun gazebo_ros gazebo &
rostopic list

在这里插入图片描述

rosservice list

五,配置Turtlebot3仿真环境
安装Turtlebot3需要的依赖包

sudo apt-get install ros-melodic-joy ros-melodic-teleop-twist-joy ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan ros-melodic-rosserial-arduino ros-melodic-rosserial-python ros-melodic-rosserial-server ros-melodic-rosserial-client ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro ros-melodic-compressed-image-transport ros-melodic-rqt-image-view ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers
cd ~/catkin_ws/src/
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ~/catkin_ws
catkin_make

测试成果:

export TURTLEBOT3_MODEL=burger
roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch

export TURTLEBOT3_MODEL=waffle
roslaunch turtlebot3_gazebo turtlebot3_world.launch

 

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_gazebo turtlebot3_house.launch

利用键盘控制小车行进

export TURTLEBOT3_MODEL=waffle_pi
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

 

 

标签:LTS,melodic,ROS,catkin,list,ros,ubuntu18.04,gazebo
来源: https://blog.csdn.net/weixin_42682108/article/details/114065544

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有