Version 3 Hexapod Software Released, now standard on all kits

132 views
Skip to first unread message

vorpalrobotics

unread,
Jul 16, 2020, 10:55:37 AM7/16/20
to Vorpal Robotics Forum
Hello all,

V3 of the hexapod software is currently on github and also in our shared file folder http://tinyurl.com/VORPALFILES  (the shared folder always has the most recent stable release, the github might have experimental stuff at the top delta, so you're better off using the shared folder).

As of July 15, all new kits ship with this new V3 software. You can upgrade by following the instructions here: https://vorpalrobotics.com/wiki/index.php/Vorpal_The_Hexapod:_Flashing_The_Arduino_Code

New features include:

1) The gamepad now supports double-click on mode buttons, which allows you to access a second level of built-in motions. In other words, single clicking a mode button (the buttons in the 4x4 matrix on the left) still brings up the current 60 leg motions, but double-clicking brings up an additional 60, for a total of 120 built in leg motions. (A long click on a mode button still allows you to access your own custom leg motions programmable using Scratch).  There are some really cool new modes, such as "quadruped gait" where the robot walks on only 4 legs, "belly crawl", "dog beg", and numerous new dances like "Cossack", "Random twitch", and "Star pattern". There is also a walking mode that allows a sidestep (strafe) type motion.

These are documented in our updated gamepad guide here: https://vorpalrobotics.com/wiki/index.php/Vorpal_The_Hexapod_Gamepad_User_Guide_V3

NOTE: If you upgrade to this new version, make sure you upgrade both the gamepad and the robot at the same time. You can't upgrade one without the other, stuff won't work.

The new motions are also available in simplified radio protocol mode for those of you who have created apps to drive the robot. See the radio protocol guide on the wiki: https://vorpalrobotics.com/wiki/index.php/Vorpal_The_Hexapod_Radio_Protocol_Technical_Information

2) There is a new safety mode that makes sure all six legs are on the floor before switching to a new mode. This prevents servo stress that can occur when switching from a mode where partial legs are on the floor to another mode with a different set of partial legs on the floor. For example switching from F1 (Ninja fight mode) directly to D4 (Mr Hands Mode) would previously cause the robot to try to lift itself up with only a subset of legs. This would cause a struggling/stressful load on the motors and might contribute to shorter servo life. Now the robot will place all six legs on the floor for one-tenth of a second before swapping to the new mode, meaning it never tries to lift up on fewer than six legs.

3) The code now has a #define, HEXSIZE, that allows it to better support megapod and gigapod sized robots. By default this is set to 0, for hexapod. 1 will slightly alter timing of some leg motions to be better for megapod (the megapod still works acceptably well using the default of 0). 2 will support gigapod. Gigapod really requires 2, the leg timings are quite different for gigapod due to the much larger servos. We are starting to release gigapod kits to a small number of customers and will open it up to everyone soon (waiting on parts).

4) There is a new "smooth move" mode that makes motions like the F3 and F4 lean and tilt modes smoother looking. (I am interpolating intermediate positions while waiting for new radio packets.)

There were also many small improvements, fixes, and refactoring to save codespace so everything still fits on a nano.

At this point the code is getting pretty sophisticated with 120 built in motions, scratch support, an error detecting radio protocol, and built in safety features to avoid leg collisions or situations where the legs would be stressed.

Regarding scratch, we are working on a solution to the scratch issue (chrome will drop support of scratch 2 apps on december 31 of this year). This is a complex issue because MIT has provided a dearth of information on scratch 3 and does not appear to be allowing independent third party extensions like they did in scratchx (scratch 2). They seem to only be interested in large corporations like lego having access to their extension system. (Which is odd since they are so active in the open software movement). It is possible that we will be forced to dump scratch in favor of another similar system like blockly, and there are several such systems so we need to do a careful analysis of which will work best for our users. We are working to have some solution one way or another by end of the year.

-Steve P.
Reply all
Reply to author
Forward
0 new messages