ROS 2边学边练(9)-- 用launch命令管理启动项

概念

        我们在前面的ROS 2体验过程中,一直拿小海龟这个例子来练手,过程比较轻松,因为只有两个节点(/turtlesim和/teleop_turtle),只需打开两个终端,ros2 run 节点就ok,但,现实中的节点数目一般都会比较多,如果闲的没事做,那可以一个终端一个终端的ros2 run下去,正常思维应该都不会这么干(即使真有人这么做了,也比较容易出现遗漏情况),那到底如何管理这众多的节点启动问题呢?launch就是干这个的,它会根据启动文件(.py或.launch文件,里面可以包含我们要启动的节点等相关信息,需要注意的是ROS 2不再使用XML(ROS中采用)进行启动配置,而是使用PYTHON写的脚本,这能提高启动系统的灵活度和可扩展性)将整个ROS系统(相关的所有节点包括配置文件等内容)拉起来。

动动手

launch小海龟

        本篇较为轻松,我们先感受下用launch方式启动两只小海龟:

$ros2 launch turtlesim multisim.launch.py

multisim.launch.py内容如下:

# turtlesim/launch/multisim.launch.py

from launch import LaunchDescription
import launch_ros.actions

def generate_launch_description():
    return LaunchDescription([
        launch_ros.actions.Node(
            namespace= "turtlesim1", package='turtlesim', executable='turtlesim_node', output='screen'),
        launch_ros.actions.Node(
            namespace= "turtlesim2", package='turtlesim', executable='turtlesim_node', output='screen'),
    ])

该份python写就的启动文件包含了命名空间(后面文章会涉及到)、功能包、节点等概念和内容,其会启动两个小海龟仿真节点(turtlesim,虽然名称一样,但因为是在不同的命名空间里面,所以允许这么干)。效果如下:

launch文件除了可以用python外,还可以用XML、YAML格式完成(关于launch文件内容我们后面文章会再次涉及,在rviz及gazebo中会在构造机器人结构中用到)。

控制小海龟(不要求)

下面我们再次打开两个终端,用来分别控制这两只小海龟游动(为了区分,我们让一个顺时针一个逆时针游动):

$ros2 topic pub  /turtlesim1/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"
$ros2 topic pub  /turtlesim2/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: -1.8}}"

本篇完。

您可以按照以下步骤使用Robotiq-2F85夹爪ROS功能包: 1. 下载功能包:首先,您需要从Robotiq官方的GitHub存储库中下载2F85夹爪ROS功能包。您可以在https://github.com/ros-industrial/robotiq/tree/melodic-devel/robotiq_2f_gripper_control上找到它。 2. 安装依赖项:在使用功能包之前,您需要确保您的系统已安装所需的依赖项。运行以下命令安装所需的ROS软件包: ``` sudo apt-get install ros-<distro>-controller-manager sudo apt-get install ros-<distro>-joint-state-controller sudo apt-get install ros-<distro>-effort-controllers ``` 将`<distro>`替换为您正在使用的ROS发行版(例如:melodic、kinetic等)。 3. 构建功能包:进入功能包目录并使用`catkin_make`命令构建功能包。确保您已经设置了正确的ROS工作空间。 ``` cd <catkin_workspace>/src git clone -b melodic-devel https://github.com/ros-industrial/robotiq.git cd .. catkin_make ``` 4. 运行夹爪控制节点:使用以下命令启动夹爪控制节点。 ``` roslaunch robotiq_2f_gripper_control robotiq_2f_gripper_control.launch ``` 5. 控制夹爪:您可以使用`robotiq_2f_gripper_control`功能包中提供的ROS服务和话题来控制夹爪。您可以通过发布到`robotiq_2f_gripper_control`话题来设置夹爪的位置、速度和力度,并使用提供的服务查询夹爪状态。 这些是使用Robotiq-2F85夹爪ROS功能包的基本步骤。您可以参考功能包的文档和示例代码,以了解更多详细信息和使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值