导航

    蓝鲸ROS机器人论坛

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

    小强ROS机器人教程(24)___使用ROS topic控制蓝鲸电机套件

    产品服务
    蓝鲸电机套件
    1
    1
    3894
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • frank
      frank 最后由 frank 编辑

      蓝鲸电机套件和小强底盘的控制方式是一样的,即通过串口控制,通信协议也是一样的。下文将演示借助bw_motors包在ros中同时控制两个电机的速度的详细步骤。

      基础概念:

      1.两个电机mA、mB分别对应驱动板中的MA、MB接口所接入的电机,mA电机又称为左电机,mB又称为右电机
      2.电机套件usb转串口模块接入小车主机后,在dev目录下一般会自动添加ttyUSB1设备。如果主机还插有其它usb转串口模块,可能不会是ttyUSB1
      这个名字,蓝鲸电机套件接入主机指定的usb口“电机串口”,这个名字可以自动固定为stm32Motor,这是由udev规则实现的,小车出厂时已经配置好。
      3.电机的速度是通过bw_motors包中的Motors这个topic类型来指定,里面有两个8位整数变量,分别对应左右电机的速度。这里的速度是百分比,取值范围-100到100,对应最大反转速度到最大正转速度。例如:-50 表示以最大反转速度的百分之五十运动,50表示以最大正转速度的百分之五十运动。

      bwbot_motors包的安装与启动:

      1.下载与安装

      #以小强平台为例,其它平台请修改对应ros工作空间目录
      cd ~/Documents/ros/src
      git clone https://github.com/BlueWhaleRobot/bw_motors.git
      cd ..
      catkin_make
      

      2.启动驱动

      rosrun bw_motors motors_control.py  _port:=/dev/stm32Motor
      

      3.驱动启动后,motors_control.py会持续监听/bw_motors/cmd这个topic,将这个topic内容转换成电机控制命令,最后通过串口下发给电机套件进行控制。

      在ros中发布两电机速度控制量:

      1.首次测试,为了防止电机飞转造成安全事故,请把电机负载悬空使电机可以自由空转。紧急情况下,关闭motors_control.py的运行即可制动电机。
      2.发布话题/bw_motors/cmd

      #mA_speed后面值-10可以修改成为-100到100内的任意整数,对应左轮电机速度控制量
      #mB_speed后面值10可以修改成为-100到100内的任意整数,对应右轮电机速度控制量
      rostopic pub bw_motors/cmd bw_motors/Motors '{mA_speed: -10, mB_speed: 10}' -l
      

      3.现在电机开始运动,修改mA_speed、mB_speed值即可改变电机速度,切断motors_control.py的运行可以制动电机。

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