22
33High level controller for CSIRO multi-legged robots (Syropods).
44
5- Current version: v0.5.10
5+ Current version: v0.5.11
66
77Please use readme in launch folder of individual platform for information on setting up platform for use with Syropod High-level Controller.
88
@@ -173,47 +173,63 @@ For information on parameters see readme in config folder.
173173
174174## Changelog:
175175
176- Note: Version control commenced at v0.4.0. No changes were logged before this version.
177-
178- - v0.4.0
179- - MAX ICRA paper submission version
180- - v0.4.1
181- - Fixed bug with body velocity calculation using minFootprintRadius as a diameter
182- - Fixed bug with tip position jumping upon gait switch
183- - v0.4.2
184- - Redesigned tip trajectory engine using 3 quartic bezier curves - tip trajectory is now C2 smooth at zero body acceleration
185- - Removed redundant transition_period from step cycle and modified gait parameters/characteristics to reflect.
186- - Added auto-calculation option for linear and angular accelerations of body to ensure safe tip trajectories within bounds
187- - Added stance_depth parameter which allows vertical tip position component in stance phase of step cycle
188- - Changed various parameter names in line with new engine
189- - Added various debugging publishers
190- - v0.4.3
191- - Modified Tripod gait to have no 'underlap' between step cycles
192- - Modified the way auto/imu compensation interact with manual compensation. Manual compensation now 'stacks' with auto/imu compensation
193- - Added various debugging publishers
194- - v0.4.4
195- - Added angular velocity parameter for testing
196- - Refactored walk-controller velocity calculations
197- - Added 'real-world' velocity input mode toggled using 'velocity\_ input\_ mode' parameter
198- - v0.4.5
199- - Added inclination compensation feature which keeps body centre of gravity centred about the tip positions on inclined terrain
200- - Refactored how compensation methods combine and interact with each other
201- - v0.4.6
202- - Added body height compensation code to offset sinking body height from impedance controller
203- - Redesigned dynamic stiffness engine for use in impedance controller
204- - v0.4.7
205- - Changed gaits to remove 'underlap' that existed for non-dynamic impedance controller
206- - Moved imu compensation code (and all other compensation code) to pose controller - deleted imuCompensation source file and header
207- - Redesigned auto-compensation to work for all gaits
208- - v0.4.8
209- - Redesigned manual compensation to be controlled using velocity and reset on R3
210- - Moved compensation and impedance control outside of running state so compensation occurs during startup
211- - v0.4.9
212- - Added functionality for manual leg manipulation (MLM)
213- - Posing to keep centre of gravity centred over centre of support whilst manipulating legs
214- - Added dynamic stifness on legs adjacent to MLM leg
215- - Added leg name mapping
216- - Added leg state message to consolidate all leg debugging topics
176+ - v0.5.11
177+ - Added more Bezier curve functionalities:
178+ - Quadratic Bezier and curve to pass through control nodes.
179+ - Cubic Bezier to pass through control nodes.
180+ - Quartic Bezier to pass through control nodes.
181+ - Added feature to move the leg to desired position based on direct Cartesian coordinates in the robot frame.
182+ - Added topics that subscribes to topics published by Syropod Manipulation package.
183+ - v0.5.10
184+ - Added dynamic tuning of step frequency parameter
185+ - Added each leg workspace generation
186+ - Added correct generation of 'walkspace', fit within leg workspace
187+ - Fixed issues with externally set target/default tip poses
188+ - Refactored published tf tree order for use with perception based odometry
189+ - v0.5.9
190+ - Implemented real-time default tip position modification via topic
191+ - Implemented estimation of gravity vector from IMU
192+ - Added transform publisher between frames: odom, walk_plane, base_link and tip frames
193+ - Added joint torque visualisations
194+ - Added touchdown detection feature using data on tip state topic and tuned using new parameters: touchdown_threshold & liftoff_threshold
195+ - Added feature to find ground contact by extending 2nd half of swing below walk plane (distance defined by parameter step_depth)
196+ - Added feature to align tips with gravity using redundancy of leg or body posing.
197+ - Refactored dynamic parameter tuning such that stopping Syropod is no longer required.
198+ - v0.5.8
199+ - Implemented Plan Execution Mode (Transition to target configuration, body/tip pose/s) (Free Gait/Movement)
200+ - Merged Auto Navigation mode and Cruise Control mode to free up Y Button for Plan Execution Mode
201+ - Added callback and msg for externally setting target tip poses at end of swing period (Adaptive Gait)
202+ - Added feature for multi-configuration-step pack/unpacking
203+ - v0.5.7
204+ - Added Rough Terrain mode which includes the following features:
205+ - Feature to allow tip range value to modify tip trajectory at end of swing to prevent early/late touchdown.
206+ - Posing feature to pose robot body such that the final link of each leg completes swing periods vertically.
207+ - Reworked trajectory engine to allow for vertical tip trajectory at end of swing during wave gait
208+ - Feature to estimate walk plane and pose body accordingly.
209+ - Added TipState message and callback to receive tip force/torque and range
210+ - Consolidated tip force callbacks into single callback with custom message on topic "/tip_states"
211+ - Added visualisations for the estimated walk plane and terrain
212+ - v0.5.6
213+ - Added feature adding cost function to joints approaching limits to ensure joint space loop closure in redundant systems.
214+ - Refactored joint/tip frame position functions and leg current/desired positions - to use pose (i.e. position & rotation)
215+ - Added tip orientation visualisations for debugging
216+ - v0.5.5
217+ - * Online specific foot placement
218+ - v0.5.4
219+ - Modified direct startup sequence to operate in joint space instead of tip space to prevent joints jumping if initialised outside limits.
220+ - Renamed impedance controller to 'admittance controller'
221+ - Removed custom Quat class and instead replaced with Eigen::Quaterniond
222+ - Removed IMU data transformation - SHC now expects IMU data in ROS REP103 coordinate frame
223+ - Removed joint offset parameters - SHC now expects all joint offsetting to be enacted at the motor driver level
224+ - v0.5.3
225+ - Improved Impedance Controller to make use of multi-joint effort values
226+ - Added tip force estimate visualisation
227+ - Added time limit to cruise control feature for use in running experiments.
228+ - v0.5.2
229+ - New iterative search based workspace generation method
230+ - v0.5.1
231+ - New simpler Inverse Kinematics calculation method
232+ - Improved workspace calculation
217233- v0.5.0
218234 - Name change from simple_hexapod_controller to syropod_highlevel_controller, aka SHC.
219235 - Full refactor of controller.
@@ -228,61 +244,48 @@ Note: Version control commenced at v0.4.0. No changes were logged before this ve
228244 - Modifications to tip trajectory calculations to maximise stride length and body acceleration.
229245 - Convertion of walk controller parameters from percentage based to real world values (SI units).
230246 - Changes to adhere to ROSCPP style guide.
231- - v0.5.1
232- - New simpler Inverse Kinematics calculation method
233- - Improved workspace calculation
234- - v0.5.2
235- - New iterative search based workspace generation method
236- - v0.5.3
237- - Improved Impedance Controller to make use of multi-joint effort values
238- - Added tip force estimate visualisation
239- - Added time limit to cruise control feature for use in running experiments.
240- - v0.5.4
241- - Modified direct startup sequence to operate in joint space instead of tip space to prevent joints jumping if initialised outside limits.
242- - Renamed impedance controller to 'admittance controller'
243- - Removed custom Quat class and instead replaced with Eigen::Quaterniond
244- - Removed IMU data transformation - SHC now expects IMU data in ROS REP103 coordinate frame
245- - Removed joint offset parameters - SHC now expects all joint offsetting to be enacted at the motor driver level
246- - v0.5.5
247- - * Online specific foot placement
248- - v0.5.6
249- - Added feature adding cost function to joints approaching limits to ensure joint space loop closure in redundant systems.
250- - Refactored joint/tip frame position functions and leg current/desired positions - to use pose (i.e. position & rotation)
251- - Added tip orientation visualisations for debugging
252- - v0.5.7
253- - Added Rough Terrain mode which includes the following features:
254- - Feature to allow tip range value to modify tip trajectory at end of swing to prevent early/late touchdown.
255- - Posing feature to pose robot body such that the final link of each leg completes swing periods vertically.
256- - Reworked trajectory engine to allow for vertical tip trajectory at end of swing during wave gait
257- - Feature to estimate walk plane and pose body accordingly.
258- - Added TipState message and callback to receive tip force/torque and range
259- - Consolidated tip force callbacks into single callback with custom message on topic "/tip_states"
260- - Added visualisations for the estimated walk plane and terrain
261- - v0.5.8
262- - Implemented Plan Execution Mode (Transition to target configuration, body/tip pose/s) (Free Gait/Movement)
263- - Merged Auto Navigation mode and Cruise Control mode to free up Y Button for Plan Execution Mode
264- - Added callback and msg for externally setting target tip poses at end of swing period (Adaptive Gait)
265- - Added feature for multi-configuration-step pack/unpacking
266- - v0.5.9
267- - Implemented real-time default tip position modification via topic
268- - Implemented estimation of gravity vector from IMU
269- - Added transform publisher between frames: odom, walk_plane, base_link and tip frames
270- - Added joint torque visualisations
271- - Added touchdown detection feature using data on tip state topic and tuned using new parameters: touchdown_threshold & liftoff_threshold
272- - Added feature to find ground contact by extending 2nd half of swing below walk plane (distance defined by parameter step_depth)
273- - Added feature to align tips with gravity using redundancy of leg or body posing.
274- - Refactored dynamic parameter tuning such that stopping Syropod is no longer required.
275- - v0.5.10
276- - Added dynamic tuning of step frequency parameter
277- - Added each leg workspace generation
278- - Added correct generation of 'walkspace', fit within leg workspace
279- - Fixed issues with externally set target/default tip poses
280- - Refactored published tf tree order for use with perception based odometry
281- - v0.5.11
282- - Added more Bezier curve functionalities:
283- - Quadratic Bezier and curve to pass through control nodes.
284- - Cubic Bezier to pass through control nodes.
285- - Quartic Bezier to pass through control nodes.
286- - Added feature to move the leg to desired position based on direct Cartesian coordinates in the robot frame.
287- - Added topics that subscribes to topics published by Syropod Manipulation package.
247+ - v0.4.9
248+ - Added functionality for manual leg manipulation (MLM)
249+ - Posing to keep centre of gravity centred over centre of support whilst manipulating legs
250+ - Added dynamic stifness on legs adjacent to MLM leg
251+ - Added leg name mapping
252+ - Added leg state message to consolidate all leg debugging topics
253+ - v0.4.8
254+ - Redesigned manual compensation to be controlled using velocity and reset on R3
255+ - Moved compensation and impedance control outside of running state so compensation occurs during startup
256+ - v0.4.7
257+ - Changed gaits to remove 'underlap' that existed for non-dynamic impedance controller
258+ - Moved imu compensation code (and all other compensation code) to pose controller - deleted imuCompensation source file and header
259+ - Redesigned auto-compensation to work for all gaits
260+ - v0.4.6
261+ - Added body height compensation code to offset sinking body height from impedance controller
262+ - Redesigned dynamic stiffness engine for use in impedance controller
263+ - v0.4.5
264+ - Added inclination compensation feature which keeps body centre of gravity centred about the tip positions on inclined terrain
265+ - Refactored how compensation methods combine and interact with each other
266+ - v0.4.4
267+ - Added angular velocity parameter for testing
268+ - Refactored walk-controller velocity calculations
269+ - Added 'real-world' velocity input mode toggled using 'velocity\_ input\_ mode' parameter
270+ - v0.4.3
271+ - Modified Tripod gait to have no 'underlap' between step cycles
272+ - Modified the way auto/imu compensation interact with manual compensation. Manual compensation now 'stacks' with auto/imu compensation
273+ - Added various debugging publishers
274+ - v0.4.2
275+ - Redesigned tip trajectory engine using 3 quartic bezier curves - tip trajectory is now C2 smooth at zero body acceleration
276+ - Removed redundant transition_period from step cycle and modified gait parameters/characteristics to reflect.
277+ - Added auto-calculation option for linear and angular accelerations of body to ensure safe tip trajectories within bounds
278+ - Added stance_depth parameter which allows vertical tip position component in stance phase of step cycle
279+ - Changed various parameter names in line with new engine
280+ - Added various debugging publishers
281+ - v0.4.1
282+ - Fixed bug with body velocity calculation using minFootprintRadius as a diameter
283+ - Fixed bug with tip position jumping upon gait switch
284+ - v0.4.0
285+ - MAX ICRA paper submission version
286+
287+ Note: Version control commenced at v0.4.0. No changes were logged before this version.
288+
289+
290+
288291
0 commit comments