GithubHelp home page GithubHelp logo

invincibleai / interbotix_ros_turrets Goto Github PK

View Code? Open in Web Editor NEW

This project forked from interbotix/interbotix_ros_turrets

0.0 0.0 0.0 3.96 MB

ROS Packages for Interbotix Turrets

License: BSD 2-Clause "Simplified" License

CMake 4.28% Python 81.86% C++ 5.53% Shell 8.33%

interbotix_ros_turrets's Introduction

turret_banner

Overview

turret_repo_structure Welcome to the interbotix_ros_turrets repository! This repo contains custom ROS packages to control the various types of turrets (a.k.a pan/tilt mechanisms) sold at Interbotix. These ROS packages build upon the ROS driver nodes found in the interbotix_ros_core repository. Support-level software can be found in the interbotix_ros_toolboxes repository.

Repo Structure

GitHub Landing Page: Explains repository structure and contains a single directory for each type of turret.
├── Turret Type X Landing Page: Contains 'core' turret ROS packages.
│   ├── Core Turret ROS Package 1
│   ├── Core Turret ROS Package 2
│   ├── Core Turret ROS Package X
│   └── Examples: contains 'demo' turret ROS packages that build upon some of the 'core' turret ROS packages
│       ├── Demo Turret ROS Package 1
│       ├── Demo Turret ROS Package 2
│       ├── Demo Turret ROS Package X
│       └── Python Scripts: contains 'demo' Python scripts that build upon modules in the interbotix_ros_toolboxes repository
│           ├── Demo Python Script 1
│           ├── Demo Python Script 2
|           └── Demo Python Script X
├── LICENSE
└── README.md

As shown above, there are five main levels to this repository. To clarify some of the terms above, refer to the descriptions below.

  • Turret Type - Any robotic turret that can use the same interbotix_XXturret_control package is considered to be of the same type. For the most part, this division lies on the type of actuator that makes up the robot. As an example, all the X-Series turrets are considered the same type since they all use various Dynamixel X-Series servos (despite the fact that they come in different sizes and motor versions). However, a turret made up of some other manufacturer's servos, or even half made up of Dynamixel servos and half made up of some other manufacturer's servos would be considered a different type.

  • Core Turret ROS Package - This refers to 'High Profile' ROS packages that are essential to make a given turret work. Examples of 'High Profile' ROS packages include:

    • interbotix_XXturret_control - sets up the proper configurations and makes it possible to control the physical turret
    • interbotix_XXturret_gazebo - sets up the proper configurations and makes it possible to control a Gazebo simulated turret
    • interbotix_XXturret_descriptions - contains URDFs and meshes of the turrets, making it possible to visualize them in Rviz
  • Demo Turret ROS Package - This refers to demo ROS packages that build upon the Core Turret ROS Packages. ROS researchers could use these packages as references to learn how to develop their own ROS packages and to get a feel for how the robot works. Typical demos for a given turret type include:

    • interbotix_XXturret_simple_interface - use a GUI or joystick controller to manipulate a turret
    • interbotix_XXturret_object_tracker - perform object tracking using a USB camera
  • Demo Python Script - This refers to demo Python scripts that build upon modules in the interbotix_ros_toolboxes repository. These modules essentially abstract away all ROS code, making it easy for a researcher with no ROS experience to interface with a turret as if it was just another Python object. It also makes sequencing robot motion a piece of cake.

Over time, the repo will grow to include more types of turrets.

Contributing

Feel free to send PRs to add features to currently existing Turret ROS packages or to include new ones. Note that all PRs should follow the structure and naming conventions outlined in the repo including documentation.

Contributors

interbotix_ros_turrets's People

Contributors

lukeschmitt-tr avatar swiz23 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.