Page 2 of 2

Re: ROS RoboClaw Support

Posted: Wed May 24, 2017 10:28 am
by Basicmicro Support
I see you emailed support for the ROS driver. We will be sending it out to the people who requested it later today or tomorrow.

Re: ROS RoboClaw Support

Posted: Wed May 31, 2017 9:56 am
by Basicmicro Support
You can download the updated driver here:

The roboclaw itself can process commands much faster than 2hz. Im not sure if you are being limited by the ROS system or not. Check the update rate you can reach with the updated driver and let me know.

Re: ROS RoboClaw Support

Posted: Thu Nov 21, 2019 11:05 pm
by hdeniz
Basicmicro Support wrote:
Wed Mar 29, 2017 7:47 pm
I just spent the last two days trying to setup ROS on available systems(a BananaPi and RaspberryPi 2 we had). I may finally have one of them working.

I've also spent time reading through the ROS wiki and figuring out how it all works. Based on what I've read whether you use python code or C++ code, in regards to working with the Roboclaw, doesnt really matter. The bottleneck is the communications rate to/from the Roboclaw. So unless you are using a much lower powered processor than I think you can actually use with ROS(eg R-Pi seems to be the bare minimum) I dont see any particular advantage of C++ over Python. That is only the case in regards to communicating to the Roboclaw of course. Other parts of ROS where heavy computing may be required I can see the advantages of C++.

From the included with the ROS driver:

## Topics
/cmd_vel [(geometry_msgs/Twist)]( ... Twist.html)
Velocity commands for the mobile base.
/odom [(nav_msgs/Odometry)](
Odometry output from the mobile base.

As you can see it has both a cmd_vel subscriber and a odom publisher. I've looked through the code and I dont see any reason the odom code would not be functioning. I will be doube checking it when I update the library code though. Assuming I can get this RPi2 running ROS properly that should be sometime tomorrow.

There is an important benefit for using C++ driver. With C++ driver you can use ros_control. ros_control means you can use ros_controllers like diff drive etc. I think you didn't get the oportunity here. If you write this C++ driver, you will get too much customers who are using ROS. I think you should consider it in detail.

Re: ROS RoboClaw Support

Posted: Fri Nov 22, 2019 9:24 am
by Basicmicro Support
I believe you are mistaken as stated.

"What do you want to do exactly? Communicate with a ros_control based robot (ie: send trajectories and setpoints), or write your own controllers and/or hardware_interface implementations? The former is perfectly possible with Python, the latter basically requires C++ (although it could be interesting to see whether something like boost::python could be used)."

Based on what this person says you only need C++ if you are writing a custom interface which by definition would require you to write the communications code anyway. If you just want to use the interface we already provide you apparently can. ... l-package/