I am using the Teensy 3.2 to control two kangaroo PID controllers attached to the Sabertooth 2×25 drivers on a 4 wheel IG52 mecanum robot chassis. I got the example code to work, but I am encountering some issues I suspect may be due to noise on the serial line. I can command the wheels to turn properly but there is a delay in the response. It ranges from microseconds to seconds to not even moving at all. I noticed when running the kangaroos off of one serial line (multi-mode enabled) the problem got worse so I went back to controlling them off of two seperate serial lines. The lines are about 2 feet long and are currently in shielded wiring. Any help/ insight on this problem would be appreciated greatly.

Attachments:

Hi Jesse. Are you able to see any printouts from the code you attached? Also, after briefly looking into the Teensy 3.2, it seems the logic voltage is 3.3 Volts. You probably should step this up to 5 Volts using one of our level shifting boards to interface with the Kangaroo.

Hell, thanks for a quick response. My coding friend wrote a great object latency test script which determined tha the kangaroo.channel.s() method was taking anywhere from 120 – 500 ms to respond. After fixing A broken ground wire from the driver to the ground of the MCU the latency per object dropped to 34 ms. Then after increasing the baudrate on the kangaroos to 115200 from 9600 it dropped to 3-4 ms per call. Totally fixed the delay problems. I am using s sparkfun logic level shifter from teensy to kangaroo by the way. Also for reference I’m using packet serial. Thanks.