Skip to content

Shilpaj1994/lunar_rover

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published