by BillB » Tue Jan 06, 2009 8:58 pm
by BillB
Tue Jan 06, 2009 8:58 pm
Christmas break over… even managed to fit in some C coding
but no internet connectivity
.
Matt - the more I use your Bioloid Library the more I like it thak you so much for releasing it, there are many features of the 'Supervisor' that has saved my battery, servo (and even prevented a potential short cuircuit) .
I now have all my Inverse Kinematics working on board the CM5. I was surprised how compact and efficient I could make the IK code by using some well designed lookup tables (insired by your Trig tables). My IK is now really quite fast (and there is still further scope for optimisation.
When running the robot without the line "timer_delay(1);" the robot limbs move very smoothly, but when I introduce this line (which reduced the the servos be updated at only 40Hz) the robot movements are more jerky, particularly for slow moving gaits.
I have concluded that the reason for this is that the Servos are moving too fast and need to be slowed down.
I am using the function "dx_getstance" to set the position of the servos. But it does not appear to support setting the position at the same time. The Speed and Position bytes are next to each other on the AX12 data table so it should be efficient to set the Speed and Position in the same sync write.
Matt - before I reinvent the wheel are there any functions in your library ,that I have perhaps missed, that can set the Speed & Position in the same sync write? It would be very useful to be able to do this in order to some Point-To-Point moves (where the servos move at different speed but arrive at their destination at the same time).
Christmas break over… even managed to fit in some C coding
but no internet connectivity
.
Matt - the more I use your Bioloid Library the more I like it thak you so much for releasing it, there are many features of the 'Supervisor' that has saved my battery, servo (and even prevented a potential short cuircuit) .
I now have all my Inverse Kinematics working on board the CM5. I was surprised how compact and efficient I could make the IK code by using some well designed lookup tables (insired by your Trig tables). My IK is now really quite fast (and there is still further scope for optimisation.
When running the robot without the line "timer_delay(1);" the robot limbs move very smoothly, but when I introduce this line (which reduced the the servos be updated at only 40Hz) the robot movements are more jerky, particularly for slow moving gaits.
I have concluded that the reason for this is that the Servos are moving too fast and need to be slowed down.
I am using the function "dx_getstance" to set the position of the servos. But it does not appear to support setting the position at the same time. The Speed and Position bytes are next to each other on the AX12 data table so it should be efficient to set the Speed and Position in the same sync write.
Matt - before I reinvent the wheel are there any functions in your library ,that I have perhaps missed, that can set the Speed & Position in the same sync write? It would be very useful to be able to do this in order to some Point-To-Point moves (where the servos move at different speed but arrive at their destination at the same time).