Results 1 to 2 of 2

Thread: PyPot for python servo control

  1. #1
    Join Date
    Apr 2013
    Location
    Boston, MA
    Posts
    254
    Images
    11
    Rep Power
    22

    PyPot for python servo control

    Hi all,

    Per some recommendations on here, I started digging into the PyPot project: https://www.poppy-project.org/en/

    They offer a pretty solid python library for interfacing with Dynamixels: https://docs.poppy-project.org/en/pr...ng/python.html
    https://poppy-project.github.io/pypot/

    Essentially, you can use it in two ways: the first is direct Dynamixel access using their low level API:
    https://poppy-project.github.io/pypot/dynamixel.html

    Or you can use their controller which creates a continuous sync loop which reads/writes data to the servos all the time. It does this with sync_write and the USB2AX's sync_read functions. This mode also allows you to create a configuration file to store a bunch of info like servo names, angle limits, offsets, torque limits, orientation, etc in a nice neat place.
    https://poppy-project.github.io/pypot/controller.html

    I'm doing a fairly simple project with my MkII hexapod where, using an IMU, i'm keeping the body level while i tilt the ground (a tray) that the robot stands on. I'm using an RPi3 and USB2AX. For software its Raspbian Stretch with PyPot 3.03.

    I have the project setup and functioning without the IMU. Basically i'm just rolling the body over time as a test. Everything works well, except that the servo movement is rather jittery. I've logged the position commands and they are smooth, but the reported present_positions appear to be sticking. I'm in the process of debugging this and unfortunately, the Poppy forums seem pretty dead. You can see the thread here if you're interested.
    https://forum.poppy-project.org/t/sl...rformance/3430

    I think i will next create a version that uses the low-level dynamixel API to see if that helps. If so, i'll further debug the Controller method.

  2. #2
    Join Date
    Apr 2013
    Location
    Boston, MA
    Posts
    254
    Images
    11
    Rep Power
    22

    Re: PyPot for python servo control

    For reference, here is how to use syncwrite using the low level API:

    Code:
    targets = dict()
    targets[servo1_id] = m1_goalpos
    targets[servo2_id] = m2_goalpos
    dxl_io.set_goal_position(targets)

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Why using Python to control robots?
    By Snoopy in forum Software and Programming
    Replies: 2
    Last Post: 01-01-2015, 11:48 PM
  2. How do I control Dynamixel servos using Arduino from python code?
    By OOrmOnIzArGoR in forum Arbotix, Microcontrollers, Arduino
    Replies: 4
    Last Post: 12-04-2014, 09:36 AM
  3. Interesting Hack servo v3.00 - Get full PID position and speed control from your hobby servo
    By Antonb in forum Mechanics / Construction
    Replies: 20
    Last Post: 06-27-2010, 11:24 AM
  4. Control ESC as Servo
    By masoric in forum Arbotix, Microcontrollers, Arduino
    Replies: 6
    Last Post: 10-07-2009, 11:09 AM
  5. Question(s) servo control?
    By Wingzero01w in forum Arbotix, Microcontrollers, Arduino
    Replies: 6
    Last Post: 04-12-2008, 10:41 AM

Posting Permissions

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