导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    小强ROS机器人教程(7)___使用ps3手柄控制小强移动

    产品服务
    2
    4
    9585
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • xiaoqiang
      xiaoqiang 最后由 weijiz 编辑

      小强主页

      原理:本教程涉及3个包
      ps3joy负责将ps3蓝牙接受信号转换成标准的linux设备(/dev/input/js0)
      joy_node节点负责将上述joy设备数据转换成ros中的joy数据类型
      turtlebot_teleop_joy负责将上述joy数据topic 转换成小车运动指令/cmd_vel

      操作步骤

      0.第一次使用手柄,需要将手柄与蓝牙接受器进行绑定,以后可以直接从步骤1开始

      如果手柄和小强同时购买,那么我们已经提前为您将手柄配对可以从步骤1开始使用。
      绑定方法参考原装和国产ps3手柄ros驱动程序中的“快速使用方法步骤1”

      1.启动ps3joy,将ps3手柄与蓝牙接受器配比

      #确保蓝牙接收器已经插入主机usb口
      sudo bash
      rosrun ps3joy ps3joyfake_node.py
      

      正常会出现下面的提示

      root@xiaoqiang-desktop:~# rosrun ps3joy ps3joyfake_node.py 
      No inactivity timeout was set. (Run with --help for details.)
      Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
      

      如果提示下列错误
      按下下图中的手柄配对键


      0_1479882160058_14.3.png


      配对成功的话,上面的窗口会输出类似下面的结果

      root@xiaoqiang-desktop:~# rosrun ps3joy ps3joyfake_node.py 
      No inactivity timeout was set. (Run with --help for details.)
      Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
      Connection activated
      
      2.启动joy_node和turtlebot_teleop_joy
      roslaunch turtlebot_teleop ps3fakexiaoqiang_teleop.launch
      

      正常启动后如下图所示
      0_1479882359779_14.4.png
      ps3fakexiaoqiang_teleop.launch文件内容如下

      <launch>
      
        <node pkg="turtlebot_teleop" type="turtlebot_teleop_joy" name="turtlebot_teleop_joystick">
          <param name="scale_angular" value="0.4"/>
          <param name="scale_linear" value="0.4"/>
          <param name="axis_deadman" value="10"/>
          <param name="axis_linear" value="1"/>
          <param name="axis_angular" value="0"/>
          <param name="axis_enbar" value="12"/>
          <param name="axis_disenbar" value="14"/>
          <remap from="turtlebot_teleop_joystick/cmd_vel" to="/cmd_vel"/>
          <remap from="turtlebot_teleop_joystick/joy" to="/joy"/>
        </node>
      </launch>
      

      上述launch文件中的参数分别对应直线速度最大值(scale_linear)和角速度最大值(scale_angular),油门离合键(axis_deadman)、前进后退轴(axis_linear)、左右转轴(axis_angular),底盘红外使能键(axis_enbar),底盘红外关闭键(axis_disenbar),这些控制按键、摇杆的映射关系。

      3.保持按住手柄油门键(下图中的10号键),现在使用左侧的推杆可以控制小车的前后移动和转向(下图中的1+1-摇杆)

      0_1479882825642_ps3_buttons_front.jpg
      0_1479882814189_ps3_axes.jpg
      0_1479882833842_ps3_buttons.jpg

      根据这些按键编号,可以修改launch文件中的相关参数从而改变按键映射关系

      花样玩法

      购买ps3手机支架, 安卓手机装上小强图传app,这样可以实现图传遥控
      0_1489804886570_QQ图片20170318104104.jpg

      小强主页
      返回目录

      1 条回复 最后回复 回复 引用 0
      • Yangoogle
        Yangoogle 最后由 编辑

        此回复已被删除!
        1 条回复 最后回复 回复 引用 0
        • Yangoogle
          Yangoogle 最后由 编辑

          0_1527238305450_03621719-bfa7-48ce-aedb-c771ada8acdb-image.png
          0_1527238324345_528554b0-923d-4db5-ba5f-360852dcb261-image.png

          xiaoqiang 1 条回复 最后回复 回复 引用 0
          • xiaoqiang
            xiaoqiang @Yangoogle 最后由 编辑

            @yangoogle 只有上面教程里面的带编号的按键和轴才有效,其它轴比如25轴ros驱动里面没有使用,值漂不漂都没有用。

            1 条回复 最后回复 回复 引用 0
            • 1 / 1
            • First post
              Last post
            Copyright © 2015-2023 BlueWhale community