ROS工作空间workspace的创建以及launch文件的编写

workspace工作空间以及launch文件的编写

建立工作空间

  1. 建立 工作空间目录
    回到主目录
    cd
    在主目录创建一个名字为my_ws的文件夹,并且在my_ws 文件夹里面建立一个名为src的文件夹,-p的作是建立子目录
    mkdir -p my_ws/src
  2. 使用catkin_make命令进行编译
    首先进入my_ws目录(如果在src目录可以通过cd ..命令返回上层目录,如果在主目录可以通过cd my_ws/命令然后执行
    catkin_make
    虽然是一个空的文件价,也能完成编译。
  3. 通过ls命令查看当前文件夹的文件,文件目录解析
    ls
    会看到一下文件夹
    build devel src
    my_ws(工作空间),src(源码),bulid(生成的),devel(安装空间),如果不希望泄露源码,可以只提供install文件给客户
  4. 工作空间的链接
    新的工作空间,必须在打开终端后链接一下,才能被系统挂载,具体的指令如下。
    source my_ws/devel/setup.bash
    my_ws为链接的工作空间,主要链接工作空间下devel文件夹下setup.bash文件
    工作空间使用前每次都需要source,如果不想每次都source,可以修改主目录下的.bashrc文件。
    使用文件管理器打开home目录,按ctrl+H命令显示隐藏文件,找到.bashrc 用gedit打开,翻到最后做如下修改。
    source /opt/ros/kinetic/setup.bash (原有)
    source ~/my_ws/devel/setup.bash (新增)然后保存,然后每次打开终端就会自动source

建立一个包

  1. 首先进入到工作空间的src目录,然后执行下面的命令
    catkin_create_pkg mylaunch (mylaunch为包名,需要自己设定)
  2. 执行rospack profile,更新现有包
    rospack profile
  3. 进入mylaunch目录,就可以在此目录创建launch文件了

launch文件的编写

  1. launch文件的结构,
      <launh>
      <node pkg="turtlesim" type="turtle_teleop_key" name="turtle_teleop_key">
      <remap from="turtle1/cmd_vel" to="turtle2/cmd_vel" />
      </node>
      </launch>
  1. 编写一个launch文件,通过键盘来控制上节课的第二个乌龟。
    进入在mylaunch目录,然后执行下面的命令 建立一个名字为telop,后缀为.launch的文件
    touch telop2.launch
    用gedit对其进行编辑
    gedit telop2.launch
  2. 把下面一段文字粘贴进去并保存。
     <launch>
      <node pkg="turtlesim" type="turtle_teleop_key" name="turtle_teleop_key">
      <remap from="turtle1/cmd_vel" to="turtle2/cmd_vel" /> 
      </node>
      </launch>

这个launch文件的目的是启动turtle_teleop_key节点,并把turtle1/cmd_vel话题的值通过remap命令,映射给turtle2/cmd_vel,这样就打开了键盘控制,并且把键盘控制的的消息发布给了乌龟2的运动控制节点
3. 启动telop2.launch文件,如果直接启动launch文件,不需要先roscore打开服务,launch文件会自己打开roscore
首先打开第二个乌龟
rosservice call /spawn “x: 0.0
y: 0.0
theta: 0.0
name: ””
name: “turtle2”
启动launch文件
roslaunchmylaunchtelop2.launch4.demodemolaunch r o s l a u n c h m y l a u n c h t e l o p 2. l a u n c h 就 可 以 通 过 键 盘 来 控 制 第 二 个 乌 龟 运 动 了 4. 乌 龟 追 逐 d e m o 打 开 d e m o l a u n c h 文 件 roslaunch turtle_tf turtle_tf_demo.launch
启动键盘控制
$ rosrun turtlesim turtle_teleop_key
就可以通过键盘控制第一个乌龟,第二个乌龟跟随第一个乌龟了。

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建一个ROSlaunch文件,你可以按照以下步骤进行操作: 1. 首先,在你的ROS工作空间找到你想要创建launch文件的功能包。可以使用命令`cd <workspace>/src/<package_name>`进入该功能包的目录。 2. 在功能包的目录下创建一个名为`launch`的文件夹。你可以使用命令`mkdir launch`来创建。 3. 进入`launch`文件夹,使用文本编辑器创建一个新的launch文件。你可以使用命令`touch <launch_file_name>.launch`来创建一个空的launch文件。 4. 打开这个新创建launch文件,并按照你的需求编写launch文件的内容。你可以参考ROSlaunch文件语法和示例来编写你的launch文件。在launch文件,你可以指定要启动的节点、节点的参数配置以及节点之间的关系等。 5. 保存并关闭launch文件。 6. 现在,你可以使用`ros2 launch`命令来启动你的launch文件。使用命令`ros2 launch <package_name> <launch_file_name>`,将会启动整个系统,包括所有在launch文件指定的节点和它们的配置。 总结起来,要创建一个ROSlaunch文件,你需要在功能包创建一个名为`launch`的文件夹,并在其创建一个launch文件。然后,按照你的需求编写launch文件的内容,并使用`ros2 launch`命令来启动该launch文件。 #### 引用[.reference_title] - *1* *3* [ROS2入门教程—创建一个launch文件](https://blog.csdn.net/qq_29923461/article/details/120404577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ROS学习(4)——launch文件编写](https://blog.csdn.net/bulletstart/article/details/130794565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值