Forum Replies Created
- February 25, 2020 at 11:15 am #7432
Hi Dave, you could use either one of the 24V 4A chargers and charge in series or two 12V 10A chargers and charge each battery separately. We typically leave the charger off the robot and just put a connector on the robot but you could also mount it on-board if you’d like to.February 20, 2020 at 5:00 pm #7427
Here is a rough diagram for RC input to two motor controllers. I would hook up the front motors to one of the motor controllers, and the rear motors to the other motor controller.
Attachments:You must be logged in to view attached files.February 20, 2020 at 4:21 pm #7423
We have a few different options for motor controllers, and it really just depends how you are controlling it, and what you want to do with the motor controller.
The Sabertooth 2×60 motor controller is a good option if you want to control it with RC, or a simple serial connection.
The Roboteq MDC2460 is another really good controller that can take RC input, or Serial. The benefit to the Roboteq is that you have a lot more options and parameters to play around with and can easily hook up encoders and set up speed control, or distance control.
Depending on the load, you should be able to get away with one motor controller, but if the load will be higher, I would split the motors between two motor controllers to handle the extra load.January 15, 2020 at 3:46 pm #7408
Unfortunately we do not, we usually don’t have many people that need the index. If you are good with soldering, you might be able to solder a small wire onto the leg of the LS7366R chip.January 15, 2020 at 1:21 pm #7406
You are correct, the buffer board does not interface with the index pin directly.January 15, 2020 at 1:13 pm #7403
Do you physically have the index pin hooked up to the Arduino? If that is the case, then you should be able read the pulse with a digitalRead and clear the encoder counts that way.January 15, 2020 at 8:47 am #7401
Are you trying to reset the number of counts that the arduino is reading? If that is the case, you can use the command “Encoder1.clearEncoderCount()”
The buffer board does not hook directly up to the Index pins of the LS7366R, so sending that value might not help.
MartyNovember 20, 2019 at 2:18 pm #7353
just a few questions.
What are you using for a motor controller?
Are the brakes disengaged?
are you using encoders?September 20, 2019 at 10:34 am #7247
I would look at the wires running from the lights and make sure that they are still connected to the LED lights. If they are still connected, you can take off the top lid of the robot and see if the connector has come unplugged from the board inside.
If you still can’t get them to work, I would suggest emailing us a picture of the LED and Camera section of the robot. You can send the email to email@example.comSeptember 18, 2019 at 3:15 pm #7244
Please see the attached PDF for instructions on getting your RunCam 2 set up as a replacement. Once you have changed those settings you should be good to go.
Attachments:You must be logged in to view attached files.September 13, 2019 at 4:33 pm #7241
It looks like you have it! you are probably right about the max speed being 127, and anything over that amount wouldn’t really be doing anything, but just to be on the safe side, I would still constrain it to -127 to 127 just to be safe.
The sign of the motor might change depending how you have your motors hooked up, but it looks like it should work.September 13, 2019 at 12:09 pm #7239
Good, I’m glad it helped. And yes, the math will have to be changed a bit, but it shouldn’t be too hard.
As far as the scaling goes, you are on the right track for the motors. It will take some trial and error, but I think you are off to a good start.September 13, 2019 at 11:44 am #7237
It was hard for me to understand at first as well, so you are not alone!
Ideally you would want to create a system of movement that is independent of forward, back, left, right, and strafe because of the case where you would have to move at a non standard angle (like 37 degrees).
In the RC example, we are taking 3 inputs from the RC controller (forward/back, turn, and strafe) and essentially normalizing them to each wheel so that it will move by a proportional amount.
Let’s say you push the RC stick to the Right: that would mean that the turnVal would be at -127, and the wheels would be given the following speed values
Front Right -127
Front Left +127
Rear Right -127
Rear Left +127
so the right wheels are turning backwards, and the left wheels are turning forwards, which turns the robot right.
for the case where you have the RC stick is pushed forward and slightly right (driveVal = 127, turnval = -27)
Front Right = -100
Front Left = 127
Rear Right = -100
rear left = 127
which would turn the right wheels slightly slower than the left wheels, and make the robot turn slightly to the right. Keep in mind that the max value of the drive val is 127, so any number beyond 127 will be set to 127.
for your camera, if you were able to set up the vision to track where an object is relative to the center of the camera, you should be able to create a vector from the x and y coordinates and send that to move the robot proportionally.
Hopefully this helps a little bit. Also, keep in mind that this isn’t the only way to achieve the mixing in the robot, so try searching around for other examples and see if any of those works better for your purposes.September 12, 2019 at 11:33 am #7235
I would suggest taking a look at the Sabertooth Arduino Library. Specifically the Packetized Serial example for controlling the motors. This way you will be able to control each wheel individually without having to swap the leads around.
We also have some sample code for a RC Mecanum Robot on our github page that can give you an idea on how to do the mixing (lines 110 to 116).
It looks like you have are going in the right direction, but I figured the above would make it easier on you in the long term.September 12, 2019 at 8:52 am #7233
We usually set up the motor controllers so that the front wheels are both on one motor controller, and the rear wheels are on the other. So it looks like you have that set up correctly.
As far as the motor speeds go, it is an intrinsic problem with motors. they will all turn at slightly different speeds. The way that we can correct this is to use motors with encoders so that we can monitor the speed, and adjust the power to the motor independently.
What you can do if you don’t have the encoder motors, is to run some tests and scale each motor down one by one until you see that they are moving the same speed. The only issue with this method is if you move to a different terrain, and the wheels encounter more or less resistance than they did when you tested them, but because this is a mecanum robot, you really won’t be doing much off roading with it, so the values should stay fairly constant.
Let me know if you have any further questions.