导航

    蓝鲸ROS机器人论坛

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

    xiaoqiang tutorial (22) Operating 6 DOF robotic arm

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

      Xiaoqiang Homepage

      6 degrees of freedom robot arm resources. Please read the serial communication protocol of the secondary development part in the resources. Although the following is the usb hid communication method, the command format is the same.

      The following will operate the 6-DOF arm to complete the 3 sets of actions stored on the main control board.

      Control principle: Xiaoqiang host uses the usb to connect the robot master control board, user sends a topic named robot_arm/cmdstring, this topic content is the control command, and the robot_arm node is responsible for sending the topic content to the master control board of the robot arm via USB protocol.

      1. Run the robot_arm node

      rosrun robot_arm move.py
      

      If the result is normal, the robot arm will perform action 0 (the default state), and the command window will show the following

      xiaoqiang@xiaoqiang-desktop:~/Documents/ros$ rosrun robot_arm move.py 
      Opening robot arm device
      Manufacturer: MyUSB_HID
      Product: LOBOT
      Serial No: 8D9823654852
      Run the zero group action
      

      2. Construct robot_arm/cmdstring topic

      robot_arm/cmdstring This topic type is std_msg/String. According to the secondary development data of the robot arm provided above, we can know that the 6-DOF control protocol is represented by an unsigned byte array. Therefore, we slightly modify it here to directly convert the hex value of this array into a string. Packaged into the topic command. The transformation method uses the byte array representation of python to string together the hex encodings of each element in the array, and then replace 0x with \x

      # E.g: [0x55,0x55,0x05,0x06,0x00,0x01,0x00] This control command array, converted to robot_arm/cmdstring content is '\x55\x55\x05\x06\x00\x01\x00'
      # Tip: If you don't understand it, you can use Python's map function to help convert it.
      map(ord,'\x55\x55\x05\x06\x00\x01\x00')
      

      We want to control the robot arm to complete 3 actions. The contents of these three strings are as follows:

      '\x55\x55\x05\x06\x00\x01\x00'
      
      '\x55\x55\x05\x06\x01\x01\x00'
      
      '\x55\x55\x05\x06\x02\x01\x00'
      

      3. Publish motion commands

      Open a new terminal, because it is a demonstration, so we directly using the pub function of rostopic, the above string command packaged into a topic sent to the robot_arm node

      # Action 1:
      rostopic pub robot_arm/cmdstring std_msgs/String '\x55\x55\x05\x06\x00\x01\x00'
      # Action 2:
      rostopic pub robot_arm/cmdstring std_msgs/String '\x55\x55\x05\x06\x01\x01\x00'
      # Action 3:
      rostopic pub robot_arm/cmdstring std_msgs/String '\x55\x55\x05\x06\x02\x01\x00'
      

      4. There is no video for the sport result, you need to operate it yourself. If you feel unsatisfactory with the movement, please refer to our servo control posts: 电机控制与缓动函数

      Xiaoqiang Homepage
      Back To Index

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