MicroRaptor ScreenshotsMicroRaptor will have a number of user interfaces, depending on what I am doing. This is the same graphing system, used to display actuator motions this time - specifically, the right leg. Here's another falling-over IMU run, with the accelerometers and gyros: I've added a facility to build graphs of IMU (or other sensor) input as I run sequences. Here's an interesting graph of the 3-axis accelerometer when MicroRaptor fell over backwards while picking up his left leg to start stepping. This is the latest version of the Operations GUI. The main thing I've been working on is the sequence viewer, which shows the current motion plan that is executing. Things that are new: - pause, frame forwards & backwards, play forwards & backwards buttons - scrolling sequence view (scrolls behind the red indicator line) The frame controls are great - I can pause anytime, and then step forwards or backwards single frames at a time. The scrolling sequence view allows me to create and run longer sequences. The plan is, with these new tools, I want to be able to edit a motion plan sample while the motion plan is paused, and have it update the robot in real time with the new sample once I'm done. Here you can see I have evolved this user interface a little. I removed some of the empty spaces I'm not using yet, and added a new piece for building sequences. I'm going to define a few terms here, so people know what I'm talking about. Pose - a pose is simply a static snapshot of all the servo positions at one point in time. You can create a pose anytime just by clicking the "Create Pose" button. Motion Plan - a motion plan is a controlled set of movements from one pose to a second. MicroRaptor has the ability to generate a motion plan dynamically between any two poses using linear interpolation. Those motion plans are created on request, played once, and then discarded. However, I just added a new capability that allows you to create and save a motion plan. Once a motion plan is saved, you can edit it using the sample editor, which allows you to, using a bezier curve tool, edit a single servo's position throughout the motion plan. Sequence - a sequence is basically a series of still poses put together, where the robot builds dynamic motion plans as mentioned above between the robot's current position and the new static pose. However, you can use a saved motion plan in place of a static pose, and instead of generating a dynamic motion plan, the robot will simple use the one specified. So, what this allows me to do is build up sequences of motion, and then tweak that motion so that individual servos follow specific trajectories. In the sequence shown above, there are four steps - three static poses, and one motion plan. The motion plan has been slightly tweaked in a couple places to make the servos do what I want them to do. The motion plan view (the graph structure on the bottom left) is showing the last motion plan played, which in this case is "TakeLeftStep". If you look at the top row, it shows the positions the left hip pitch servo takes, which actually follows a bow-shaped curve. In the second image, the sample editor has been opened on that sample, and you can see much more clearly what the actual curve looks like. You can grab the bezier curve handles and move them around, and it will generate the sampled positions to best match the curve. This is the one I'm working on. In this image, the robot is running a sequence that switches from whatever the current position is to standing. The graphic on the top-left shows the sequence (60 frames x 20 actuators), with the red portion being the current frame in the sequence being executed. The sliders on the bottom right are all hooked up to the actuators in real time, and I can grab one and slide it left or right to position a servo manually. I can also switch sets of the servos between freewheel mode and controlled mode, which allows me to manually adjust one of the legs (for example) while the other maintains its position, or to manually position the head while standing. Created by: admin last modification: Tuesday 08 of July, 2008 [18:10:37 UTC] by admin |
Login |