setcancommand not working
5 years 4 months ago - 5 years 4 months ago #29533694
by vannem
setcancommand not working was created by vannem
The goal was to modify the pulse input mechanism to match the motion of the controller stick with the motion of the robot base.
Here is the script I am trying to work:
This is the error i am getting when i am trying to simulate it in Roborun:
What am i doing wrong?
Here is the script I am trying to work:
top:
' Correcting the steering
pulse1 = getvalue(_PI,1)
pulse2 = getvalue(_PI,2)
min_forward_pulse1 = 1510
min_backward_pulse1 = 1470
min_forward_pulse1 = 1514
min_backward_pulse2 = 1474
factor = 1/20
if(pulse1 > min_forward_pulse1) then
setCANcommand(1, _G, 1, factor*(pulse1-min_forward_pulse1))
setCANcommand(1, _G, 2, factor*(pulse1-min_forward_pulse1))
setCANcommand(2, _G, 1, -factor*(pulse1-min_forward_pulse1))
setCANcommand(2, _G, 2, -factor*(pulse1-min_forward_pulse1))
elseif(pulse1 < min_backward_pulse1) then
setCANcommand(1, _G, 1, -factor*(pulse1-min_forward_pulse1))
setCANcommand(1, _G, 2, -factor*(pulse1-min_forward_pulse1))
setCANcommand(2, _G, 1, factor*(pulse1-min_forward_pulse1))
setCANcommand(2, _G, 2, factor*(pulse1-min_forward_pulse1))
elseif(pulse2 > min_forward_pulse2) then
setCANcommand(1, _G, 1, factor*(pulse2-min_forward_pulse2))
setCANcommand(1, _G, 2, factor*(pulse2-min_forward_pulse2))
setCANcommand(2, _G, 1, factor*(pulse2-min_forward_pulse2))
setCANcommand(2, _G, 2, factor*(pulse2-min_forward_pulse2))
elseif(pulse2 < min_backward_pulse2) then
setCANcommand(1, _G, 1, -factor*(pulse2-min_forward_pulse2))
setCANcommand(1, _G, 2, -factor*(pulse2-min_forward_pulse2))
setCANcommand(2, _G, 1, -factor*(pulse2-min_forward_pulse2))
setCANcommand(2, _G, 2, -factor*(pulse2-min_forward_pulse2))
else
setCANcommand(1, _G, 1, 0)
setCANcommand(1, _G, 2, 0)
setCANcommand(2, _G, 1, 0)
setCANcommand(2, _G, 2, 0)
end if
goto top
This is the error i am getting when i am trying to simulate it in Roborun:
What am i doing wrong?
Please Log in or Create an account to join the conversation.
- Gabriel_Isko
5 years 4 months ago #29533695
by Gabriel_Isko
Replied by Gabriel_Isko on topic setcancommand not working
Hey Vannem,
I haven't looked at your script in depth or at the error you get yet, but the first recommendation I want to make is to use the wait() function at the end of your loop in order to give the control some time where it doesn't have to run the script during operation.
I haven't looked at your script in depth or at the error you get yet, but the first recommendation I want to make is to use the wait() function at the end of your loop in order to give the control some time where it doesn't have to run the script during operation.
Please Log in or Create an account to join the conversation.
- Gabriel_Isko
5 years 4 months ago #29533696
by Gabriel_Isko
Replied by Gabriel_Isko on topic setcancommand not working
The first recommendation is to use the wait() function at the end of your loop in order to give the control some time where it doesn't have to run the script during operation.
Our simulator doesn't have CAN built into it, so unfortunately you will not be able to simulate CAN commands. It will work when it runs on the controller however.
Our simulator doesn't have CAN built into it, so unfortunately you will not be able to simulate CAN commands. It will work when it runs on the controller however.
Please Log in or Create an account to join the conversation.
5 years 4 months ago - 5 years 4 months ago #29533698
by vannem
Replied by vannem on topic setcancommand not working
I tried running it on the system. It didn't work. Is my usage of setcancommand correct?
Please Log in or Create an account to join the conversation.
- Gabriel_Isko
5 years 4 months ago #29533699
by Gabriel_Isko
Replied by Gabriel_Isko on topic setcancommand not working
I can build it. Looks like it should run.
Can you clarify what the error is in your system? If it is not properly sending commands over can, please ensure that your wiring and CANID set up is correct.
Can you clarify what the error is in your system? If it is not properly sending commands over can, please ensure that your wiring and CANID set up is correct.
Please Log in or Create an account to join the conversation.
5 years 4 months ago #29533700
by vannem
Replied by vannem on topic setcancommand not working
The nodes are alive. My second node is another hdc2450. Am i supposed to run any script on that?
Please Log in or Create an account to join the conversation.
- Gabriel_Isko
5 years 4 months ago #29533702
by Gabriel_Isko
Replied by Gabriel_Isko on topic setcancommand not working
No, additional scripting on the slave node should not be necessary. Do you think you can show a picture of how you have them wired together and also post your configuration profiles?
Please Log in or Create an account to join the conversation.
5 years 4 months ago - 5 years 4 months ago #29533703
by vannem
Replied by vannem on topic setcancommand not working
This is the wiring setup.
I did ICL(is can node alive) and it worked(see below). I used robocan thru ros( ros ) as well.
I tried " !CG <cc> <nn> " and " !G <cc> <nn> " in the console and the results are a bit odd. Only the front 2 motors would move for both of those commands.
I also tried uploading a basic test script which didn't work at all either. Here it is. {Simulation worked fine}
I am not sure what to do to solve this issue.
I did ICL(is can node alive) and it worked(see below). I used robocan thru ros( ros ) as well.
I tried " !CG <cc> <nn> " and " !G <cc> <nn> " in the console and the results are a bit odd. Only the front 2 motors would move for both of those commands.
I also tried uploading a basic test script which didn't work at all either. Here it is. {Simulation worked fine}
top:
' Correcting the steering
setcommand(_G, 1, 25)
end if
wait(50)
goto top
I am not sure what to do to solve this issue.
Please Log in or Create an account to join the conversation.
- Gabriel_Isko
5 years 4 months ago #29533708
by Gabriel_Isko
Replied by Gabriel_Isko on topic setcancommand not working
Are your nodes configured to use Robocan?
Please Log in or Create an account to join the conversation.
5 years 4 months ago #29533710
by vannem
Replied by vannem on topic setcancommand not working
Yes. I did set up robocan in the config and set the node id and listen node id for both master and slave controllers.
Please Log in or Create an account to join the conversation.
Time to create page: 0.081 seconds