zoukankan      html  css  js  c++  java
  • 适合初学者的ROS机器人教程(1): Ubuntu下ROS创建自己的包和使用github下载的包

    ROS如何创建自己的包

    作者:知乎@Ai酱

    1. 首先创建catkin工作空间(如果你以及有了请忽略)

    $ mkdir catkin_ws # 创建一个文件夹里面计划放我们的项目,ws是workspace的缩写
    $ cd catkin_ws # 将当前工作文件夹切换到catkin_ws这个文件夹
    ~/catkin_ws$ catkin_make # 执行catkin_make创建一ROS项目
    

    此时你的catkin_ws这个目录已经生成了三个文件夹,注意:你只需要关心"catkin_ws/src"这个文件夹。 也就是说,我们写代码,或者从github下载了别人的包都在这个文件夹下进行。

    2. 使用catkin_create_pkg命令创建包

    首先,创建名为“hello_ros_pkg”的包。

    ~/catkin_ws$ cd src # 记得前面说了啥不?我们只关心src这个目录,创建包也必须到这个目录下创建
    # catkin_create_pkg 包名 依赖包1 依赖包2 依赖包3
    # 创建一包名为“hello_ros_pkg”的包,它的依赖包有rospy roscpp std_msgs
    ~/catkin_ws/src$ catkin_create_pkg hello_ros_pkg rospy roscpp std_msgs
    输出:
    Created file hello_ros_pkg/package.xml
    Created file hello_ros_pkg/CMakeLists.txt
    Created folder hello_ros_pkg/include/hello_ros_pkg
    Created folder hello_ros_pkg/src
    Successfully created files in /home/litao/catkin_ws/src/hello_ros_pkg. 
    Please adjust the values in package.xml.
    

    此时在~/catkin_ws/src目录下有个hello_ros_pkg的文件夹它的结构如下所示:

    .
    ├── CMakeLists.txt  这个是告诉系统怎么编译这个包
    ├── include
    │   └── hello_ros_pkg 
    ├── package.xml   这个写依赖哪些包(我们之前依赖的rospy roscpp std_msgs都在这里有)
    └── src
    

    小提示:

    rospy 写python脚本控制机器人时要依赖它
    roscpp 写c++代码控制机器人要依赖它
    std_msgs 要与机器人进行消息通信要依赖它(基本会用到的)

    然后,编译整个项目。

    $ cd ~/catkin_ws # 回到catkin_ws工作空间这目录
    $ catkin_make # 编译整个项目
    

    安装了一个ROS包后,怎么找包在哪,以及看看包里面有哪些文件和文件夹,以及如何定位到某个包的文件夹

    $ rospack list # 列出所有包
    $ rospack list | grep ur # 查询所有包名中带"ur"这两个字符的包,比如你安装了ur5机器人但是忘了包名就可这样找包名
    $ rosls ur5_moveit_config # 列出包名为"ur5_moveit_config"的包里面的文件
    前面三行输出格式均为: 包名 包的绝对路径
    $ rospack find ur5_moveit_config # 找包名为"ur5_moveit_config"的包所在的绝对路径
    输出:绝对路径
    $ roscd ur5_moveit_config # 将当前工作目录切换为"ur5_moveit_config"的包所在的文件夹
    

    注意从github下载了别人的包到catkin_ws/src目录下后,记得一次性下载完别人的依赖项,记得回到工作空间catkin_ws/这个目录(它里面有src文件夹)
    命令为:

    ~/catkin_ws$ rosdep install --from-paths src --ignore-src -r -y 
    
    知乎 https://www.zhihu.com/people/yuanmuou/activities
  • 相关阅读:
    看Web视频整理标签笔记
    公文流转系统进度
    文件和流课堂实验三
    文件和流课堂实验二
    2018/10/21动手动脑
    第二次实验报告动手动脑
    2018.10.11上课进度说明
    原码反码补码
    课上动手动脑总结
    Java实验一——习题册+登陆界面 总结
  • 原文地址:https://www.cnblogs.com/ailitao/p/11047312.html
Copyright © 2011-2022 走看看