Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Newest roboclaw_python_library and various changes #26

Open
wants to merge 20 commits into
base: master
Choose a base branch
from

Commits on Sep 6, 2018

  1. Fix typo when reading ticks_per_meter parameter

    SYMPTOM: self.TICKS_PER_METER is always at default value, regardless
    of value in roboclaw.launch or any other parameter server.
    
    CAUSE: A typo in call to rospy.get_param() means it is trying to
    retrieve a value that does not exist, instead of the intended
    parameter value.
    
    FIX: Add missing 's' to properly retrieve 'ticks_per_meter' value
    Roger-random committed Sep 6, 2018
    Configuration menu
    Copy the full SHA
    8c05882 View commit details
    Browse the repository at this point in the history
  2. Fix to avoid TypeError with encoder count value of 'None'

    SYMPTOM: Unpredictable erros occurring at runtime
        File "roboclaw_node.py", line 232, in run
            rospy.logdebug(" Encoders %d %d" % (enc1, enc2))
        TypeError: %d format: a number is required, not NoneType
    
    CAUSE: Error when calling roboclaw.ReadEnc would result in encoder
    values 'enc1' or 'enc2' to be None instead of a number. This triggers
    TypeError as described above.
    
    FIX: Do exactly what TypeError wants us to do: make sure both 'enc1' and
    'enc2' are numbers before trying to format them as numbers for logging.
    (Note this does not address root cause of ReadEnc failure, that will be
    submitted as a separate fix.)
    
    REFERENCE: Python number check courtesy of StackOverflow: https://stackoverflow.com/questions/3441358/what-is-the-most-pythonic-way-to-check-if-an-object-is-a-number
    Roger-random committed Sep 6, 2018
    Configuration menu
    Copy the full SHA
    a79c2f3 View commit details
    Browse the repository at this point in the history
  3. Fix serial sync errors caused by multi thread collision

    SYMPTOM: Unpredictable errors when calling roboclaw API, manifesting
    in several different forms such as "OSError: 11"
    
    CAUSE: The roboclaw API is not thread-safe, but we have three different
    threads potentially calling into the API simultaneously. When this
    occurs, errors follow.
    1. self.run for our '/odom' publisher thread
    2. self.cmd_vel_callback as  '/cmd_vel' subscriber
    3. self.check_vitals running for diagnostics
    
    FIX: Use a threading.Lock() object to synchronize usage of roboclaw
    API object. Thereby ensuring only one thread will be communicating
    with roboclaw at any given time.
    
    REFERENCES:
    
    ROS Python API Threading Model
    https://answers.ros.org/question/9543/rospy-threading-model/
    
    StackOverflow "Semaphores on Python"
    https://stackoverflow.com/questions/31508574/semaphores-on-python
    Roger-random committed Sep 6, 2018
    Configuration menu
    Copy the full SHA
    163e369 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2018

  1. Fix left/right reversal in odometry update

    SYMPTOM: When robot turns right, /odom pose orientation turns left.
    (And vice versa.) However, the odom->base_link transform is correct.
    
    CAUSE: Encoder odometry entry point update_publish(enc_left,enc_right)
    is invoked with update_publish(enc1, enc2). But this is backwards. As
    per cmd_vel_callback, motor 1 is the right-hand side motor and motor 2
    the left-hand side. As a result odometry calculations are reversed.
    
    Why does the odom->base_link transform look OK? An earlier change
    added a negative sign in front of the published transform angle. This
    only masked the error without fixing the underlying cause, resulting in
    reversed /odom data and leaving variables like self.last_enc_right
    holding the wrong values.
    
    FIX: Reverse the parameters when calling update_publish so they are
    correct. And now that the underlying problem is addressed, the negative
    sign must be removed from the angle when publishing transform.
    Roger-random committed Sep 8, 2018
    Configuration menu
    Copy the full SHA
    85d8537 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2018

  1. Configuration menu
    Copy the full SHA
    3eb8ffc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6481125 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ad920e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a4ce0bc View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2020

  1. Merge pull request #1 from Roger-random/ticks-per-meter-pr

    Fix typo when reading ticks_per_meter parameter
    ryanpennings committed Apr 16, 2020
    Configuration menu
    Copy the full SHA
    140036c View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2 from Roger-random/master

    merge changes
    ryanpennings committed Apr 16, 2020
    Configuration menu
    Copy the full SHA
    37884df View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2020

  1. updated launch

    ryanpennings committed Apr 17, 2020
    Configuration menu
    Copy the full SHA
    3210bd7 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2020

  1. Configuration menu
    Copy the full SHA
    f668f19 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0c48c96 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7c48256 View commit details
    Browse the repository at this point in the history
  4. updated status(error) bit mask

    - according to docu rev. 5.4
    - for firmware 4.1.34
    uweswrtz committed Aug 18, 2020
    Configuration menu
    Copy the full SHA
    0feac35 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2020

  1. Configuration menu
    Copy the full SHA
    0595919 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. updated launch to respawn

    uweswrtz committed Nov 18, 2020
    Configuration menu
    Copy the full SHA
    ff5cfe4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e5d6bbb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f13e1ae View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f7afe13 View commit details
    Browse the repository at this point in the history