Page 7 of 7 FirstFirst ... 34567
Results 61 to 68 of 68

Thread: Let's Discuss Kinematics, Shall We?

  1. #61
    Join Date
    Apr 2008
    Location
    Nelson, New Zealand
    Posts
    1,356
    Images
    58
    Rep Power
    71

    Re: Let's Discuss Kinematics, Shall We?

    Tom: thank you for that info, i still think it is out of my comfort zone and hard for me to grasp it. but i enjoy building them lol.
    Sarendt: lol my wife help me er dont think so, he he, she is about as interested in robotics as a fish on land lol. would be nice if she was. :-)
    People yearn after this robotic dream, but you can't strip your life of all meaning, emotion and feeling and expect to function.


  2. #62
    Join Date
    Feb 2008
    Location
    California
    Posts
    421
    Images
    33
    Rep Power
    48

    Re: Let's Discuss Kinematics, Shall We?

    Mike,

    If you want to dip your feet in programming, I STRONGLY recommend this book:

    [ame="http://www.amazon.com/Waite-Groups-New-Primer-Plus/dp/0672303191/ref=sr_1_2?ie=UTF8&s=books&qid=1303238993&sr=8-2"]Amazon.com: The Waite Group's New C Primer Plus (9780672303197): Mitchell Waite, Stephen Prata: Books[/ame]

    It's about 5 bucks, and it's an OLD OLD ANSI C programming book. I've had this book since I was a little boy and this was the one reference book I've always used when programming in C.

    My opinion, if you can write some C codes, you'll have no problems transitioning into Basic, Java, and etc...

    This book is great. Just read it from chapter to chapter, it explains many of the syntax and structures VERY well... Better than most of my Comp Sci teachers I had over the years...
    ---
    Sleep? You don't need sleep...

    ---

  3. #63
    Join Date
    Apr 2008
    Location
    Nelson, New Zealand
    Posts
    1,356
    Images
    58
    Rep Power
    71

    Re: Let's Discuss Kinematics, Shall We?

    Thank you Tom ill try to get one after Easter is over . :-)

    Edit lol : just purchesed it from Amazon lol
    Last edited by 4mem8; 04-19-2011 at 02:05 PM.
    People yearn after this robotic dream, but you can't strip your life of all meaning, emotion and feeling and expect to function.


  4. #64
    Join Date
    Apr 2011
    Location
    Monterey CA
    Posts
    26
    Images
    15
    Rep Power
    26

    Re: Let's Discuss Kinematics, Shall We?

    Quote Originally Posted by tom_chang79 View Post
    Well, in theory, you can add sensors to find the load of a servo, but it will take a bit of work. You will have to wire up a current sensing resistor in between botboard/ssc-32/arc32 board and your servo's power line and sense the current by sensing the voltage across it... You then take the voltage across the resistor and pipe that into a differential amp and connect the output of the differential into the A/D ports of the botboard/arc32...

    This can get messy with 18+ servos. Robotis servos are a huge advantage in this department in that each servo has its own micro inside that serves as the serial interface, current/load sensing, temp, encoder, and etc...
    Maybe not,
    What if you just monitor the 2 servos in the Coxa (shoulder)?
    That would only be 8 total. It would also cut down on what you need to process.
    Jeremy

  5. #65
    Join Date
    Dec 2010
    Location
    my lair
    Posts
    32
    Rep Power
    27

    Re: Let's Discuss Kinematics, Shall We?

    @ tom_chang79
    @jhertzberg

    I'm pretty sure that is not necessary when we talk about compliance control. I've read some books as reference and starts to make a clear understanding about compliance.
    I think compliance control is one of the main key to make Matt Denton's hexapod walks very well on rough terrain.
    Here is what I've been thinking about:
    In order to make a compliance leg (that is the leg that response to the uneven surfaces) we have to set a model that suites best for our compliant leg. And I think that model is mass spring-damper system. Implemented with P.I.D. control method, we can make our leg follow a trajectory that keeps the contact force constant.
    That's the theory I'm currently working in but it will take some times for me to make it works in reality.
    Btw, how's your hex now tom? Has he awakened yet?
    Really excited to see it compete with mine in terrain adaptation? haha..

  6. Re: Let's Discuss Kinematics, Shall We?

    Hey all,

    I know I'm rather new to all this, but I do have some ideas I'd like to share to try. At the moment, my robot is... nonexistent, so I can't really comment on the mathematics and practical application. But I think I can comment on some of the code and maybe throw some ideas out on how we can optimize a bit.

    Regarding CPU cycles and memory:
    Aside from pure code optimization (which is grand, but my strengths in matrices are currently questionable at best), perhaps a more distributed architecture might be called for. For example, if you use two controller boards (x2 ArbotiX, for example), and then utilize the existing serial communications line (XBee), could you not split off some of the equations for half of the legs? Granted, a master board would have to be designated for the equations revolving global placement, but given a properly parametrized serial packet, the requested math ought to be split if you're only working on a single leg.

    Pseudo:
    master: I want current positions from these legs (temporary storage, can delete once done -> opens up RAM since variables aren't stored on the master, but on the slave)
    slave: returns positions
    master: I want to execute body movement this far forward, I solve for legs [ 1 : n/2 ]
    slave: receives command to solve for legs [ (n/2)+1 : n ]
    slave & master confirm completion, synchronize, execute. Master deletes memory kept on the slave. The completion confirmation and the synchronization doesn't even need to take place on the serial line, you can use free DIO (assuming you have free DIO...)

    If this has been thought about, shoot me down and I will hang my head in newbie shame.

  7. #67
    Join Date
    Jan 2008
    Location
    Norway, Stavanger
    Posts
    790
    Images
    276
    Rep Power
    78

    Re: Let's Discuss Kinematics, Shall We?

    I believe the method you are referring to is similar to how this guy solved it:





    I'm quoting him from youtube:

    X-walker is a quadruped robot that I've designed and built by myself. All robot's parts (electronics, mechanics and software) except servos were created from the ground up.

    On board there are 5 microcontrollers (ATmega) connected by SPI, which are responsible for different tasks:

    1. "Brain" - controls other µcs, SPI network, LCD, accelerometer and gyroscope (via I2C), calculates Kalman filter.
    2. "Power" -- measures battery voltage ( two LiPo batteries -- one for electronics and one for servos) and current consumption. Adjusts suitable voltages (for servos and electronics) and also measures temperature via 1-wire network and DS18B20 sensors in 5 important localizations in robot.
    3. "BT_RX_TX" -- responsible for transmission /receiving and coding/decoding data from Bluetooth modules.
    4. "SERWO1" -- controls 6 servos, 2 feet sensors and measures voltage in servos' potentiometer to obtain information about servos' overload.
    5. "SERVO2" -- has the same function as SERVO1 but for the other two legs.

    The X-walker is controlled in real time by PC via 2 Bluetooth connections - one to transmit and one to receive data. I wrote a special multi thread program for it. The program also displays all information from the robot on a screen and enables user to control the robot.
    Kåre Halvorsen aka Zenta
    ---------------------------------
    Zenta's YouTube channel
    Zenta's Blog
    Zenta's Instagram

  8. #68
    Join Date
    Feb 2008
    Location
    California
    Posts
    421
    Images
    33
    Rep Power
    48

    Re: Let's Discuss Kinematics, Shall We?

    Hi Baranyk,

    The point you brought up reminds me of the topic discussed during my undergrad days, which was parallel programming. Splitting off task is a neat idea, especially when you can push more of the complicated or things that require long execution time (where the "O" gets to become polynomial or beyond, which is quite common with these trig-intensive IK calculations).

    However, the challenge then becomes memory management and synchronization, since ultimately, everything revolves around the time frame within the transit time of servos from position A to B. Granted, there are ways to intervene using interrupts, however, synchronization, memory management, as well as delegation of tasks/resources is the key into parallel programming.

    On my bots, I do enjoy a bit crude method of distributed computing, I say crude because it's only between two boards and it's more of a master-slave style of distributed computing rather than true parallel.

    I'm using SSC-32, and even on my current octopod, in which I'm using the ARC-32, I'm still using the SSC-32 servo controller, since I don't have to worry about movement of servos, it's all done through a single serial pipe.

    I may dabble with ARC-32's ability to control servos in the near future, but for now, using an SSC-32 is such a convenient way to port codes. Letting the SSC-32 control the servo means that if I want to get rid of the ARC-32 in the future for something even more powerful, I can do so without having to worry about PWM and such, since the SSC-32 takes care of the PWM interface to the servo and turns that into a single TTL serial stream.

    The major overhaul I need to do with my code currently is converting my decimal points to fixed points. It's been something that's been sitting on the back burner for a while now . Even so, my current IK is using wasteful float/double functions, but the robot has yet to stutter.

    However, I realize that the demo code only demonstrates the IK engine and the gaiting. Once you start closing this open loop control with sensors (which will ultimately require interrupts), fuzzy logic for decision making, I am 99% sure that I will start to see stutters since the float/double trig functions are very wasteful on system resources. A trig table would alleviate it, a the cost of memory, but I believe it's well worth the cost since it's a bit ridiculous to ask the processor to recalculate the same sine, cosine, arctan, and etc., functions over and over...

    I think compliance would be something I will eventually have to dabble with in the near future. Currently, because I'm using hobby servos and not a full-on "actuators" like the Robotis' AX-12+, sensors would need to be added in order for the compliance to work. I know that many of the guys with Lynxmotion-based bots have used the touch/pressure sensors very successfully, however, I think for advanced implementation of these features would ultimately require something like Robotis' actuators, since they have full sensor suites, such as current measurement (which you can use to indirectly estimate the amount of torque it is exerting), temperature (are the servos heading towards implosion?), and etc.

    The great thing about using "dumb" hobby servos is that it forces the end user to implement his/her own mechanisms for compliance, forces the end user to actually understand it at a lower level than you would if it was packaged in a black box.

    Progress is slow for me however, I'm lucky if I get about two hours a night to work on my bots... Having a huge gap of time in between doesn't help either. Last time I worked on updating my IK engine, I spent about 4 hours implementing something I've already implemented in code the year before...
    ---
    Sleep? You don't need sleep...

    ---

Thread Information

Users Browsing this Thread

There are currently 4 users browsing this thread. (0 members and 4 guests)

Similar Threads

  1. Generating closed form solutions for Inverse Kinematics
    By Obscene in forum Software and Programming
    Replies: 0
    Last Post: 12-08-2008, 12:40 AM
  2. Question(s) 6 Leg 3DOF Walker Kinematics
    By lunarnexus in forum Humanoids, Walkers & Crawlers
    Replies: 32
    Last Post: 04-12-2008, 02:10 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •