chrisl8 / ArloBot

ROS Package for a Parallax ArloBot Robot
https://log.voidshipephemeral.space/Arlobot/ArloBot+Build+Index
MIT License
39 stars 27 forks source link

Replace obsolete DHB-10 with RoboClaw Motor Controller #176

Closed TCIII closed 9 months ago

TCIII commented 2 years ago

@chrisl8,

To help prevent the Arlobot robot chassis from collecting dust in some corner of an experimenter's workshop, how about replacing the DHB-10 with a RoboClaw Motor Controller?

There are a number of ROS Nodes written for the RoboClaw Motor Controller and the Basic Micro website has Python control programs available for the Raspberry Pi SBC as well as C++ programs too.

I have the time and resources available to help support such an effort.

Regards, TCIII

chrisl8 commented 2 years ago

@TCIII The first issue is the hardware.

I do have a couple of Roboclaw controllers, but I don't know when I will get around to attempting to wire up the motors on the Arlobot to it. Since it works "as is" I'm not highly motivated to pull the wiring off of the DHB-10 to experiment with them.

It would be more interesting if we could use different motors, preferably with built in encoders like ones from Pololu, but then the issue of mounting them comes along.

Another option is to just build an entirely different platform from scratch and leave the Arlobot as is.

TCIII commented 2 years ago

@chrisl8,

I have used that motor/encoder combination on a medium weight robot using a robot chassis like this. I am using the Donkey Car "path_follow" template from the 921 branch. Presently the robot can use either wheel encoders or the Intel T265 Tracking Camera to record a path and then drive the recorded path. There is no training involved other than driving the path just once. We hope to fuse the wheel encoders data with the T265 data to create a very reliable path follower.

The Pololu motor/encoder combination will not support the weight of a Arlo size robot chassis. I use two 3S 5000 mahr LiPos to power the robot I described above to help keep the chassis weight down. The onboard SBC is a Nano 4GB and controls a Dimension Engineering Sabertooth 2x5RC Motor Controller (Differential Drive Mode) through a PCA9685 Servo Controller.

Also the Pololu motor/encoder uses a phosphor/bronze Oilite sleeve bearing that will not support the loads that the Parallax motor/wheel combination can support. I prefer geared motors with a ball bearing supporting the output shaft.

I think that we might have to abandon the Arlo chassis in favor of the robot chassis I mentioned above. It is reasonable in price, comes in either a square or round configuration, and is stackable like the Arlo chassis.

The pictures below show the robot chassis with a Rpi 4B/4GB and non-encoded motors. The Rpi was replaced with a Nano 4GB and the motors were upgraded to motors with encoders. Also the T265 is now mounted on a heatsink attached to a shock mount plate and looks straight ahead now.

Comments?

Latest Robot Pics 001 Latest Robot Pics 002

TCIII commented 2 years ago

@chrisl8,

I used this Pololu motor bracket to mount the Pololu 37D motors in your link above.

I mounted the motor bracket to the end of a 1/4 inch thick piece of rectangular Acrylic which I then mounted to the bottom of the robot chassis.

This motor bracket is much stronger that the stamped version.

Here is a parts list for a 2WD chassis similar to the Arlo chassis that uses Servo City motor/encoders, but would require some cutting of the bottom plate to clear the wheels as in the Arlo chassis:

The motor/encoder/wheel/mounting hardware assemblies works out to about $150 total for both pairs, plus shipping, which is quite a bit less than a pair of the Parallax motor/wheel assemblies plus the quadrature encoders are of much higher resolution than the Parallax quadrature encoders.

Arguably the wheels do not have innertubes and the rims are plastic versus the Parallax aluminum rims, but the price is very attractive. However these tires will extend a little over an inch outside of the recommended 16 inch diameter chassis.

The alternate scooter wheels and wheel adapters will up the total cost slightly, but will keep the wheels within the 16 inch diameter of the recommended chassis base. Though the scooter wheels might not have as good of traction as the off road robot tires.

Comments?

Regards, TCIII

TCIII commented 2 years ago

@chrisl8,

Have you seen this issue concerning the RoboClaw ROS Node?

Question: Do you really need a robot chassis as big as Arlo?

Answer: Maybe not. How about using a 14 inch diameter ABS chassis like this one Then the following Motor/Wheel configuration: 1) Motor with encoder 2) Motor mount 3) Scooter wheel adapter 4) Scooter wheel

There will be a minimum wheel offset using the scooter wheels/adapters that will significantly reduce the offset loading on the D37 motor driveshaft bearing.

Using a RoboClaw 2X7 Motor Controller and possibly an Arduino Mega 2560 to take the place of the PAB for motor control and sensor monitoring might be the way to go?

TCIII

TCIII commented 2 years ago

@chrisl8,

Parallax has a Universal Motor Driver that will work with all versions of the P2.

This motor driver might be an alternate to use in place of a RoboClaw motor controller when building an "off the shelf" ArloBot?

The price is about the same as the 2x7 RoboClaw, but will handle 20 amps/side and you could still use P1/P2 software by updating to a P2.

Comments?

TCIII

TCIII commented 2 years ago

@chrisl8,

Have you made any progress in replacing the Parallax DHB-10 Motor Controller with a RoboClaw Motor Controller?

Regards, TCIII

chrisl8 commented 9 months ago

As much as I hate to admit it, I have other priorities and this is not likely to happen. Maybe someday when I retire I can return to this or maybe someone will hire me full time as an "open-source robotic platform maintainer", but until then I am going to shelve this.