我是靠谱客的博主 光亮唇膏,最近开发中收集的这篇文章主要介绍【ROS】ROS安装与配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、ROS的安装

ubuntu16.04(虚拟机安装)

设置电脑以安装来自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 apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

更新软件包:

sudo apt update

安装ROS(Kinetic版本的)

sudo apt install ros-noetic-desktop-full

坑:正常来说,安装full的版本就可以带有catkin_make,但是后续我make时,找不到catkin
解决:先安装了sudo apt aptitude,然后sudo aptitude catkin_make,再重新安装的ROS

查看ROS包,,成功的话就可以顺利看到ros包:

apt search ros-kinetic

 二、环境配置

需要在使用ROS的每个bash终端中source这个脚本:

source /opt/ros/kinetic/setup.bash

三、创建ROS工作空间

我们开始创建和构建一个catkin工作空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make

 catkin_make命令在catkin工作空间中是一个非常方便的工具。在你的工作空间中第一次运行它时,它会在src目录下创建一个CMakeLists.txt的链接。

另外,如果你查看一下当前目录应该能看到build和devel这两个目录。在devel文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在环境的最顶层。

source devel/setup.bash

要保证工作区被安装脚本正确覆盖,需确定ROS_PACKAGE_PATH环境变量包含你当前的工作空间目录:

echo $ROS_PACKAGE_PATH
/home/<username>/catkin_ws/src:/opt/ros/<distro>/share

四、ROS文件系统导览

rospack:允许你获取软件包的有关信息
rospack find [package_name]    Eg:rospack find roscpp

roscd:rosbash命令集的一部分,它允许你直接切换目录(cd)到某个软件包或者软件包集当中
roscd [locationname[/subdir]]  Eg:roscd roscpp
注:roscd只能切换到那些路径已经包含在ROS_PACKAGE_PATH环境变量中的软件包

roscd log:进入存储ROS日志文件的目录

五、创建ROS软件包

一个包要想称为catkin软件包,必须符合以下要求:

  • 这个包必须有一个符合catkin规范的package.xml文件

    • 这个package.xml文件提供有关该软件包的元信息

  • 这个包必须有一个catkin版本的CMakeLists.txt文件

    • 如果它是个Catkin元包的话,则需要有一个CMakeList.txt文件的相关样板

  • 每个包必须有自己的目录
    • 这意味着在同一个目录下不能有嵌套的或者多个软件包存在

最简单的一个软件包是:

my_package/
  CMakeLists.txt
  package.xml

上文已经说明如何创建一个ROS的catkin工作空间,一个简单的工作空间的文件结构如下所示:

workspace_folder/        -- WORKSPACE
  src/                   -- SOURCE SPACE
    CMakeLists.txt       -- 'Toplevel' CMake file, provided by catkin
    package_1/
      CMakeLists.txt     -- CMakeLists.txt file for package_1
      package.xml        -- Package manifest for package_1
    ...
    package_n/
      CMakeLists.txt     -- CMakeLists.txt file for package_n
      package.xml        -- Package manifest for package_n

创建catkin软件包:

cd ~/catkin_ws/src

使用catkin_create_pkg命令创建一个名为beginner_tutorials的新软件包,这个软件包依赖于std_msgs、roscpp和rospy:

catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
Eg:catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

在catkin工作区中构建软件包:

cd ~/catkin_ws
catkin_make

要将这个工作空间添加到ROS环境中,你需要source一下生成的配置文件:

. ~/catkin_ws/devel/setup.bash

可以使用rospack命令工具来查看这些一级依赖包:

坑:报错说没有sudo rosdep init初始化,但sudo rosdep init后报错说网络不支持

解决: 参考https://www.icode9.com/content-4-697404.html

rospack depends1 beginner_tutorials
     std_msgs
     rospy
     roscpp 

(每次重新开终端,都要重新. ~/catkin_ws/devel/setup.bash,要不然无法使用ROS的相关指令)

最后

以上就是光亮唇膏为你收集整理的【ROS】ROS安装与配置的全部内容,希望文章能够帮你解决【ROS】ROS安装与配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部