
Klaatu
Germany
Asked

Hi all,
just finished the hardware for my large Hexapod (1 m diameter !). I am using an EZ-B v4/2 as a controller, powered by a 2S Lipo. My servos are high quality robot servos (brushless motors): Longrunner B07K68MK3Y.
I intend to use BLOCKLY, since I gained experience for this tool during recent projects.
My current questions:D - Does anyone have a link to a short demo program in BLOCKLY, showing the required syntax ? - Which servo speed is meaningful and which position values should be used for a servo, running from -90 through 90 ?
Currently they are just moving around a bit, but not as they should.
Thanks very much in advance !
Cheers
Volker
Related Hardware EZ-B v4
Wow that is going to be amazing to see
Referencing the getting started guide, sounds like you have the first few steps identified. Selecting a Movement Panel is the step I believe you are on. Here’s the link: https://synthiam.com/Support/Get-Started/Planning%20Your%20Robot/Movement-Style
The movement style that suits your need will be gait driven, so the Movement Panel will be Auto Position movement panel
To start, create the frames for having the robot walk in different directions (turn left, right, walk forward, reverse). Assign the frames to the respective actions. The manual for the Auto Position explains and lots of videos so it isn’t as dry
lastly, once the movements are done, you can determine how the robot is controlled. If it’s going to be autonomous, I’d first start with simple remote control to get started. Select a joystick or wii controller or something.
Also you can use the camera to start giving the robot personality and make it chase balls or point at objects it recognizes. It’s going to be a lot of Fun with a robot that size
Thanks for the link, but - to be honest - it could not help:
- With my scratch-built Hexapod I am totally within the DIY region and have to control the 18 leg servos.
- In fact, I need to position them at defined angles.
- I am currently calibrating these servos and found out that center position is around 105 (for the Blockly command "Set Position").
- Available angles are not theoretical servo angles (180), but are by far large enough.
- Strangely a servo SPEED value of 1 produces a servo speed appr. 3 times higher than a value of 3.
Cheers
Volker
Hi there again - To begin, you'll want to use the Auto Position Movement Panel robot skill to create a gait for walking forward, reverse, and turning left and right.
Here's a link to the getting started manual explaining what a gait is and a link to the Auto Position Movement Panel manual: https://synthiam.com/Support/Get-Started/Planning%20Your%20Robot/Movement-Style
Once you create a gait, you can then control it from blockly, or a joystick, or how ever you wish. But let's begin by getting your robot walking with Auto Position frames and action.
Blockly (or any other programming language you choose) will connect the various behaviors together. WALKING is a gait, and a behavior. In this case, the behavior is controlled by the Auto Position robot skill.
Here's a link to the Auto Position manual: https://synthiam.com/Support/Skills/Movement-Panels/Auto-Positioner-Gait?id=16057
PS, the speed values are reversed than expected. The manual explains more. Here's a copy and paste from https://synthiam.com/Support/javascript-api/Servo/setSpeed
Hope you made some progress - the Auto Position has great tutorials as well. There's also The Robot Program episode, which explains a bit more detail.
Once you get the Auto Position setup and walking, take a look at the last step of the Getting Started Guide about remote controlling the robot before adding autonomous features: https://synthiam.com/Support/Get-Started/Planning%20Your%20Robot/remote-control-robot
Here's an Auto Position video from The Robot Program
Hi,
thanks again for your suggestions, but this auto position feature is obviously something for "upright walking" robots.
My hexapod robot is based on an insect-type design --> totally different geometry and servo distribution.
But - never mind - during the last two days I have realised the complete code in BLOCKLY. Is quite complex now, comprising individual servo calibration (speed & positioning) and in Java it shows some 600+ lines up to now :-) .
Experimenting with servos was going straight with your hints and from there it was a pleasure to create the Blockly code.
There is only one question left: Robot remote control under BLOCKLY. I could not find any block, addressing something like "getkey", "if keypressed", or similar. Only the script version is offering something similar.
Any suggestion how to realise robot remote control via keyboard under Blockly ?
Thanks very much in advance !
Cheers
Volker
The Auto Position is used in tens of thousands of Hexapod robots in arc. I highly recommend using the Auto Position control. Create each frame of a walking movement of each direction (forward, left, right, reverse, stop) and assign them to the appropriate actions.
If you still wish to create complicated Blockly servo animations, then assign each loop of walking to a custom movement panel. The problem you will face is the transitions between directions will be lost this way, and the servos will jerk and cause havoc. Here’s a link to the custom movement panel: https://synthiam.com/Support/Skills/Movement-Panels/Custom-Movement-Panel?id=16077
Again, I really really really recommend you use the auto position.
anyway, once you’ve finished what ever Movement Panel you use (hopefully auto position), then you can choose multiple ways to control it. The getting started guide has a section on that. Here’s the link, again: https://synthiam.com/Support/Get-Started/Planning%20Your%20Robot/remote-control-robot
good luck - and please use the Auto Position control.
Hi
and thanks for your concerns and - please don't be worried.
BLOCKLY is working marvellously here, since mechanical behaviour of my hexapod is broken down on six basic motions (forward, backward, turn left/right and crab left/right); no intermediate motion details required.
These motions as well as overall "insect" behaviour are broken down in nested functions (currently six levels). In addition all control parameters are indexed (multiple layers) as well. This is a comfortable approach to create software very close to machine (bit) level.
Looking back on a 35+ yrs career as a physicist, phd in space industry - having worked with some 10 programming languages, including ASSEMBLER, FORTRAN, FORTH, PASCAL, etc. - I am confident that Blockly will fulfill my needs for the current private project.
In a nutshell: Many thanks again for your suggestions and support; I will report first success concerning my walking insect by a link to a video clip.
Cheers
Volker
Okay - i want you to have the best experience with your robot and surpass what was expected of it. Know that the Auto Position uses algorithms for fluent movements of each frame transition. It also binds to ARCs movement system, so all other controls can utilize the direction movements. Including things like the Camera and Joysticks and Speech Recognition, etc.. The Auto Position is designed specifically for movement gaits, exactly like you're creating
Here is how movement directions are used in ARC: https://synthiam.com/Support/ARC-Overview/movement-panels