I have been testing the movement of the robot’s base in the world, while keeping the legs fixed to the ground, as a test of the robot’s stability and flexibility.
The robot base can now be controlled, either via the GUI, keyboard or gamepad, in the following ways:
- Translation in XYZ
- Movement of the two spine joints – Front of robot remains still, while rear adjusts
- Movement of the two spine joints – Front of robot attempts to counteract the motion of the rear
You may notice the real robot can’t move its upper leg all the way horizontally as the IK might suggest is possible, because there is a small clash between the AX-12 and the metal bracket, but this should be fixed by filing or bending the curved metal tabs:
I have recently written an OpenCM sketch to control the robot servos, in a way similar to how it was being done with the older Arbotix-M, but this time using the Robotis libraries for communicating with the motors.
I have also been making various updates to the Python test code, with a few of the main issues being:
- Improved the code for positioning the base and base target in world
- Updated base/spine transforms – Front legs now move with base, not first spine joint
- Fixed the leg IK – Legs now remain in line with ground when the base moves
- Added new keyboard/joystick input modes for controlling base position, base orientation, spine joints
- Updated the serial string sending function and fixed some minor issues
- Moved a load of script configuration variables to a separate Params module
- Added a combo box to the GUI front-end for loading a selection of CSV files (as an update to the previous two fixed buttons)
All the latest code can be found on the Quadbot17 GitHub project page as usual.