Coder Social home page Coder Social logo

practical_robot_tools's Introduction

practical_robot_tools

A collection of ROS packages and Arduino programs to handle miscellaneous robot tasks and system management. If you are a reader of my book Practical Robotics in C++, you will almost certainly find some useful tools here as example for how to code some things we didn't get to cover in the book.

If you find this package useful, consider supporting maintenance, upgrades, and development of new robotics tools and tutorials with a cup of coffee: https://www.buymeacoffee.com/practicalrobot

Purpose/Motivation:

I've created a lot of tools over the years, but have mostly embedded them in other programs. I thought it was time to start separating them to make them useful for generic robots. More will be added as I have time to make tools I use within my custom robots more generic.

Installation:

cd ~/catkin_ws/src
git clone https://github.com/lbrombach/practical_robot_tools.git
cd ..
catkin_make

(or use build tool of your choosing)



Nodes:

rplidar_motor_control:

The RPLidar's motor is always running by default. This node allows for the automatic starting and stopping of the RPLidar motor when certain nodes are started or stopped (Default are rviz and move_base, but user-settable). See documentation here: rplidar_motor_control



arduino_ros_relay_control

This is a pair of programs that facilitate the control of relays for a ROS (Robot Operating System) robot via an Arduino. See arduino_ros_relay_control



encoder_tick_pub (Arduino):

encoder_tick_pub.ino is a ROS (Robot Operating System) publisher node that runs on an Arduino and publishes an std_msgs::Int16 (-32,768 to 32,767) wheel encoder ticks for both left and right wheels. Works with quadrature encoders. See quadrature_encoder_tick_pub



cmd_vel_prioritizer:

A utility node to allow different geometry_msgs::Twist messages to have different priorities. If two or more are published at the same time, only the message with the highest priority is republished in order to avoid two node "fighting" for control of the robot. See documentation here: cmd_vel_prioritizer



Contributing, bug reports, etc:

Please use the issues and bug reporting system for bugs and feature requests. With many projects, a job, a family, I can't promise to get to feature requests very quickly, but am definitely listening for feedback to make improvement and will prioritize bugs. I am open to pull requests if you'd like to contribute. I can be contacted by email at [email protected].

practical_robot_tools's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.