Git Product home page Git Product logo

robot_pose_ekf's Introduction

Udacity - Robotics NanoDegree Program

robot_pose_ekf package

The robot_pose_ekf ROS package applies sensor fusion on the robot IMU and odometry values to estimate its 3D pose.

Nodes

The package contains a single node

  1. robot_pose_ekf: Implements an Extended Kalman Filter, subscribes to robot measurements, and publishes a filtered 3D pose.
    • Script File: wtf.py
    • Subscriber: "/odom", "/imu_data", and "/vo "
    • Publisher: "/robot_pose_ekf/odom_combined"

alt text

Steps to launch the nodes

Step1: Install the package

$ cd /home/workspace/catkin_ws/src/
$ git clone https://github.com/udacity/robot_pose_ekf

Step2: Edit the robot_pose_ekf.launch file

<launch>

<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
  <param name="output_frame" value="odom_combined"/>
  <param name="base_footprint_frame" value="base_footprint"/>
  <param name="freq" value="30.0"/>
  <param name="sensor_timeout" value="1.0"/>  
  <param name="odom_used" value="true"/>
  <param name="imu_used" value="true"/>
  <param name="vo_used" value="false"/>

  <remap from="imu_data" to="/mobile_base/sensors/imu_data" />    

</node>

</launch>

Step3: Build the package

$ cd /home/workspace/catkin_ws
$ catkin_make
$ source devel/setup.bash

Step4: Launch the node

$ roslaunch robot_pose_ekf robot_pose_ekf.launch

robot_pose_ekf's People

Contributors

abhiojha8 avatar karimchamaa avatar rbudacprojects avatar rezenders avatar sudkul 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

robot_pose_ekf's Issues

sensor data without covariance

hi, i achieved amazing performance when run this demo project. But when i apply our own sensor data to this work, it perform not well. The odom data and vo data don't have corresponding covariance, what should i do? if the covariance is necessary, can you teach me how to figure it out? Thank you so much~

Datatype Discrepancy Issue

Hi, I just have a small question (I'm new to GitHub, so I'm not sure if this is the right place, but I'll give it a try). I am trying to have the "robot_pose_ekf" work with "fiducial_slam/fiducial_pose" so that a robot equipped with a camera (which would detect fiducials) would be able to determine its own position in a network of fiducials. However, when I tried running the two programs together, I got this error:

[ERROR] [1389688193.050254972]: Client [/robot_pose_ekf] wants topic /fiducial_pose to have datatype/md5sum [nav_msgs/Odometry/cd5e73d190d741a2f92e81eda573aca7], but our version has [geometry_msgs/PoseWithCovarianceStamped/953b798c0f514ff060a53a3498ce6246]. Dropping connection.

Based on what I've been looking up to fix the issue, I believe that in order to fix this I would have to alter the message type from to "geometry_msgs::PoseWithCovarianceStamped" instead of "nav_msgs::odometry":

robot.OdomCombinedSubscriber = nh.subscribe<geometry_msgs::PoseWithCovarianceStamped>("/robot_pose_ekf/odom_combined"[...]&robot);

However, when I tried looking for the abovementioned piece, I could not find it, despite looking through what seemed to be all the folders and texts. Where could I change the message type so that the error can be addressed, and if this is no longer the way to fix the error (or any other way to do so), what would that method be?

Thank you very much for your help, and I look forward to your reply! Have a great day!

robot_pose_ekf does not publish anything...

~$ rostopic list

/cmd_vel
/control_vel
/encoder/odom
/imu/data
/imu_data
/md49_data
/md49_encoders
/pr2_base_odometry/odom
/ref_pose
/ref_vel
/robot_pose_ekf/odom_combined
/rosout
/rosout_agg
/tf
/tf_static
/vo

There are no response for this command
~$ rostopic echo /robot_pose_ekf/odom_combined

I want to echo the output of "robot_pose_ekf"

MIT License is invalid -- Seemingly illegal relicense

Hi @karimchamaa,

It looks like you copy pasted this from the navigation stack / ros-planning work and may have accidentally illegally relicensed it under MIT.

You are more than welcome under the rights of BSD to copy paste this around as long as you retain the original copyright headers, but you may not relicense the project under MIT, which you included in the root of this package.

Also, you continue to have the license listed as BSD in the package.xml.

Given all you've done to this is add a nice README, I strongly recommend submitting a PR against the robot_pose_ekf package in ros-planning that I would merge and archiving this repository. If nothing else, please respond to change the licensing.

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.