ROS RoboClaw Support

General discussion of using Roboclaw motor controllers
User avatar
Basicmicro Support
Posts: 1280
Joined: Thu Feb 26, 2015 9:45 pm

Re: ROS RoboClaw Support

Post by Basicmicro Support » Wed May 24, 2017 10:28 am

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.

User avatar
Basicmicro Support
Posts: 1280
Joined: Thu Feb 26, 2015 9:45 pm

Re: ROS RoboClaw Support

Post by Basicmicro Support » Wed May 31, 2017 9:56 am

You can download the updated driver here: http://downloads.ionmc.com/code/roboclaw_node.zip

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.

hdeniz
Posts: 1
Joined: Sat Sep 21, 2019 9:20 am

Re: ROS RoboClaw Support

Post by hdeniz » Thu Nov 21, 2019 11:05 pm

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 readme.md included with the ROS driver:

## Topics
###Subscribed
/cmd_vel [(geometry_msgs/Twist)](http://docs.ros.org/api/geometry_msgs/h ... Twist.html)
Velocity commands for the mobile base.
###Published
/odom [(nav_msgs/Odometry)](http://docs.ros.org/api/nav_msgs/html/msg/Odometry.html)
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 roboclaw.py library code though. Assuming I can get this RPi2 running ROS properly that should be sometime tomorrow.
Hi,

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.

User avatar
Basicmicro Support
Posts: 1280
Joined: Thu Feb 26, 2015 9:45 pm

Re: ROS RoboClaw Support

Post by Basicmicro Support » Fri Nov 22, 2019 9:24 am

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.

https://answers.ros.org/question/295388 ... l-package/

Post Reply