Git Product home page Git Product logo

diff_drive's People

Contributors

merose avatar plieningerweb avatar timple 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

diff_drive's Issues

Use in real robot

Need help for use in real robot; this work is amazing; I have a lot of difficult; my rover is rover5 and use ros-motor-romeo-quad; but your mock_robot is complete perfect rover... How I can use my rover?

Wrong formula of ''b''?

According to the Autonomous Mobile Robots book, the formula is:
b = - (cur.theta + a)
why in your code it is:
b = cur.theta + a - goal.theta

I understand the sign is changed for simpler Math but why minus the goal.theta?
By the way, I am trying to move the robot (R2D2 [http://wiki.ros.org/urdf/Tutorials/Building%20a%20Visual%20Robot%20Model%20with%20URDF%20from%20Scratch]) but the controlling part for angular velocity is really bad when the robot tries to move to a point behind it. It keeps rotating until it falls down. Do you have any suggestions?

Adjust speeds based on maximum accelerations

There are parameters for maximum linear and angular acceleration but they are not yet used. This causes a noticeable lurch and possibly jerk to new orientation when the robot starts moving. Need to limit speed changes to keep under the acceleration limits.

Need minimum xVel and minimum turn-in-place thetaVel

If the proportional constants are small enough, the robot can stall before reaching the goal position or orientation. There needs to be a parameter for minimum xVel when the position is not yet achieved, and minimum thetaVel when the position is achieved but not yet the orientation.

/odom and /cmd_vel not matching

Hi, I'm trying to setup a robot using the diff_drive controller. I believe I have my ticks per meter and my wheel seperation setup correctly.

When I compare the /odom output, the linear velocity almost matches the speed i'm sending, but the angular velocity is way off. Should this not match?

I compared the same values on the mock robot, but it didn't match either. Am I missing something fundamental ?

T

does diff_drive do PID?

Hello,

I was looking at diff_drive as an alternative to http://wiki.ros.org/diff_drive_controller

It seems however that your software works really nice, and easier to implement then diff_drive_controller.

Is the PID done by this controller, or not? I read tru the code and I understand that PID has to be handled by the controller and in terms of encoder ticks?

In terms of comparison and the exception of PID, what could the diff_drive_controller can do that diff_drive can't?

Does this software use other libraries or systems from ros, like controllers perhaps, or is it completely self contained?

Issues running demo [ROS melodic]

Hi,

I just tried to run the demo by following the README instructions after a fresh clone of your repo. Rviz launches fine but the terminal gives the following errors:

[odom_publisher-5] process has died [pid 9672, exit code 1, cmd /home/niambh/Documents/XOXO/project/diff_drive_ws/src/diff_drive/nodes/diff_drive_odometry __name:=odom_publisher __log:=/home/niambh/.ros/log/7bed8d5e-d016-11ea-aa71-4cbb5855c239/odom_publisher-5.log].
log file: /home/niambh/.ros/log/7bed8d5e-d016-11ea-aa71-4cbb5855c239/odom_publisher-5*.log
[diff_drive_go_to_goal-7] process has died [pid 9687, exit code 1, cmd /home/niambh/Documents/XOXO/project/diff_drive_ws/src/diff_drive/nodes/diff_drive_go_to_goal cmd_vel:=/robot/cmd_vel __name:=diff_drive_go_to_goal __log:=/home/niambh/.ros/log/7bed8d5e-d016-11ea-aa71-4cbb5855c239/diff_drive_go_to_goal-7.log].
log file: /home/niambh/.ros/log/7bed8d5e-d016-11ea-aa71-4cbb5855c239/diff_drive_go_to_goal-7*.log

Screenshot from 2020-07-27 16-51-55

Do you know why this could be happening?
I am using ROS melodic with Ubuntu 18.04.

If reverse movement is enabled, does not follow shortest path

Still working on a simple way to reproduce, but using the demo launcher when publishing navigation goals poses from rviz the mock robot does not always follow the shortest path, sometimes turning around and backing toward the goal even if forward movement would be more efficient.

No problems found when limited to forward movement.

struggling to get this to work, what's cmd_vel x in? ticks per sec?

I'm strugging getting this working. I've copied the demo launch, commented out everything but "robot_state_publisher","joint_state_publisher","controller","odom_publisher". Started it up. Published on /cmd_vel with a maximum x of 1, and I get 0 on /rwheel_desired_rate. I thought that should produce 3000 (==max_motor_speed from the launch file) ticks per second on both left and /rwheel_desired_rate ? I've also tried publishing with large x (==10000) in case I've misunderstanding cmd_vel, but I still can't get the r value to increase. Any help appreciated. Thanks,

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.