What is the best way to make a hexpod robot walk in Gazebo?
Hi, everyone!
I'm working on making a hexapod robot walk (ROS Melodic, Gazebo 9). All six legs are the same (described in a xacro file and instantiated six times in the main robot file), with four joints each, which are controlled with controllers of type effortcontrollers/JointPositionController, whose PID parameters I estimated with the (rough) method described here: http://gazebosim.org/tutorials/?tut=roscontrol
In order to make it walk first I wrote a sequence of positions (in radians) for each joint. Also, legs r1, l2 and r3 would move at the same time, leaving legs l1, r2 and l3 to move at the same time, a fraction of a second later. This made sense to me, but the robot wouldn't walk in a straight line. My next approach (also using the "tripod" gait) was to give to each joint a sinusoidal trajectory and use an evolutionary algorithm to determine the frequency, amplitudes, time between each set of three legs, etc. However, this won't make the robot walk straight either.
This made me think perhaps the type of controller, or maybe the use of topics are not suitable for this kind of task. So my questions are: should I be using actions instead? (I have never used actionlib before). Maybe MoveIt! would be a better solution? Perhaps there's some other option whose existence I'm not even aware of?
Sorry if I took too long to explain but I wanted to make myself clear. Thanks in advance for your help. Kind regards!
Antonio
Asked by arynyestos on 2020-11-21 11:34:03 UTC
Comments