CJdev99/roboteq_ros2_driver

Getting odometry 0 0 even after getting encoder pulse.

Closed this issue · 7 comments

I'm able to run motor with teleop twist keyboard. i have SBL2360T which is running on closed loop with hall sensor. I have encoder too which is connected to encoder terminal too. Now if I run my AMR with teleop , My vehicle is running but getting topic echo /odom is giving all zero output

Can I have some more information? What branch/OS are you on? Have you verified encoder ticks are being incremented on the roborun+ utility?

@souravchandrasaha was this ever resolved?

I'm using ROS galactic and yeah I have checked in roborun+utility software and encoder ticks is increasing there.

No problem is still there

@souravchandrasaha I haven't seen others have this problem, but there are two problems that might be causing this-

  • I wrote this for foxy and humble, not galactic. I doubt this is the problem since it's accepting messages from teleop
  • You're using a different motor controller than what i developed this for. When i wrote this, most roboteq controllers used the same string queries, but yours could be different. One thing you can do is look into the controllers manual/documentation and verify that the string queries used by your motor controller are the same as what's used for the SDC/HDC family. Roboteq technical support should be able to answer that.
  • If they do use the same queries, let me know and we can try to debug this in a private chat.

Yeah I have discussed with them and they have confirmed that it uses same queries as SDC/HDC family.

@souravchandrasaha My recommendation then is install Foxy instead of galactic (Foxy is EOL but the LTS Ubuntu 20.04 ROS2 version anyway) and see if it still happens. Also, send the params you're using so I can take a look at what might be happening.