Git Product home page Git Product logo

blue_core's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.