Page 2 of 2 FirstFirst 12
Results 11 to 16 of 16

Thread: Beginnings of ROS on the HROS-1/Hello from University

  1. #11
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,315
    Images
    27
    Rep Power
    279

    Re: Beginnings of ROS on the HROS-1/Hello from University

    The only really useful part of the DARwIn-OP framework is the gait engine, which can be split off into its own isolated ros node using existing message types. E.g. take in Twist messages and output JointState messages to whatever node is actually pushing the JointState data to the dynamixel servos. The new CM-730/Arbotix-Pro node could subscribe to the JointState messages and easily publish the accelerometer+gyro values in Imu messages. It could also use the arbotix_msgs/Analog message (which should be BSD 3-clause) for exposing the Arbotix-Pro/CM-730 ADC values and/or the battery voltage. Would be nice if arbotix-pro firmware eventually does a pseudo-'sync_read'/'bulk_read' to publish feedback JointState messages, but not necessary for the DARwIn-OP gait engine (open loop except for some Imu 'balance' and fall detection).


    Somewhat OT: I've been focusing mostly on YETIS (BSD 3-clause) for a while, but will probably shift back to getting TAPHI (BSD 3-clause) fully functional once the I2C of the target board is ironed out. I hope to eventually isolate the DARwIn-OP gait engine into a node for TAPHI, but it is not really a priority for me right now compared to the XML-stored motion player node and the stochastic gait seeker nodes. Most of TAPHI's code is still too crappy to dare share, but its messages are basically an 8-byte 'message header' (two each for 'node identity', 'msgCount', 'nObjects', and 'message checksum') then an array of 'objects' each with a 4-byte 'object header' (two for 'device/actuator/sensor identity', one for 'mode', and one for 'status') and a Vector3 (actuator: position, velocity, effort) (gps n-vector: x, y, z) (other: 12 or 24 bytes generic data). The Vector3 of the TAPHI message will probably be 32-bit single/float since ARM boards for controlling dynamixels are still 32-bit and it's less data to send, but might stick with 64-bit double/float for greater compatibility with ros.
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  2. Re: Beginnings of ROS on the HROS-1/Hello from University

    Quote Originally Posted by Tyberius View Post
    1) . The OS1 doesn't have the physical hardware capable of a ZMP gait. so it will likely stay based on the Darwin-OP framework.
    I'm just curious about what kind of hardware it's missing to be able to implement the ZMP?

  3. #13
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,315
    Images
    27
    Rep Power
    279

    Re: Beginnings of ROS on the HROS-1/Hello from University

    Quote Originally Posted by Weebo View Post
    I'm just curious about what kind of hardware it's missing to be able to implement the ZMP?
    Real-time ZMP gaits tend to require lots of processing power for dynamics analysis, lots of sensor feedback to confirm joint positions and body movement, and lots of really nice actuators to keep the robot quickly reacting to changes. While I really love AX-12, they do not implement 'sync_read'/'bulk_read' instructions like the MX and Dynamixel-Pro (so have to use many individual 'read' packets to get joint feedback) and they do not have the strength, speed, or precision to provide great control of a fast and heavy humanoid. Slower and more human-like gaits using ZMP calculations might be achievable, but the 'energy intensive', 'always bent knees', 'always rapidly jogging in place' type gaits like the DARwIn-OP's are not really realistic goals for real-time ZMP control with an RPi2 and AX-12. The DARwIn-OP gait is a mostly open-loop coupled oscillator system that was designed/tuned using ZMP simulations, but has never really made much sense to me anyway. Ever seen a toddler walk or attempt to run?
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  4. #14

    Re: Beginnings of ROS on the HROS-1/Hello from University

    I don't think you necessarily need to real-time simulate to achieve a stable dynamic gait a la ZMP. (I undestand that ZMP is a specific way of getting there, but I'm more interested in the top-level goal that it claims to achieve than the specifics of that implementation approach.)

    I think, if you have higher-level intents in your control code, like "right foot more to the right" or whatever, then a balance sensor in the head, and a delta onto a static walk cycle derived from that, may achieve a fairly realistic and smooth walking gait. It's not even clear that you need to base your walk on IK to achieve this, but I think that would probably help. The main challenge then will be tuning the controller that deltas the gait walking engine.

    (Also, if you look at the Kondo KHR-3HV, it has a more natural-looking gait than the Robotis bots, and I'm pretty sure that's just static, not even sensor adjusted.)

    The other peeve I have with these lower-end robots is that they don't have heading in the ankle assembly, so they have to turn slowly by slipping the feet diagonally. I think this is terrible! I recently added a heading servo to the ankles of the Darwin Mini, but haven't figure out how to most easily describe this change to the RoboPlus 2 software. And I'm going too much off topic here, so I'll stop now :-)
    Last edited by jwatte; 07-04-2015 at 02:58 PM.

  5. Re: Beginnings of ROS on the HROS-1/Hello from University

    If you search for ROS on github, you can find a number of packages. In addition to the ones already mentioned such as HumaRobotics, there's NimbRo and ROBOTIS-OP.

  6. Re: Beginnings of ROS on the HROS-1/Hello from University

    The ROBOTIS-OP looks like the most promising one to us. We took a look around this repository, in particular the robotis_op_ros_control and figured out how ROS can interact with the motors directly, with action pages and with the pre-existing DARWIN commands (walk, stand, enable, etc.).

    What do you guys think? Is there anything that needs to be revised besides the joint configurations and a model of the HROS-1 (URDF)? Did Trossen already develop a URDF file for the robot?

    Thanks a ton. Let me know what you all thin. Excited to run this soon.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Question(s) Writing on a board with HROS-1 using inverse kinematics
    By Weebo in forum Humanoids, Walkers & Crawlers
    Replies: 3
    Last Post: 06-17-2015, 03:29 PM
  2. Question(s) University Senior Project-Xbee?
    By bcompto5 in forum Robotics General Discussion
    Replies: 0
    Last Post: 09-26-2010, 12:11 AM
  3. University graduate robotics programs
    By Resilient in forum Robotics General Discussion
    Replies: 16
    Last Post: 04-11-2009, 06:41 PM
  4. Sample University Proposal
    By Firestorm65 in forum Mech Warfare
    Replies: 10
    Last Post: 02-05-2009, 09:49 AM
  5. Replies: 23
    Last Post: 08-02-2008, 11:51 AM

Tags for this Thread

Posting Permissions

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