Giter VIP home page Giter VIP logo

hiro_ros_arm_controller's Introduction

HIRO ROS Arm Controller

hiro_ros_arm_controller

Documentation Link: http://hiro-group.ronc.one/hiro_ros_arm_controller/

A high level API (in the form of a ROS package) for controlling robotic arms in ROS. It works for both simulation and real robots.

Supported Robotic Arms

  • Franka Emika Panda
  • Rethink Robotics Sawyer

Quick Installation

Assuming that you already have a catkin workspace:

mkdir -p ~/catkin_ws/src
cd src
git clone [email protected]:HIRO-group/hiro_ros_arm_controller.git
cd hiro_ros_arm_controller
./install.sh
cd ../..
catkin build   # or catkin_make

Detailed Installation

We have an install.sh script that will install the following packages:

  • Installs this package

  • The Franka Panda Gazebo Simulator package here

  • External dependencies needed for the panda_simulation package

  • The Sawyer Gazebo simulator

To run install.sh

Make sure that you have cloned this repository from the src folder of a catkin workspace (eg: from catkin_ws/src). If you haven't, the script will give an error, and it won't build the whole workspace.

Additionally, you should clone this repository in an empty catkin workspace. For example, if you have the franka_ros package in the workspace, it will be deleted in favor of our forked version that works with this package.

Usage:

./install.sh --git-option https|ssh --franka-build apt|source

Examples

  1. Simply Run (Default options= ssh && apt)
./install.sh
  1. Use options
./install.sh --git-option ssh --franka-build source

This command will build libfranka from source and use ssh for git.

Options

  • --git-option
    specifies if we clone the HIRO repos via https or ssh.

  • franka_build
    specifies whether we want to build libfranka from source or install it via apt.

API

In any of your ros packages, simply import our package.

Joint Position Control Example

from hiro_ros_arm_controller.RobotController import PandaController

if __name__ == '__main__':
    rospy.init_node('robot_controller', anonymous=True)
    controller = PandaController(is_sim=False)

    controller.publish_positions([0, 0, 0, -0.0698, 0, 0, 0])

This example creates a ROS node, creates a PandaController with is_sim set to False (so, real robot control), and publishes a list of desired joint positions to follow.

hiro_ros_arm_controller's People

Contributors

peasant98 avatar watakandai avatar

Watchers

James Cloos avatar

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.