ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

I can't find a differential drive package using rplidar with dc motors and no encoders

asked 2017-03-16 09:07:51 -0500

w gravatar image

updated 2017-03-16 13:19:15 -0500

NEngelhard gravatar image

I need help to find the appropriate drive controller, so far most seem to implement a pid with the encoders as a feed back mechanism.

Surely someone has already done this.... Looking for a recommendation of how to implement this.

Here are the specifics:

all of the differential drive packages I have found so far seem to require encoders. My bot has an rplidar on it which is supposed to be able to provide odom via hector slam.(still having issues with this, but will post a separate thread) I do not have encoders. The goal is to have the rplidar provide the odom and the send the appropriate commands to the arduino that runs the l298 motor controller, this is a four wheel bot with only two motors, tank steer style. Hector slam package installed and Moveit planning is in process, but obviously need this to respond to a navigation stack, I believe my arduino MUST respond to cmd_vel so that is what I am trying to make happen.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2017-03-16 11:47:47 -0500

HexC gravatar image

The title confused me, so you are not finding drivers for rplidar because they have built everything for you.

Instead, you want a driver for L298? Or, a differential PD control for the motor drive?

Plus, writing a PD control is not very hard...

edit flag offensive delete link more

Comments

the motors are essentially open loop at the arduino level. the are no encoders to measure the distance traveled , so a pid at this level is not possible, unless I tried to bring the lidar odom data back down to the arduino. These I believe this would have a bit too much lag, but, I could be wrong.

w gravatar image w  ( 2017-03-16 15:14:15 -0500 )edit

The hope is that the navigation stack will look at the laser odom and the output geometry twist/ cmd_vel message for the arduino to follow... hope I did not confuse this any further...

w gravatar image w  ( 2017-03-16 15:17:50 -0500 )edit

I think you can fake the motor odom since you said it is a four wheel tank drive bot. How is the driving scenario, will slipping happens a lot. If you bot is not a perfect square and can not do in place turning. You will end up with some inaccurate data. I did the same thing and the results are fine

HexC gravatar image HexC  ( 2017-03-23 16:06:15 -0500 )edit
0

answered 2017-03-16 12:26:13 -0500

Nikodem gravatar image

You can use differential_package created by Jon Stephan. As far as I remember It works fine without encoders. Here you can find fork repository: https://github.com/vcwu/ros-differential-drive. Just need to remap /twist to /cmd_vel and it should work fine.

edit flag offensive delete link more

Comments

Thank you I will check it out now

w gravatar image w  ( 2017-03-16 15:10:40 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2017-03-16 09:07:51 -0500

Seen: 719 times

Last updated: Mar 16 '17