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

本文详细介绍如何在ROS中设置工作空间,包括目录结构的创建、包的建立及编译流程。同时,深入探讨launch文件的编写方法,通过实例演示如何实现对机器人系统的配置与控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.demodemolaunchroslaunchmylaunchtelop2.launch就可以通过键盘来控制第二个乌龟运动了4.乌龟追逐demo打开demolaunch文件 roslaunch turtle_tf turtle_tf_demo.launch
启动键盘控制
$ rosrun turtlesim turtle_teleop_key
就可以通过键盘控制第一个乌龟,第二个乌龟跟随第一个乌龟了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值