Shop OBEX P1 Docs P2 Docs Learn Events
Some ideas for my hexcrawler — Parallax Forums

Some ideas for my hexcrawler

KotobukiKotobuki Posts: 82
edited 2013-12-21 16:52 in Robotics
Hi,

My Hexcrawler arrived safe and sound yesterday evening, and after unpacking it and adjusting the legs, I began to think about how I am going to control it. My first idea was to acutally use an insect's controll system as the model for my 'bot. That is, each leg would have a ucontroller to operate the servos at the command of a larger and more powerful central controller. The central controller would comand the leg to do a particular movement, and the leg's microcontroller would execute that command. A second controller at each leg would monitor the motion and the output from a pressure sensor at the bottom of each foot, and confirm that the leg motion command was executed properly, then advise the central controller of the leg's performance. There would also be a seperate sensor controller, that would operate a tilt monitor, PING, the pan/tilt base, laser range finder and whatever else comes to mind.

I feel that using a BS2 to operate the whole robot as originally conceived would be taxing the controller and cause a jerky motion. By distributing the control duties, I feel that it will walk smoother and have more potential. This will be especially true as I attempt to find 3 DOF legs to replace the 2 DOF legs that came with the unit.

Any thoughts on this?

Best,

Joe

Comments

  • kwinnkwinn Posts: 8,697
    edited 2013-12-21 11:45
    How about using a propeller to have one cog per leg controlling movements. Six cogs for the legs, and two left over for communicating with the central controller. Same idea for the sensor controller.
  • KotobukiKotobuki Posts: 82
    edited 2013-12-21 12:17
    kwinn wrote: »
    How about using a propeller to have one cog per leg controlling movements. Six cogs for the legs, and two left over for communicating with the central controller. Same idea for the sensor controller.

    Ultimately, yes, I will be using the Propeller. The Prop is fascinating and very powerful. Trouble is, I do not know a thing about it, and do not even own one or any educational materials about it. That will have to wait until after the new year, and even then, I suspect that as it is completely different from what my experience is with the Stamps and the Intel 8085, and given my age, err, shall I say, lack of youth, it will take me awhile to learn how to use it. In the meantime, I have this big, luxurious, retired Hexcrawler to animate, and will for now be using individual controllers. There is so much code out there for hex walking, and I have been using Stamps, PICs and the 8085 for years, so incorporating those into my Hexcrawler should be easier for me at this time that using a brand new (for me) parallel processor and programming language. What I am most interested in to use feedback sensors to bring a more natural (read biological) feel for its gait. When people and animals walk, they normally do not look at their feet or paws. If they step on something that might cause them to trip or fall, their senses detect a higher pressure than normal on a certain part of their foot or paw pad, then compensate apropriately, That is what I really want to try to do with my Hexcrawler. Of course, a Propeller would make that far easier with only one or two chips as opposed to twelve little ucontroller boards, but as I said, I have never use a Prop, and I understand that programming it in Spin has a very steep learning curve. Once I do learn how to program the Prop, I will indeed be using one.

    Best,

    Joe
  • DiverBobDiverBob Posts: 1,102
    edited 2013-12-21 16:22
    Kotobuki wrote: »
    But as I said, I have never use a Prop, and I understand that programming it in Spin has a very steep learning curve. Once I do learn how to program the Prop, I will indeed be using one.

    I think you might be surprised at how easy the propellor is to program. There is a whole lot of languages available but for me Spin is my go-to guy. It's fairly simple yet has a lot of functionality built in. I wouldn't consider learning Spin to have a steep learning curve. In some aspects it reminds me of the Pascal and Basic languages.

    The Propellor Manual book covers spin pretty well and there are a lot of people in the forums eager to help someone who wants to learn. Since it is object oriented, there are a huge number of pre-built and tested interface code to a whole variety of external devices. This way you spend more time programming your robot to do what you want it to do instead of recreating everything from scratch.

    Even getting started is fairly in-expensive, a QuickStart board only runs about $25. I use the QuickStart for a lot of initial testing and keep several handy. By the time you figure out how to coordinate all those lighter weight processors and build interfaces you would be up and running with a Prop.

    My big hexapod is using Props and they are fun to program! Now, I have to get back to programming a Dc motor ramping routine!

    Bob Sweeney
  • Duane DegnDuane Degn Posts: 10,588
    edited 2013-12-21 16:52
    DiverBob wrote: »
    I think you might be surprised at how easy the propellor is to program. There is a whole lot of languages available but for me Spin is my go-to guy. It's fairly simple yet has a lot of functionality built in. I wouldn't consider learning Spin to have a steep learning curve.

    +1
    DiverBob wrote: »
    Even getting started is fairly in-expensive, a QuickStart board only runs about $25. I use the QuickStart for a lot of initial testing and keep several handy.

    I'm also a fan of the QuickStart board but unfortunately they're no longer $25. The price has been bumped up to $35.

    The Propeller Project Board is usually $25 but it's on sale right now for even less. The Project Board is my new favorite inexpensive Propeller board.
    DiverBob wrote: »
    By the time you figure out how to coordinate all those lighter weight processors and build interfaces you would be up and running with a Prop.

    Agreed.

    While using a cog per leg sounds interesting, in actuality you really need a single cog to know where all six legs are. Servo get refreshed 50 times a second, this is plenty of time to compute the positions of all the servos involved and to send the servo position values to the cog with the servo driver running.

    Paul K has posted some IK code for his hexapod.

    I don't know how hard it would be to adapt the 3 dof code to work with the 2 dof legs but the 2 dof calculations should be a lot easier than than the 3 dof calculations.

    You might want to ask Doggie Doc what he used for code with the robot you linked to in your other hexapod thread.
Sign In or Register to comment.