Skip to content

The Blue stack provides all the basic software for running and using a Blue robot arm

License

Notifications You must be signed in to change notification settings

methylDragon/blue_core

 
 

Repository files navigation

Blue Core Software

This repository provides all of the mid-level software needed to run a Blue robot arm with ROS.

The stack is set up as a ROS metapackage, which organizes our codebase into the following packages:

  • blue_bringup
    • Launch files, configurations, and scripts used to start up the robot
  • blue_controller_manager
    • Higher level control code, built off the ros_control framework
    • Provides infrastructure for dynamically starting and stopping different types of controllers: end effector pose control, joint position control, velocity control, etc.
  • blue_hardware_interface
    • Abstraction barrier between joint messages and actuator messages (see ros_control)
  • blue_controllers
    • Source code for our custom controller plugins
  • blue_hardware_drivers
    • Lower-level code for communicating with hardware (ie motor drivers) and providing a ROS interface to them
  • blue_descriptions
    • Physical descriptions of our robot, in the form of URDF files and associated 3D models
  • blue_msgs
    • Message types and service descriptions

How do I set up the computer to run my arm?

  • Install Ubuntu 16.0.4

  • Install ROS Kinetic

    • Start from 1.2 to 1.7, just copy paste into terminal
    • For step 1.4, use Desktop-Full if unsure
  • Create a workspace:

    mkdir -p ~/blue_ws/src && cd "$_"
  • Clone the code:

    git clone https://github.com/berkeleyopenarms/blue_core.git
  • Install dependencies:

    cd ~/blue_ws
    rosdep install --from-paths src --ignore-src -r -y
  • Build:

    catkin_make install
  • Source:

    echo "source ~/blue_ws/devel/setup.bash" >> ~/.bashrc
    source ~/blue_ws/devel/setup.bash
  • Setup user permissions (you'll need to log out and back in for this take effect):

    sudo addgroup $USER dialout
  • Set up a configuration file (see the blue_configs repo for examples)

  • Proceed to setup the arm with power supply and USB adapter ("Electrical Setup" in Quick Start Guide)


The robot is now turned on, connected via USB, and in the proper startup position -- how do I run the control stack?

After running the above setup steps, the following will boot the arm and put it into gravity compensation mode:

  • For a right arm (default setup):
    roslaunch blue_bringup right.launch param_file:=blue_params.yaml
  • For a left arm (yaml file will need to be namespaced relative to left_arm instead of right_arm):
    roslaunch blue_bringup left.launch param_file:=blue_params.yaml

Experimental two arm

  • For the experimental two arm setup, the .yaml file should contain parameters for both the left and right arms:
    right_arm/blue_hardware:
          serial_port: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A506MP4W-if00-port0
          motor_ids: [40, 76, 65, 70, 77, 20, 21, 52]
          simple_startup_angles: [-0.785398, -2.19, -1.570796, 0.0, 1.570796, -0.23, 0.0, 0.0]
    left_arm/blue_hardware:
          serial_port: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI057K87-if00-port0
          motor_ids: [30, 62, 69, 16, 33, 51, 50, 55]
          simple_startup_angles: [-0.785398, -2.19, -1.570796, 0.0, 1.570796, -0.23, 0.0, 0.0]
    
  • To run:
    roslaunch blue_bringup full.launch param_file:=blue_params.yaml

rviz

roslaunch blue_bringup rviz.launch

About

The Blue stack provides all the basic software for running and using a Blue robot arm

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.7%
  • Python 10.5%
  • CMake 1.7%
  • Shell 0.1%