Skip to content
This repository has been archived by the owner on May 9, 2024. It is now read-only.
/ mra_ros_control Public archive

This repository is used to control real aubo's MRA(module robot amr) by the ros control.

Notifications You must be signed in to change notification settings

AuboRobot/mra_ros_control

Repository files navigation

The mra_ros_control respository

Travis - Continuous Integration

Indigo Kinetic
Build Status Build Status

This repository is used to control real aubo's MRA(module robot arm) by ROS.

  1. The mra_basic package is the driver to commuicate with the real MRA hardware and provides the some related topic of the ros control.
  2. The mra_control package is the abstraction of real MRA hardware.
  3. The mra_core_msgs package is the communication messages between mra_control and mra_basic.
  4. The mra_joint_state_publisher package is used to simulate MRA_API to send joint state and mra state
  5. The ros_control stack :See ros_control documentation on ros.org
  6. The ros_controllers stack is the implement of related ros controllers.
  7. The mra_joint_state_publisher_control package is used to control mra joints by subscribing the "/joint_state" topic published by starting demo.launch in the *_moveit_config.

Features

  • The MRA has kinds of arm configurations composed of the module joins, such as dual arms, 7Dofs arm, 6Dofs arm, etc.
  • You can only modify the configure file to suit different Dof arms, and don't need to modify the mra_basic source code.
  • Support the trajectory msgs generated by move_group in MoveIt!.
  • Support safe operations in real-time.
  • Multiple kinds of control mode
    • basic position, velocity, effort.
    • controlling signle joint or arms by ros_control.

Prerequisites

  • A kind of MRA description with moveit configure.(If you need to plan to control the mra.) For example mra7a.
  • A real MRA and gripper(Optional).
  • ROS Indigo on (recommended) Ubuntu 14.04 of 32 bit or 64bit, or ROS Kinetic on Ubuntu 16.04 (under development) These packages may work with other configurations as well, but they have only been tested for the one recommended above.
  • MoveIt!: sudo apt-get install ros-<indigo>-moveit
  • peak-can-linux-driver

Using instruction

  • Create a catkin workspace if you don't already have one (we recommend a separate one for MRA)

      mkdir -p ~/ros_ws/mra_ros_ws/src  	
      cd ~/ros_ws/mra_ros_ws/src  
      catkin_init_workspace 
    
  • Clone this respository to your catkin workspace

      cd ~/ros_ws/mra_ros_ws/src  
      git clone https://github.com/auboROS/mra_ros_control.git
      git clone https://github.com/auboROS/mra7a.git
      git clone https://github.com/auboROS/mra7a_tutorials.git
    
  • Compiling

      cd ~/ros_ws/mra_ros_ws
      rosdep install --from-paths src --ignore-src --rosdistro indigo -y (If you meet some error, you need "rosdep update")
      catkin_make
    
  • Running

    Firstly, startup the your MRA hardware.

    The three control way as below:

    • Control single joint by ros_control.

        roslaunch mra_control mra7a_hw_position_bingup.launch
        rostopic pub /mra7a/joint7_position_controller/command std_msgs/Float64 1.5 //control the seventh joint move 1.5 radio.
      
    • Control the whole arm by planning.

        roslaunch mra_control mra7a_trajectory_rviz.launch 
      
    • Contorl single joint by QT control panel.(You need install QT. So, you totally can save your time to skip the test.)
      In the mra_basic/src/control_panel/CMakeLists.txt

        set(CMAKE_PREFIX_PATH "/home/lmn/Qt5.3.2/5.3/gcc/lib/cmake") //Set your QT path.
      

      In the mra_basic/CMakeLists.txt, cancel the comment below.

        //add_subdirectory(src/control_panel)
      

      Running in three terminal

        first terminal: roscore
        second terminal: rosrun mra_basic joint_control
        third terminal: rosrun mra_basic control_panel
      
  • Test: control the MRA7 for the random motion.

      roslaunch mra7a_random_motion mra7a_random_motion.launch
    

About

This repository is used to control real aubo's MRA(module robot amr) by the ros control.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published