概述
一、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安装与配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复