Marty using MRL inside, great ! I'm using raspi + Adafruit16CServoDriver only.

 

 

 

Small setup :

sudo apt-get install python-smbus
sudo apt-get install i2c-tools
raspi-config ( and activate i2c )

to check : i2cdetect -y 1( or 0 )

driver : http://myrobotlab.org/service/adafruit16cservodriver

marty : http://www.robotical.io/

Software: I m using wip inmoov script because it is a common base ( chatbot, mrl services ... ) . And put code inside CustomScript
 

About customCode : https://github.com/MyRobotLab/pyrobotlab/blob/master/home/moz4r/Marty/m…

kyle.clinton

7 years 4 months ago

I have a couple of the I2C servo controllers that I need to solder pins on. Any control problems you have seen with it?

MdG_NL

7 years 4 months ago

Haha LOL

Marty the BreakDancer

Now you need Marty to learn the MoonWalk and some other dance movements LOL

Nice job anyway, it's fun to see this (much smaller) robot.

 

Regards,

Marten

GroG

7 years 4 months ago

Great Work Moz4r ! :D

When are you going to voice control your lights, and stereo and thermostat and garage door ? 

So you can tell InMoov to make Marty moondance with lights and music... Connect it All ! 

Lol good idea, I will ask Inmoov to send orders to marty in deep secret language, to execute domotics :)  And power on lights in moonwalk of course after launch some Mickaël songs. Great crazy family I love it.

I just do a small test , I will post review soon about i2c I think i have problemes about speed control but not work a lot on it.

Hi moz4r

You are right about the speed control. I implemented it a few weeks ago, so it's very little tested. There was a discussions about what the different speed settings should do and I know that part of the code for the servodriver it needs to be changed.

I'm really happy to see that somebody is using it from a RasPi. The nice thing with i2c is that you don't need to do any more wiring on the RasPi than you already have done, even if you add other i2c devices. 

/Mats 

 

 

Mission if i accept : let marty walk :)

If I use something like this to control speed is it ok ?

for x in range(0, 180):
    servo.moveTo(x)
    sleep(0.1)

or maybe there is other thing in the service I can use ?

I implemented setVelocity in the latest release.

So you could try something like this:

servo.moveTo(0)

servo.setVelocity(10)

servo.moveTo(180)

It should now move from 0 to 180 at 10 degrees per second.

I tested tonight, and there is one small thing left to do, and that's to make it possible to set the servo back to full speed again. The algorithm works fine at low speeds, but reaches a limit at high speed. 

The current algorith moves the servo one degree and then it sleeps until it's time to send a new position.

Thank you very much mats !! speed control works great with setVelocity !

But I have some communications problems with the I2C. And this is a very very strange problem :

If I use servo.detach() , I can't attach anymore, even if I reboot and cut off the power !!

I need to chose another pin ( never used pin )

mmmm very strange, maybe my hardware ? I will test other regulator

 

Hi !

I ve tested a new PCA9685 with new alimentation I still have problems

The first launch, everything is ok !

The second, nothing happen ( just a very quicky noise in the servo )

If I change PIN and restart mrl , it worky, but only once... like at the begining

If I return to the initial pin, no worky anymore.

this is the script : https://github.com/MyRobotLab/pyrobotlab/blob/master/home/moz4r/Marty/m…

I use mrl 1825 with raspi2

 

Hi

I tested and I also see this strang behaviour. The PCA9685 does not get reset like the Arduino does. So if it go to a strange state, it wll stay like that until powercycled. I hope I get some time tonight to do more testing and code changes.

/Mats

GroG

7 years 2 months ago

GO MARTY !!! 

I'm very excited your using mrl for more than 1 bot  Moz4r !

Let Marty be the crash test dummy