Giter VIP home page Giter VIP logo

turtlebot3-figure-eight's Introduction

TurtleBot3 Figure Eight ROS Package

Second assignment for ME 495: Embedded Systems in Robotics, Northwestern University, Fall 2020.

Overview

This package contains nodes that accomplish two tasks:

  1. Cause a TurtleBot to follow a configurable figure 8 trajectory. One has the option to run this code in real-life or in a Gazebo simulation. Either way it is accompanied by an RViz visualization.

  2. Visualize a 2R arm that follows a trajectory where its y-position remains constant.

Dependencies

  • turtlebot3

Demos

TurtleBot RVIz: https://youtu.be/BLI5nBEQBdw
TurtleBot IRL: https://youtu.be/CagvXUCvS04
Arm RViz: https://youtu.be/47MknIazwUA

Usage Instructions

  1. Create a new workspace and clone this repositiory.
# Create a new workspace
mkdir -p ws/src

# clone the demonstration code
cd ws/src
git clone https://github.com/ME495-EmbeddedSystems/homework02-ctsaitsao turtlebot3_figure_eight

# return to ws root
cd ../
  1. Build the workspace and activate it.
catkin_make install
. devel/setup.bash
  1. To run the TurtleBot code in real life, create these three terminals:

    1. In the first one, create a ROS Master.
    roscore
    1. In the second one, SSH into a TurtleBot machine and run the startup launch file.
    ssh [email protected]
    roslaunch turtlebot3_bringup turtlebot3_robot.launch
    1. In the third, export the TurtleBot model (if this hasn't been done before) and run the main launch file.
    export TURTLEBOT3_MODEL=burger
    roslaunch turtlebot3_figure_eight figure_eight.launch
  2. The 2R arm code runs two main nodes, arm_traj (which commands the arm trajectory) and arm_marker (which draws markers at the end-effector of the arm). To run the 2R arm code, run:

roslaunch turtlebot3_figure_eight arm_traj.launch

Configuration Options

  • TurtleBot configuration options:

    • Add the launch_gazebo:=True option to run the TurtleBot code in the Gazebo simulation.
    • Add the launch_rqt_plot:=True option to graph the x and y positions of the robot over time.
    • Add the launch_rviz=False option to not run RViz.
  • 2R arm configuration options:

    • Add the display_markers:=False option to not display the markers at the end-effector frame of the arm.
    • The 2R arm can be manually controlled (without a trajectory) by running:
      roslaunch turtlebot3_figure_eight view_arm.launch launch_gui:=True
      This launch file is included in arm_traj.launch and runs the rviz, joint_state_publisher_gui, and robot_state_publisher nodes.

Calculations

Handwritten calculations for the TurtleBot control velocity inputs v and w as well as the TurtleBot's trajectory parametric equations can be found in the doc folder.

turtlebot3-figure-eight's People

Contributors

ctsaitsao avatar

Stargazers

Elie avatar  avatar

Watchers

 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.