Hi again. Sorry for being forced to post my problems again…
Recently after many attempts I managed to update brickPi software to 2.5 version with the help of @JohnC and team.
Then I went on with my main project which is segway type robot. Basic idea is to frequently, or even constantly fetch gyro sensor data, process it in PID controller or something similar and compensate deviation with motors.
BrickPiUpdateValues() is big multipurpose method. Not only it turns the motors but also fetches data from sensors. This behavior is not acceptable in my case. I can’t constantly check sensor data and distort it by turning motor in uncontrolled way.
Going through BrickPi.py I found motorRotateDegree()… ‘Hurrays’ lasted couple seconds. This method turns motor without an end.
I visited this forum and found similar posts about motorRotateDegree. I updated BrickPipy few times and it didn’t help. Other solution could be rewrite whole file, add more methods… I don’t have time for that and the knowledge. So my prof allowed for simpler project. Simple robot - car with basic steering. Like your simplebot.
‘Hurray’?? well no…
I went on your github, downloaded simplebot_simple, uploaded on my rpi and ran it. Here is the manual on how to steer, taken from comments:
# Commands: # w-Move forward # a-Move left # d-Move right # s-Move back # x-Stop
Facing brickPi with motor ports B anc C turned to me I got motor B on the right and C on the left. Here are what commands do in my case:
# Commands: # w-motor B turns forward ( to stop i need to type s and hit enter) # a-motor c turns forwart (to stop I need to type d and hit enter) # d-does nothing # s-does nothing # x-both motors turn backwards, faster than single one. # ctrl+c quits program but if motors were running they continue to run # if a is pressed first both motors run forward
I even don’t know where to start debugging.
I use pycharm for python dev. I use python 2.7.6 interpreter on rpi. But the same results are when I acces rpi via putty or ubuntu on windows…