Shop OBEX P1 Docs P2 Docs Learn Events
Arlo hardware, activity bot software, drive_speed(0, 0), ubuntu and no happy sunset — Parallax Forums

Arlo hardware, activity bot software, drive_speed(0, 0), ubuntu and no happy sunset

chronoglasschronoglass Posts: 15
edited 2015-10-02 18:11 in Robotics
Now that i've spent a day or two trying this and that to be able to laugh like frankenstein as this guy chases my cat around the house.. it's time to call in the guys with bigger guns than me..

before that.. thanks guys for the pics and work you all did before me sharing how you got yours going.. it's been invaluable. (though it could be useful to mention which pins the activity bot code expects the motors/encoders on as well as the jumper settings/reasons for them in the motor and/or ping documents) i think i killed a ping sensor with a bad jumper setting (totally my fault for bravehearting the build though, haha)

the bot, arlo
uses the motor diagram paint shopped so proudly from these very forums
I have the power distribution board installed
I am using a dual battery config
I have 1, you heard me 1 set of sensors at present. one ir and one ping on the front (wanna make the thing work before I add all the complexity in the world to it right?) (planning on migrating the sensor array to one of my defcon badges anyway.. so none too concerned beyond the initial POC phase)
this is running on the parallax activity board
motor controller left - p12
encoder left - p13
motor controller right - p14
encoder right - p15

ping center 1 - p16
IR via adc 0

the happenings, or rather not happenings?
I run the calibration program.. hunkey dorey.. i try chrisl8's arlo-turtle madness and it seems to hang when i communicate with the board.. so i start with the gratuitous print("that worked if you see this") style of troubleshooting, and I find that the moment drive_speed(0, 0); is called to init the drive.. we have cut out.

So, for the sake of argument, I made basic app that sets drive_speed(0, 0) and then sends me a "it worked!" line via the confuser. it indeed hung, no magical "it worked!".. when that was the only other command... I can only conclude, that it did not.. in fact.. work

I had read on chrisl8's blog about a serial issue with a recent linux kernel update.. so i dropped back to his last know working one, with no change
EDIT: forgot to mention the ubuntu version.. haha
ubuntu 14.04.1 x86_64 lts
current kernels tested:
3.19.0-30 (from base ubuntu install)
3.13.0-63 (as chrisl8's last known working) a .06 change!.. was no change!

my cat.. he needs a chasing! thanks guys for any insights you can provide to keep my brain in my head and my cat healthy

edit: related link for future googlers
https://github.com/chrisl8/ArloBot/issues/7

Comments

  • We need to build like a super simple program that we can post here that doesn't work.
    What is the smallest piece of code that we can write that breaks?
    Then we can post that here, and everyone can try it and see if they get the same results as you do.

    I'll start working on it, but if you already know where it breaks maybe you can just start erasing code until you come up with the smallest code that should work but breaks and we'll all try it.

    Thanks!
  • chronoglasschronoglass Posts: 15
    edited 2015-10-02 17:05
    honestly.. this will hang
    #include "simpletools.h" 
    #include "arlodrive.h"
    
    int main()                     
    {
      //drive_pins(14, 15, 12, 13); 
    
      drive_speed(0, 0);
      print("it worked!"); // never prints to console
    }
    
  • chronoglasschronoglass Posts: 15
    edited 2015-10-02 18:51
    update using simpleide 0.9.66 to flash (all other things being equal) seems to allow me to get me past drive_speed(0, 0); in the code
    robot still isn't moving, but it's at least moving past that bit

    edit: to show my future googlers some love, this is where i obtained it
    https://d9d46cb6fc558ba1db5c3aa51f1eb3a56e713404.googledrive.com/host/0B8ruEl5BL0dfZzZfdHRiX2pYNm8/
  • ChrisL8ChrisL8 Posts: 129
    edited 2015-10-02 19:01
    I think the problem is that the current version of SimpleIDE does not work with Arlodrive.h

    The only way to use arlodrive.h is to install SimpleIDE 0.9.66

    This was reported a long time ago here: http://forums.parallax.com/discussion/160037/build-error-for-arlo-calibrate-help-please but there was no response from Parallax.

    Parallax, can you look into this and either fix SimpleIDE or arlodrive.h so that they work together?
    Let us know what we can do to help you debug and or test this and we will happily help you.
    Thank you!

    EDIT: Thanks chronoglass for the link! I've added it to all of my documentation along with a stern warning not to use the latest version of SimpleIDE.
    Parallax, let me know when I can take down the warning. ;)
    Or better yet, let me know how I can help you debug the issue with arlodrive.h
  • Hi folks,

    Sorry that we haven't responded before now. There are several folks in the company that follow the forums, and they do their best to forward links of problems they see to someone who can help. However, the earlier thread got missed because it just isn't possible for these folks to track every issue in every post. I would recommend also sending a link to support@parallax.com if something we have published isn't working right.

    It should be pretty easy to correct and recompile the library, but I want to make sure I'm working from the same file as you. Did you download the library from the third post on this page?

    http://forums.parallax.com/discussion/comment/1230592#Comment_1230592

    Andy
  • I don't have an Arlo in my possession, so I cannot test for runtime errors, but the attached "Arlo IR Controlled Nav and Talk with WAV (Test for SimpleIDE v1.0).zip" has no compiler errors on SimpleIDE 1.0.1 RC2. The fix doesn't seem like it should create any runtime errors.

    Also, chronoglass, please verify for me that this does displays the message:
    #include "simpletools.h" 
    
    int main()                     
    {
      print("it worked!"); // Does it print to console now?
    }
    
  • edited 2015-10-02 21:59
    Update: It also compiles on SimpleIDE 1.0.1 RC1 on Ubuntu 64-Bit 14.04.3.

    Important: For downloading and serial messages to display, I had to open a terminal and enter:

    sudo usermod -a -G dialout MyUserName

    ...where MyUserName is, well..., your username. :)

    A restart of Ubuntu was also required after the terminal usermod.
  • trixy thing is.. it compiles just fine... just doesn't actually work as soon as you try to actually fire up the drives.. unless compiled with the older version, i've still got an issue somewhere, but it is at least after drive_speed() gets called now (with 0.9.66 that is)

  • Okay, I went and borrowed an Arlo from Tech Support. I then ran Arlo Calibrate.side, Arlo Display Calibration.side and verified that the numbers looked good. Then, I ran your drive_speed(0, 0) + print("it worked") program, and got the message. Then, appended it with a drive_rampstep and a sequence of drive_speed calls, and all worked. Got the display and the motor motion.

    That was using the examples Arlo IR Controlled Nav and Talk With WAV (Test for SimpleIDE 1.0.zip) with SimpleIDE 1.0.1 RC1 on Ubuntu 64-Bit 14.04.3 after entering sudo usermod -a -G dialout MyUserName into the computer and restarting.

    I'm wondering if something went badly with the calibration, which causes the freeze. Could you please run Arlo Display Calibration.side, and paste the SimpleIDE Terminal output into a post? Here is an example of a reasonably healthy terminal output:
    === LEFT SERVO ===
    
    Table Entries = 52
    Zero Speed Index = 23
    
    Index   Servo Drive     Encoder Ticks/Second
    -----   -----------     --------------------
    0       -514            1000
    1       -494            120
    2       -474            106
    3       -454            103
    4       -434            98
    5       -414            93
    6       -394            86
    7       -374            85
    8       -354            79
    9       -334            72
    10      -314            69
    11      -294            63
    12      -274            60
    13      -254            52
    14      -234            47
    15      -214            41
    16      -194            38
    17      -174            33
    18      -154            27
    19      -134            23
    20      -114            18
    21      -94             13
    22      -74             8
    23      -4              0
    24      66              9
    25      86              14
    26      106             20
    27      126             25
    28      146             19
    29      166             29
    30      186             35
    31      206             44
    32      226             48
    33      246             55
    34      266             60
    35      286             64
    36      306             69
    37      326             74
    38      346             80
    39      366             79
    40      386             89
    41      406             95
    42      426             98
    43      446             101
    44      466             121
    45      486             117
    46      506             119
    47      426             98
    48      446             101
    49      466             121
    50      486             117
    51      506             1000
    
    
    === RIGHT SERVO ===
    
    Table Entries = 51
    Zero Speed Index = 24
    
    Index   Servo Drive     Encoder Ticks/Second
    -----   -----------     --------------------
    0       -500            1000
    1       -480            121
    2       -460            123
    3       -440            109
    4       -420            102
    5       -400            99
    6       -380            93
    7       -360            86
    8       -340            81
    9       -320            78
    10      -300            73
    11      -280            67
    12      -260            62
    13      -240            58
    14      -220            51
    15      -200            46
    16      -180            41
    17      -160            35
    18      -140            31
    19      -120            25
    20      -100            21
    21      -80             16
    22      -60             11
    23      -40             6
    24      20              0
    25      80              8
    26      100             13
    27      120             18
    28      140             23
    29      160             28
    30      180             32
    31      200             36
    32      220             42
    33      240             46
    34      260             54
    35      280             57
    36      300             61
    37      320             67
    38      340             71
    39      360             78
    40      380             82
    41      400             88
    42      420             92
    43      440             96
    44      460             101
    45      480             109
    46      500             116
    47      440             96
    48      460             101
    49      480             109
    50      500             1000
    
  • Other possible issues: The PWR switch should be in position 2 for all this. If memory serves, load the code into EEPROM, then turn off MAIN and MOTORS. Then, turn on the Motors about a second after the MAIN to prevent the HB25s from going into a safe mode where they don't respond until the power is cycled because they didn't see any servo signals when they woke up.
  • Well Andy, you came to our rescue with hard facts. I know the first time I tried the 1.0 it did not work. Now it works fine for me too.

    I talk all of my frustration back. :)

    chronoglass, keep posting here until you get it working. We all want to help you get it going!

    I'd go back to just trying to make basic scripts work, and once you have that down, use my code with the direct serial port testing.
    It is always best to keep thing simple until you have it working reliably.
    I'm kind of betting on an issue with getting the motors turned on at the right time.
  • Really hope its just the motor powercycling wrong.. Is there a "TOO long" to wait?

    I've done a 1 count.. A 3 count, a 5 10 20.. On to a few mins (went and got a sandwich) ha-ha

    Right now I seem to be in a state it won't even return the calibration info.. So I just reran the calibration, full steps.

    Flash
    Power it all down
    Power up main.. Wait a seconsecond
    Power motors (observe motion)
    Reset activity board
    Wait for Amber lights to go bye bye


    Will power cycle and try the show calibration again
  • Thanks ChrisL8! I'm glad (and relieved) to hear it worked. Sorry it took so long for us to figure out there was a bug and fix it, and thanks for the confirmation.

    Agreed, keep working at it chronoglass, and you'll get it working. Our cats used to really make sure our Boe-Bot robots knew who was boss.
  • chronoglasschronoglass Posts: 15
    edited 2015-10-03 00:36
    still no joy.. it IS however allowing me to move the wheels a bit with drive_speed();
    but the function seems to never return.. example

    drive_speed(10, 10)
    left wheel turns
    edit: sorry, this is doing both of em, though they are going opposite directions.. heh

    drive_speed(0, 10)
    right wheel turns

    drive_speed(10, 0)
    left wheel turns

    after each of them I have a print("it worked!"); and I never see it

    comment drive_speed out, and i see that it did in fact work heh

    and.. wow, they both just decided to go on a joyride with no interaction from me.. glad it was on blocks
  • ChrisL8ChrisL8 Posts: 129
    edited 2015-10-03 01:34
    Do you have anything else connected to the Propeller board besides the motors, like sensors? If so, maybe take it all off, just to eliminate possible other issues.

    Double check your wiring. Use the link Andy posted and also look at how the ActivityBot is wired, because the motor controllers just work in the place of servos.
    It could be a simple wiring mistake, which would cause random behavior.
    Remember that the last two pins, 14 and 15, are actually the pins used by the servo controllers, so you cannot use them for anything else.
    I also have "pull up" resistors on them like shown here: http://learn.parallax.com/activitybot/electrical-connections
    I'm not sure if they are required, but if they are and you don't have them, things would act strangely.

    P.S. Repeating the link Andy posted: http://forums.parallax.com/discussion/comment/1232417/#Comment_1232417 It is like the de facto "how to wire an Arlo" post. :)

    P.P.S. Also note the position of the jumpers on the Activity Board. It is important.
  • I know I am stating the obvious, but as always, have you verified good clean and proper power?
  • Power SHOULD be clean, though I don't have a scope, I'll see what I can check in that neighborhood.

    Scraped off sensors, and gave it a few go's to the same effect.. Its time for some liquid therapy before my head explodes. Ha-ha, back to it tomorrow! Thanks for all of the suggestions folks!
  • The output of Arlo Display Calibration may give us some some clues, even about potential wiring and mechanical problems. I'd recommend running it and pasting the output into a post.

    RE: Power

    I start by turning all power off. Then:

    1) Set Activity Board power to 2
    2) Turn on MAIN
    3) Wait a second
    4) Turn on MOTOR

    The reason for this is we want the HB25s to see servo signals as soon as they wake up.

    The exception to this sequence would be during calibration. I'd say start with some program that sends servo signals with a drive_speed call in EEPROM and take it through the sequence above. Then, put the Arlo on blocks and leave all power on. Use the Load RAM & Run button with Arlo Calibrate. Verify that the left wheel turns for a while, then the right wheel. Then stop and P26 P27 lights go out. After that, run the calibration display program and post us the numbers.

    If there is more than one wiring and/or mechanical prob, we may have to repeat this cycle more than once.
  • Here is some code you can use to test the wheel/encoder connections. It does not require a terminal or a successful calibration.

    It should make one wheel turn one direction for 3 s, then the other direction for 3 s, then stop. After that, the other wheel does the same motion. Each wheel's encoder states should be reflected by the P26 and P27 LEDs on the Activity Board.

    It's similar to something I use this with ActivityBot robots to make sure that the servo and encoder cables are connected correctly. If the connections are correct on the ActivityBot, it causes the left wheel to turn counterclockwise (forward) for 3 s, then clockwise (backward) for 3 s, and the P26 LED flickers as the wheel turns. Then, the right wheel turns clockwise (forward) and then counterclockwise (backward) for 3 s each as the P27 LED flickers. The light for the wheel that's not moving may either be on or off, depending on its encoder state. Likewise, the light for the test wheel may end in either on or off when it's done turning.

    If it's moving too fast to see the LED flicker, reduce the speeds from +/- 40 to 30, 25, etc. If it's too slow to get the wheel to move, it is also possible to push the servo harder briefly, for example with servo_speed(12, 100); pause(500) before continuing at the slower speed.

    I'm not sure if that's the exact same behavior with an Arlo, and won't have access to one until Monday. Perhaps someone with a working Arlo and stock connections could verify?
    #include "simpletools.h"
    #include "servo.h"
    
    void encodersLeds();
    
    int main()
    {
      cog_run(encodersLeds, 128);
      servo_speed(12, 0);
      servo_speed(13, 0);
      pause(1000);
    
      servo_speed(12, 40);
      pause(3000);
      servo_speed(12, 0);
      pause(200);
      servo_speed(12, -40);
      pause(3000);
      servo_speed(12, 0);
      pause(200);
    
      servo_speed(13, -40);
      pause(3000);
      servo_speed(13, 0);
      pause(200);
      servo_speed(13, 40);
      pause(3000);
      servo_speed(13, 0);
    }
    
    void encodersLeds()
    {
      set_direction(26, 1);
      set_direction(27, 1);
      while(1)
      {
        set_output(26, input(14));
        set_output(27, input(15));
      }
    }  
    
  • chronoglasschronoglass Posts: 15
    edited 2015-10-04 18:20
    ok so, let me start off by saying.. i apologize i screwed something up somewhere..
    I did the sensible thing again (which I had done.. but i must've been following a flawed checklist or something) and disconnected everything, and put it all back together, including resetting jumpers, and reseating power lines.

    i am now getting motor love by giving it a 2 count after starting the main board!

    looking at my initial post, when i had one wheel turning and not the other, I see that i had the encoders connected to the same "powered" pins as the controller

    //this is incorrect
    p12-13 set for one motor/encoder pair
    p14-15 set for the other
    both jumpers set for VIN
    //end incorrect part

    i NOW have the jumper on p12-13 set to vin and both motors attached there
    and the jumper on p14-15 set to 5v and both encoders located there
    and p16-17 set to 5v with the first ping attached to p16

    it seems to me that these controllers should be able to return a status response of some variety to SAY that they have gone into timeout or shutdown mode so it could be caught with software, and corrected for, but for now.. I'll just be happy with the fact that i have a rolling platform! thank you all for all of the help! now to see how many sensors i can stuff on this thing!
  • Good News!

    Happy cat chasing!
  • Great news! And it is totally fine to mess stuff up and ask for help, that is how we learn! I too obviously messed up somewhere because I've been convinced for months that the latest SimpleIDE didn't work. You helped me get over that.

    For me the "solution" to the motor controller init problem was the USB Relay board. It really isn't very expensive, and it lets me program the robot to be, well, a robot, where it automates tasks, including turning on the motor controllers AFTER the Propeller board is running and actively sending "servo" signals.
    While things don't always work with the serial connection (that is what that "watchdog" is all about), I never have an issue with the motor controllers not being in the right mode and responding.

    This is the relay board I use:
    http://www.amazon.com/SainSmart-Eight-Channel-Relay-Automation/dp/B0093Y89DE/ref=sr_1_1?ie=UTF8&qid=1443987391&sr=8-1&keywords=usb+relay
    There is also a 4 port version that is smaller slightly less expensive, and I'm sure you can shop around.

    Either way though, knowing how to get it going by hand is very important. :)
  • WhitWhit Posts: 4,191
    edited 2015-10-04 20:16
    Chronoglass - It is even better to mess up and have a thread where you work the problem through - everyone learns something then! Plus - you've made a resource for others and modeled persistence and good problem solving! Thanks!

    ChrisL8 - cool relay board!

    Andy - you are the best!
  • chronoglasschronoglass Posts: 15
    edited 2015-10-21 02:03
    i had hoped i was done with this.. but it appears that the calibration bug bit me again..
    I had the guy moving around a bit.. but the right motor was really intermittent.. I tested a few things (swapped power, the problem stayed on the right, swapped signal, the problem moved)

    So i assumed it was calibration related, and decided to redo the calibration.

    So if i have the theory correct, the controllers just need to not wake up in safe mode to get the "ball rolling" as it were. I've got the usb relay in the mix now so my calibration process was SLIGHTLY different.

    ***************edits*************************
    edit 1. using this to keep track of what ELSE i've done
    i just went and grabbed the libraries from the post mentioned above instead of using the ones that got grabbed from chris' script.. will report back if there is any change
    *********************************************


    step 1. power everything down
    step 2. power on main
    step 3. send the calibration program to the PAB
    step 4. wait for amber lights then trigger the relay to start the motor controllers
    step 5. wait for motor movement
    step 6. reset the PAB
    step 7. wait for the motors to do their voodoo and the amber lights to go away
    step 8. power everything down
    step 9. power the board back on
    step 10. push the display calibration table code
    step 11. watch the terminal for data
    step 12. ???
    step 13. chase cat

    my process is hanging at step 11.
    to extrapolate step 11 attempts, I have done the following
    1. skip step 8 and go directly to 10
    2. insert step 10a. reset PAB with terminal running/waiting
    3. leave motors running, reset PAB after pushing displaycalibration code with terminal running
    4. cycle motors after resetting pab, after pushing displaycalibration code with terminal running
    5. start terminal after a few seconds of displaycalibration code running
    6. use "run with terminal"
    7. use "load ram and run" with terminal waiting
    8. add 20k with of resister across 14 and 15 and try all of the above again
    9. use backup PAB and try all of the above again
    10. rewire without relay again... (not yet.. but that's about where I am)
  • so.. libraries.. heh

    #include "abcalibrate.h"
    is not the same as
    #include "arlocalibrate.h"
    scanning em side by side to see if i can find why they are acting differently for me

    both the calibration file in the post above and the one included in the arlobot stuff from chrisl8 seem to never actually write their info to the eeprom memory (guessing here, I didn't actually go disect it)

    BUT the abcalibrate does.

    the arlobot calibrate starts the wheels spinning FAST, then slows down, and reverses up to FAST again.
    the left side seems to take much longer than the right

    abcalibrate goes through both of them really slowly.. the right side takes a LOOOONG time

  • abcalibrate.h should be for the ActivityBot, which uses the exact same Propeller ActivityBoard, but just uses two servos for the wheels.
    arlocalibrate.h is for the Arlo

    That seems strange that arlocalibrate isn't working for you. That is what I use, and I think that is what Andy from Parallax uses too.
    Are you sure you are giving it time to finish?

    Also, remember that once your run the calibration once, it will not write to EEPROM again, no matter how many times you run it!
    It only writes to EEPROM the first time.
    To run it again you have to reinstall it.
  • chronoglasschronoglass Posts: 15
    edited 2015-10-21 18:20
    yeah, i'm following all of the above steps each time, unless mentioned otherwise.. so I'm really not sure what's different for me.. other than me being me.. haha
    I'm 90% certain it's something on my end, and of course will keep poking around

    something just occurred to me, can anyone confirm which side of the encoder boards they are using for each motor? (I don't have all 4 connections plugged in, so maybe I'm not powering one of them(will play swap the sensor when I get home regardless), or it's giving wonkey info and hence not actually calibrating?)

    looking at the two calibrate.h files.. the only real difference I am seeing is the encoders and the speeds used.. (not going to lie, there are a few places I got lost jumping back and forth.. but based on the diff it seems to be true)

    edit: side note, chris, the arduino code for the 2nd board replacement seems to be pretty stable now and is actually running at full speed! I'm confident enough to let others use it if they feel inclined.
    https://github.com/chronoglass/arlo-arduino-sensor_board

    Looking to add support for the xv11 and the https://www.sparkfun.com/products/13680 lidar lite modules soonish if I can get away with it
  • So either im going crazy.. OR i have a dead encoder, though, in theory the abcalibrate should ignore them?

    If i run the arlobot calibration I can never run the displaycalibration, it just never does anything.
    I've tried replacing the xbee ifdefs with straight serial writes and those aren't coming back to me.. so I started trying wonkey things.

    Since I know that the abcalibrate completes, I ran it and looked at the data it's giving me on the display side. and that looks thusly
    === LEFT SERVO ===
    
    Table Entries = 67
    Zero Speed Index = 1
    
    Index   Servo Drive     Encoder Ticks/Second
    -----   -----------     --------------------
    0       13              1000
    1       13              0
    2       13              0
    3       12              0
    4       13              0
    5       14              0
    6       15              0
    7       15              0
    8       16              0
    9       17              0
    10      19              0
    11      19              0
    12      -1              0
    13      -1              0
    14      20              0
    15      20              0
    16      20              0
    17      19              0
    18      20              0
    19      21              0
    20      22              0
    21      25              0
    22      26              0
    23      28              0
    24      29              0
    25      29              0
    26      31              0
    27      30              0
    28      31              0
    29      32              0
    30      150             0
    31      36              0
    32      38              0
    33      1000            0
    34      -194            0
    35      -60             0
    36      -194            0
    37      -60             0
    38      -194            0
    39      -60             0
    40      -194            0
    41      -60             0
    42      -194            0
    43      -60             0
    44      -194            0
    45      -60             0
    46      -194            0
    47      -60             0
    48      -194            0
    49      -60             0
    50      -194            0
    51      -60             0
    52      -194            0
    53      -60             0
    54      -194            0
    55      -60             0
    56      -194            0
    57      -60             0
    58      -194            0
    59      -60             0
    60      -194            0
    61      -60             0
    62      -194            0
    63      -60             0
    64      -194            0
    65      -60             0
    66      -194            1000
    
    
    === RIGHT SERVO ===
    
    Table Entries = 154
    Zero Speed Index = 39
    
    Index   Servo Drive     Encoder Ticks/Second
    -----   -----------     --------------------
    0       -195            1000
    1       -190            110
    2       -185            112
    3       -180            114
    4       -175            116
    5       -170            118
    6       -165            -65416
    7       -160            -1
    8       -155            16777215
    9       -150            126
    10      -145            128
    11      -140            130
    12      -135            132
    13      -130            134
    14      -125            139
    15      -120            144
    16      -115            149
    17      -110            154
    18      -108            159
    19      -106            164
    20      -104            169
    21      -102            174
    22      -100            179
    23      -98             184
    24      -96             189
    25      -94             194
    26      -92             199
    27      -90             117
    28      -88             13
    29      -86             13
    30      -84             12
    31      -82             12
    32      -80             11
    33      -78             10
    34      -76             10
    35      -74             9
    36      -72             8
    37      -70             7
    38      -68             7
    39      2               0
    40      72              5
    41      74              6
    42      76              7
    43      78              9
    44      80              9
    45      82              10
    46      84              11
    47      86              11
    48      88              12
    49      90              13
    50      92              13
    51      94              13
    52      96              13
    53      98              13
    54      100             13
    55      102             12
    56      104             13
    57      106             14
    58      108             15
    59      110             15
    60      112             16
    61      114             17
    62      116             19
    63      118             19
    64      120             20
    65      122             20
    66      124             20
    67      126             20
    68      128             20
    69      130             19
    70      132             20
    71      134             21
    72      139             22
    73      144             25
    74      149             26
    75      154             28
    76      159             29
    77      164             29
    78      169             31
    79      174             30
    80      179             31
    81      184             32
    82      189             35
    83      194             36
    84      199             38
    85      117             39
    86      28              0
    87      30              0
    88      32              0
    89      34              0
    90      36              0
    91      38              0
    92      40              0
    93      42              0
    94      44              0
    95      46              0
    96      48              0
    97      50              0
    98      52              0
    99      54              0
    100     56              0
    101     58              0
    102     60              0
    103     62              0
    104     64              0
    105     66              0
    106     68              0
    107     70              0
    108     72              5
    109     74              6
    110     76              7
    111     78              9
    112     80              9
    113     82              10
    114     84              11
    115     86              11
    116     88              12
    117     90              13
    118     92              13
    119     94              13
    120     0               13
    121     0               13
    122     0               13
    123     154             12
    124     0               13
    125     67              14
    126     1000            15
    127     110             15
    128     112             16
    129     114             17
    130     116             19
    131     118             19
    132     -65416          -1
    133     -1              -1
    134     16777215                20
    135     126             20
    136     128             20
    137     130             19
    138     132             20
    139     134             21
    140     139             22
    141     144             25
    142     149             26
    143     154             28
    144     159             29
    145     164             29
    146     169             31
    147     174             30
    148     179             31
    149     184             32
    150     189             150
    151     194             36
    152     199             38
    153     117             1000
    

    now i have noticed that it spends about 3 times the time on the left side as the right when calibrating. which lists all of the readings as 0.. or am I crazy, because it shouldn't even be looking at them?

    it would appear that the arlocalibrate just silently fails on a busted encoder, but the activitybot code happily churns along (maybe because it's not really expecting encoders?) or again.. has my mind left me?
Sign In or Register to comment.