Giter VIP home page Giter VIP logo

ros-odometry-car's Introduction

ROS-odometry-car

TEAM MEMBERS
Alessia Paccagnella, Antonino Elia Mandri.

FILES INSIDE THE ARCHIVE
Inside the archive there are four main files:

  1. Executable odometry.cpp that contains the code of the program.
  2. Custom message floatStamped that is used to read the topics speedR_stamped, steerL_stamped, steer_stamped.
  3. Custom message customOdometry that is used to publish pose and type of algorithm used.
  4. The file dynamic_ric.cfg that allows the dynamic reconfigure during the execution.

CUSTOM MESSAGES
The custom messages we are using are:

  1. The floatStamped that contains:
    Header header
    float64 data
    and that is published on "\odom" topic;

  2. The customOdometry that contains:
    Header header
    float64 x
    float64 y
    float64 theta
    string algorithm_type
    and that is published on \simple_odom.

DYNAMIC RECONFIGURATION:
Name of the parameter to change odometry source:

"computation_type", int_t signal: if set to zero node computes 
odometry with differential drive model; if set to one node computes odometry 
with Ackermann drive model.
"reset_signal", int_t signal: values 0 or 1, resets the position to (0,0)
when it's value changes.
"x_coordinate", "y_coordinate", double_t parameter: values for pose setting.
"change_coordinates_signal", int_t signal: values 0 or 1, when its value changes
sets the new pose to the values specified by the x and y parameters

TF TREE:
odom
|
|
base_link

HOW TO PLAY THE NODES/INTERESTING INFO
In order to play the node, in the terminal we have to type rosrun project_robotics odometry. Inside the code there are:

  1. a class odometry_car that mainly contains the functions differential_drive_compute(that set the fields calculated with differential drive model) and ackermann_model_compute (that set the fields calculated wit ackermann drive model). They both are called from the method compute_odometry, depending on the choice given. There is also a method to publish the odometry with tf, nav_msgs::Odometry and custom message
  2. Outside the class, there is a main and two callback functions. The main declares the subscribers to the three topics, and calls the callback functions. The first callback function is used to parse input and call methods of Object Class odom_car. The second one receives the parameters from the dynamic reconfigure and changes the fields.

    We tested the program also with rviz.

ros-odometry-car's People

Contributors

alessiapacca avatar

Stargazers

Viraj Awate avatar  avatar Elena Iannucci avatar

Watchers

 avatar

Forkers

zhangxuelei86

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.