Giter Site home page Giter Site logo

gabrielnhn / ros2-line-follower Goto Github PK

View Code? Open in Web Editor NEW
42.0 4.0 10.0 1.85 MB

A ROS2 package designed to have a differential drive robot follow a Robotrace track by using a camera.

License: MIT License

Python 100.00%
ros2 opencv line-follower-robot python computer-vision robotics

ros2-line-follower's Introduction

ROS2 Line Follower

Control a ROS2 differential drive robot to run in a Robotrace course using OpenCV.

Use it on your own robot, or try out the demo using a custom-made simulation on Gazebo.

Installation:

(Requires a ROS2 distribution)

  • Clone this repository in your ROS2 workspace
  • Build the package (colcon build --symlink-install)

Launching the simulation:

(Requires both gazebo_ros and turtlebot3_gazebo ROS2 packages)

  • Set export ROS_DOMAIN_ID=30 #TURTLEBOT3 and export TURTLEBOT3_MODEL=waffle to the environment
  • Add follower/models to your $GAZEBO_MODEL_PATH environment variable
  • Launch the simulation (ros2 launch follower new_track.launch.py)

Running the line follower node:

(Requires both cv2 and cv_bridge python modules)

  • Run the node (ros2 run follower follower_node)
  • Start the robot (ros2 service call /start_follower std_srvs/srv/Empty)

screenshot1 screenshot2 screenshot3

Please check follower/docs/about.md for more information.

Special thanks to:

  • The authors of Programming Robots with ROS: A Practical Introduction to the Robot Operating System (and reference code in https://github.com/osrf/rosbook)
  • @ROBOTIS programmers for their work in https://github.com/ROBOTIS-GIT/turtlebot3_simulations, licensed under Apache License 2.0 by ROBOTIS CO., LTD.
  • Yapira UFPR Robotics Team for the inspiration and support
  • Prof. Eduardo Todt for letting me use this package as the final project of his "Mobile Robotics" course at UFPR.

ros2-line-follower's People

Contributors

gabrielnhn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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