GithubHelp home page GithubHelp logo

lunar_rover's Introduction

Project: Gazebo Integration using API

Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.

Overview


Concepts Used

Following are the concepts used for this project:

  • ROSlaunch API
    • To import the image using path
    • To import the image using camera
    • To set thresholds for Canny edge detection
  • ROS tf
    • To set the values of threshold parameters
    • To fetch the values of threshold parameters

Directory Structure

  • Following is the directory structure of the package
    .
    ├── CMakeLists.txt
    ├── docs                             # README dependencies
    │   ├── tf.png
    │   └── tree.txt
    ├── include
    │   └── TurtleSim-tf
    ├── launch                           # Launch files
    │   ├── dynamic.launch                 # Launch - Multiple instance of same node using launch file
    │   └── spawn.launch                   # Launch - Multiple turtles in a turtlesim using launch file
    |
    ├── nodes                            # ROS Nodes
    │   ├── add_frame.py                   # Blueprint of a node - spawn random turtles and broadcast transform
    │   ├── pylaunch.py                    # Launch multiple instances using ROSlaunch API
    │   └── Turtle.py                      # Turtle class to control turtle activities
    ├── package.xml
    ├── README.md
    └── src

Coding Style Guide - PEP8


Dependencies

  • ROS-tf2 package
  • turtlesim package

Setup and Run

To run the project on your local system, follow the procedure:

  • Download the packages - turtlesim-tf

  • Copy these packages to your ROS workspace i.e. ~/ROS_ws/src/

  • Build the work-space

    • $ cd ~/ROS_ws/
    • $ catkin_make

Using XML

File associated - dynamic.launch and blueprint_node_launch.py

Using Python Script

File associated - pylauncher.py and blueprint_node.py

  • Open new terminal and source the ROS workspace - source ~/ROS_ws/devel/setup.bash

  • Run the command - $ roslaunch turtlesim-tf xxxxxx.launch 5

    • where 5 = number of turtle in a turtlesim

      You can configure this number

  • In a new terminal, run the command - $ rqt_tf_tree to display the tf-tree


  • This is an architecture for Gazebo
  • There are two main nodes - server and a client
  • Server handles all the physics, sensors and calculation part
  • Client's job is to render all this data in the simulator
  • Gazebo's server and client keeps communicating continuously
  • After reading the data from this communication channel, we can read sensor data, simulation data and the physics data
  • This data once augmented with ROS arguments can be sent over ROS topics to be accessed by the ROS nodes


Article


Contact

LinkedIn Logo

lunar_rover's People

Contributors

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