Executing a custom motion pattern, whether with a single motion axis or with multiple axes is a special topic of mechatronics and robotics as well. It is applicable for mobile systems (like ROVs, UAVs, Drones etc.) under the umbrella of route planning, becoming the gesture & mimics for humanoid robots, and trajectory waypoints for serial robot arms and parallel robots such as Stewart Platforms or Hexapods.
Replicating human gestures & mimics also require custom motion playback capabilities, but with another robot type (Humanoid robot image in courtesy of Engineered Arts)
No matter what the end-use is, the underlying principle of motion playback is quite similar. One needs to control each actuator/motor, in a combined closed-loop to achieve the desired motion outcome. This would require a sophisticated control system and would require at least 2 different feedback controlled loops. First feedback controlled loop is required for controlling the desired position/speed/torque of individual actuators/motors. The 2nd feedback controlled loop is required for controlling the desired position/speed of the moving part/mechanism/entire robot. There may be more feedback chains and loops to control other parameters of the motion such as time, applied force and orientation of the robot as well.
Custom motion playback is an integral part of the trajectory based motion (image is taken from Front. Neurorobot., 09 August 2021, Volume 15 - 2021 - Creating Better Collision-Free Trajectory for Robot Motion Planning by Linearly Constrained Quadratic Programming)
As the name implies, this is an automatic control system and it falls into the subject of Control Engineering, which is taught under various academic disciplines such as Robotics, Mechatronics or Electrical Engineering . To learn more about the main concepts of Control Engineering, readers are recommended to read our other blog named “What is Control Engineering?”
Hexapod Positioner System -also known as Stewart Platforms- are generally used either for precision -and static- positioning applications or for dynamic motion generation applications. https://acrome.net/post/what-are-hexapod-robots-used-for has an overview about the sort of applications applicable by Hexapod systems.
Flight Simulation is a good example of the Hexapod Robots for the purpose of custom dynamic motion playback
Although the platform position of the Hexapod can be changed by sending some rapid commands, they are not meant for this kind of operation and the delays of communication would penalize this usage. The dynamic motion playback use case would generally require other ways to control the device in a more dynamic manner.
There are 2 predominant options to achieve a dynamic motion playback with Hexapod Robots:
Acrome Stewart Platforms have both 2 options of dynamic motion generation in their Graphical User Interface
For option #1, the user interface software of the Stewart Platforms has some knobs/buttons to control the repeating and continuous motion patterns. The Vibration and Oscillation mode of Acrome Stewart Platform software is a good example for this. To learn more about this mode of dynamic motion, please check our blog post and also watch the video available in the link below: https://acrome.net/post/vibration-and-oscillation-in-stewart-platform
But for option #2, there has to be some way of inputting the list of coordinate points to the platform. A 2D data list on the user interface software may be possible, but it will be quite time consuming to write each value of such a list, since each pose of the robot has at least 6 coordinates. Another approach might be using a programming language and sending the 2D data array using the API (Application Programming Interface) of the platform.
The last, and probably the most popular method is to import the list of coordinate points from a spreadsheet file, such as a .csv or .xlsx™ file at once and as a bulk data input. In the next section of this blog, we will be focusing on this method of This is a 2 step process and we will be providing the step by step instructions on how to use ACROME’s Stewart Platform graphical user interface along with a spreadsheet file to import the motion playback setpoints.
In this section, we will be giving a detailed description on how to use ACROME’s Stewart Platform graphical user interface (GUI) software to input the list of coordinate points to the hexapod system and play (back) the custom motion profile. We will first introduce the Spreadsheet file format, which includes the 6D coordinates and timestamps. Then we will show how to load such a file with the GUI software and finally how to run the system and observe the generated motions.
The setpoints (ie. waypoints) of the custom motion pattern has to be prepared in a compatible file and data format with the firmware of the hexapod. The Acrome Stewart Platforms works with the .csv file format. Prepared .csv files can be loaded using the user interface software. The top row defines the format of the .csv file and the format should be as follows:
In this format; the unit of time is in seconds, the units of the x, y, z axes coordinates are in millimeters, and the units of the roll, pitch and yaw angles are in degrees. Below screenshot shows how the file looks in Microsoft Excel® environment.
To convert an Excel file from .xlsx format to .csv, go to "Save As" in the "File" tab of Excel and select ".csv" from the options provided. Your file will be converted to a comma-separated values (.csv) format as below.
CSV file format is actually a text file with comma (;) used as a special character to separate the consecutive values - as the name implies
Although the .CSV file format is self-explanatory, the values in the file have a tight correlation with the capability and motion (ie. workspace) limit of the hexapod robot used with. Before getting into the generation part, we need to share a short-list of very frequently asked questions about the data points.
After preparing the motion data in the format above, click the browse button (...) on the interface and select the prepared file. Depending on the file size (ie. number of data points) and the computer’s performance as well, the data points will be populated in the table below the file selection section within some time. You may scroll down the table using the vertical scrollbar and confirm if all the data points are read correctly.
Make sure that motor power and kinematic solutions are enabled on the Stewart Platform software before clicking the Run button.
Data point contents of the CSV file will be populated and be seen on the User Interface as soon as the file is selected
After clicking the Run, the data points in the .csv file will be run continuously until the end. “Clear Motion” button may be clicked at any time to stop the sequence of the motion.
After the .CSV data file is imported, all it needs is to click the Run button (the motor and kinematics should be enabled before). The Stewart Platform starts executing the custom motion data points one by one sequentially until the list is finished. Meanwhile, the Platform also starts moving in real-time. So, the user can observe the motion from the User Interface during the operation. To stop the operation from the hardware, the e-Stop button can be used.
Custom motion pattern generation using Stewart Platform Software (The product motion video will be added soon).
In this blog post, we described the concept of custom motion playback, and the use of the 6D Hexapod Positioner System for this purpose. Hexapod Positioners in general are powerful tools for achieving precise and intuitive motion control in a variety of applications. Creating dynamic motion patterns is a frequently requested capability and is quite easy to achieve with suitable software and platforms.
Contact ACROME if you have an application in your mind, learn further details or ask for a live demo.