Ask Your Question

How to publish MAXON Encoder in EPOS2 70/10 for building "nav_msgs/Odometry"

asked 2015-09-10 01:54:36 -0500

Ros_junior gravatar image

updated 2015-09-10 01:56:17 -0500

Hi, I'm learning ROS for graduating undergraduate course.

I am following this Tutorial ' ' to make mobile robot.

I already made teleoperation pkg , '/cmd_vel ', which spend the message to ' rosserial_arduino ' and

control motor with key_board button. And next step, I want to build navigation. So I heard I have to make

odometry and tf msg , which need a published 'Encoder data' .

I have two MAXON motor ; the two controllers are EPOS2 70/10 .

I have been googling how to publish encoder for using ' nav_msgs/Odometry ' but, I don't have idea .....

How to publish encoder data over ROS and subscribe it on using 'nav_msgs/Odometry'

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-09-10 02:36:45 -0500

mgruhler gravatar image

updated 2015-09-10 02:37:21 -0500

I have the feeling that you misunderstood, what odometry means.

Check out the Wikipedia article.

You don't publish the encoder data to nav_msgs/Odometry. You need to compute the current cartesian velocity (and also the current position estimate based on the velocity) based on the encoder readings. For this, you'll need to create a model of your robot that let's you compute this. Typical odometry models (corresponding to the kinematics) are differential, omni-directional, tricycle.

In ROS, there exist different base_controllers or base_drivers, that actually do this. Search a bit around to see how this is done therein. Also, have a look at this Tutorial.

edit flag offensive delete link more


Thanks for your answer. actually , I have not known about odometry well just except the way to check position. For now.... I wonder how to get my encoder's ticks from epos2 to compute the velocity.... I also search this pkg ' ' but, I don't know how to use

Ros_junior gravatar image Ros_junior  ( 2015-09-10 07:31:26 -0500 )edit

what is 'motor_name' and how to know it etc..... I have tried many times . But, I couldn't find the way to use . Can you give me an advice how to get encoder ticks from epos2

Ros_junior gravatar image Ros_junior  ( 2015-09-10 07:35:08 -0500 )edit

motor_name is just a namespace, where you load the respective parameters for the different motors as described further down, it seems. So you have to load for each motor the respective set of parameters to the ROS parameter server and can then run the node to get information.

mgruhler gravatar image mgruhler  ( 2015-09-12 11:07:37 -0500 )edit

Other than that, I cannot help as I have never used epos controllers myself. Either ask a new question or check out the ROS wiki pages on Parameter Server etc.

mgruhler gravatar image mgruhler  ( 2015-09-12 11:08:40 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-09-10 01:54:36 -0500

Seen: 528 times

Last updated: Sep 10 '15