I’ve followed the guide provided from lynx but when i start using the rover (with the last bas file on the tutorial) it not works properly. The base turns itself without key pressed (I’ve tried two ps2 remote), wrist goes up and then is impossible to return it down, elbow and shoulder works for a little bit fine then they appear crazy (they goes up, down, crashing on the rover and on the bot board). I’ve followed the guide step to step but i’ve used 2 12v batteries in series for sabertooth and 2 6v battery in series for servos and botboard.
Hi and welcome, I assume from this you are using the tutorial: lynxmotion.com/images/html/build148.htm
I assume on batteries, you meant to say you are running the two 12v batteries in parallel and likewise for the two 6v batteries as giving 24V to the motors and 12v to servos would not be a good thing. If they are in parallel and in good shape… They should be fine.
Did you run step 12, which is the trying to find the servo offsets for the ARM. Did this work OK?
This would imply that the servos are working and hopefully on the right pins, etc.
From this, I would assume that then edited the Rover_v1.2 file with the appropriate offsets and then build and downloaded the program to the rover and that is where you are having the problem.
Please note, I do not have this setup. I do have a rover with an al5D on it, but currently do not have a PS2 hooked up to it and I am a bit rusty on this.
When the program starts, it will initialize the arm, which moves it to a standard place. This is done by a function called InitArm. In my version of this I removed the call to InitArm from the initial code. [code];====================================================================
;[INIT]
;Initialize servo positions
interruptenable=false
Gosub InitArm
;Current gear
Gear = 3[/code]
So in mine I commented out the line Gosub InitArm here. This has a downside that if the arm is in a bad spot, it will stay there. But it has a plus in that if I am playing with the rover stuff I don’t have to hear the digital servos… If I were you I would try this. Then if the program starts up OK, try and hit the Start button and see if you can drive the rover around. If so we know that the PS2, Sabertooth, etc are working fine.
Then you can try to hit the select button and see if when it inits the arm that it still has problems. If so I would again double check that you entered all of the servo offsets correctly and build the program. if it is still hitting the deck, try changing the arm initial locations.
#ELSEIFDEF AL5B
HumerusLength con 119 ;Length of the Humerus [mm]
UlnaLength con 127 ;Length of the Ulna [mm]
InitWristPosX con 30 ;Init position X
InitWristPosY con 130 ;Init position Y
InitGripperAngle1 con -450;Init Angle gripper
I assume yours has AL5B defined as it downloaded that way. If it still has problems, try playing with the InitWristPosX and Y Maybe try X=50 and Y=150 to see what happens.
Good Luck and I hope this helps.
Kurt
The batteries provide 12v to sabetooth and 6 to botboard and arm. I’ve tested your reply but the problem is the same. I think its a problem with the data coming from the ps2 controller: at startup (when base rotate left and wrist goes up) ps2 controller is not a 0 position. How can I calibrate joypad and view sended data to botboard? There is a test for botboard to check if it works fine?
About the lynxmotion tutorial i haven’t followed the sabertooth configuration because it didnt work for me. My actual configuration is 1,4,6=OFF 2,3,5=ON I’ve founded that on the guide provided with it. That configuration is - Microcontroller pulses, independent linear control: A R/C servo signal is connected to terminals S1 and S2. A 1000us - 2000us pulse controls speed and direction. 1500us is stop
Some of the same questions still remain. Were you able to run through 16 OK? IE could you run your rover in tank mode and the other mode? Did the arm work with the servo offset program? What offsets were found? This is important as sometimes you find that one of the servo horns is not on the right spot and you are way off…
If the values looked reasonable, did you copy them into the rover_v1.2.bas file?
If you comment out the first InitArm call as I mentioned in the earlier post (put a ; or a ’ at the start of the line. The arm should not do anything until you hit the select button on the PS2. Did you try this? If so did the rover work? Again the rover should not do anything until you hit the START button on the PS2 remote. If you hit the start button does it move. I think it starts in Tank mode, so can you move both sticks forward and does it move ? Clicking down the right joystick should convert to one stick mode… If this works OK then we know your PS2 is working. If you still have problems, you can always try running through the PS2 tutorial:http://www.lynxmotion.com/images/html/build034.htm
A probably side question. Did you put on a wrist rotate option, if so which (light or heavy duty?) What this impacts is if you have anything plugged into P5 and some commands that rotate the wrist obviously won’t. But in addition it does impact the length, which can impact the Idle location…
Other side note, try to make sure that the arm is in a safe orientation before turning on the power. I usually have mine folded up pointing forward, which is pretty close to where the Init will take it.
Kurt
Hi fraschi,
Like kurt already said: Welcome to this forum.
Was Kurt correct that you are using the tutorial he pointed at? I want to make sure that we are talking about the setup without the SSC servo driver.
We do need a bit more information to get you trough this issue. Can you tell me what IDE you’re using to program the Atom? Are you using the new studio?
Can you clarify this a little bit more:
What do you mean by starting the rover, turn on the bot by pressing the start button or turn on the power or switch to rover controls by hitting the select button? Can you use the arm if you don’t enable the rover?
I just opened up my rover to double check on the sabertooth settings. I’ve got my configuration exactly as shown in figure 5 in the tutorial. sw 3 and 4 are on, the others are off. You should have the same setup…
“normally” there is no need for calibrating the PS2 remote. The remote has got a range from 0 to 256 on each of the 4 joystick channels. When the joystick is in the middle position it will return 128. Sometimes it happens that the stick is a bit out of range and doesn’t return 128 exactly. This is why there is a deadzone included in the software. Default this value will be 4. This means that every value between 124 and 132 will be seen as 0 and will not move the arm.
I hope this helps,
Xan
That’s all the answer… Thanks for this help
The tutorial was that: lynxmotion.com/images/html/build148.htm
When I start the rover, switch power on, without any key pressed the arm base rotate itself to the left and the servo of wrist (hand) goes up itself (when it is at the end point, hand all’s up, i couldt return it down with ps2 remote). If i switch to rover mode (select button) the whels of the rover moves a little bit. If I return on arm mode (select button) I have the same issues like when i start up.
I don’t use SSC servo driver, only botboard II.
I’m using BasicATOM-Pro IDE.
With the sabertooth setup on Fig.5 the rover mode doesn’t work, I use the configuration from the guide provided with sabertooth board. (I had to specify that my sabertooth board is the same version described on the tutorial but it doesn’t have the same connection pin: mine has S1 S2 0V 5V, I’ve connected 0V to each black cable, one yellow on S1, other yellow on S2 and nothing on 5V. I have that sabertooth, dimensionengineering.com/dat … kStart.pdf , and using the configuration specified here).
I’m using a light wrist rotate and i’ve put the connection of servo on P5.
About that (kurte): “Other side note, try to make sure that the arm is in a safe orientation before turning on the power. I usually have mine folded up pointing forward, which is pretty close to where the Init will take it.”
can you provide an image of that position?
With offset program the arm works fine, to have the right position but i have to change the position like in that figure
http://img33.yfrog.com/i/servo02.jpg/
for the P1 P2 servos, and sets the offset to
Base_Offset con -650
Shoulder_Offset con -750
Elbow_Offset con -750
Wrist_Offset con -750
Gripper_Offset con 0
WristRotate_Offset con 0
The ps2 controller works perfectly with that tutorial lynxmotion.com/images/html/build034.htm, i’ve tried
your suggestion and that’s the result:
(With initmode commented)
- At power up it’s all stopped.
- Pressing select and it will be in arm mode (arm moves but have the same problem) wheel of rover rotates a little bit forward.
- Pressing select and it will go in rover mode (the wheels rotates a little bit itselfs) left stick for forward and rewind right stick for turning
- Pressing right stick it comes in one stick mode
- On start pressed in rover mode i cannot control the wheels but they rotates itselfs at little velocity
- On start pressed in arm mode the arm shuts off (no noise from servos)
Now I have tried this:
Sabertooth configuration in fig. 5 doesnt work, the only way is the configuration in fig5 but with exponential on (switch2 on)
Set deadzone to 10 (bot will move itself)
Set deadzone to 25: no movement without keypressed (fine)
Remaining that problem:
Right stick:
L/R base rotates fine
U/D gripper up/down (but sometimes base rotates a little bit)
Left stick:
U/D Unable to control servo on P1 and P2 they moves togheter
L/R Unable to control servo on P1 and P2 they moves togheter
On up the arms is like closing to itself like this /\ on the front
On down the arms becoming first – to the front, if pressed down another time it become like this _/ behind
If now I press up it first become – behind then if pressed down it becomes /- on the front
I hope that you can understad. So the problem was that i cannot have a middle position of that it goes only an the position descrived…
I’ve tried to put P1 Servo on P0 and it works fine.
So, I’ve a small question… left stick moves P1 and P2 both or separately? If U/D and L/R moves both how can i modify the bas file to move P1 with U/D and P2 with L/R separately?
Testing PS2 controller with the communication tutorial i know that it sends incorrect parameters, I’ve tested another one but the same error. Now i had to receive a new one (wireless) and I have to test it. I hope that’s work, else there could be a problem with the boatboard…