![]() I tried taking it out to the mountains but I still need to find a way to orient the gyroscope to a level surface, even when the launch point is not level. Right now nothing changes according to that, but eventually the gait will respond to the different slopes. The vessel also knows if it is traversing up a hill, is level, or traversing down a hill, and sets the color of the ground accordingly. Also setting the hip height half way between the highest (foot ground + target height) and the lowest would be the way to insure each foot has the best chance of hitting it's target when going over extremely rugged terrain. The first method helps going up hill, while the second is preferable for down hill. I've realized since recording the video it would be best to just set the hip targets so that the vessel is always the target height above the ground. Right now the hip targets are set at the average height of all the foot ground positions plus the target height. There are two ways of setting the hip targets. Instead of using the vessel height to position the ground and foot targets, each foot target is now placed on the ground directly beneath it.Įach hip target is now set according to the ground position of it't foot. The hexapod now has full terrain mapping and navigation capabilities. So my stride length is 2 meters, and the steering PID can shorten that by up to 5%. The actual steering is adjusted by a PID loop which decreases one side's stride length by a percentage of its default length. I wrote some simple stride length adjustment code, which allows setting the desired stride length for both the right and left legs at the beginning of each stride. Steering is the last thing I still need to do. ![]() Right now the only gait sequence that exists is walking at a set speed. This output sets the speed of the servo on a frame-by-frame basis. The neck arm also allows rotational target matching.Įach servo has it's own tunable PID loop which uses the error between the actual and IK servo angles as its process controller. It all works though, and I plan to expand it out to more joints. ![]() Vector3.distance for example easily gives me the distance between two points. The IK code is all custom, but utilized a lot of cheats Unity gives me that aren't available in real time. While I do enjoy the more video game esque features of Kerbal, I believe I can also use the controller to send input to Gazebo, which may be a fun addition to my project. The game also has engines for flight, and a pretty extensive weapons mod. You build custom craft out of dozens of individual parts, which are then subjected to real time physics, as well as atmospheric and orbital calculations. KSP is a space and flight simulator, but has gazebo like potential as a robotic simulator. Similar to the ROS - Gazebo relationship. My free time attempt to create a Unity Editor based Robotic controller, which runs simulations via Kerbal Space Program.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |