Page 2 of 10 FirstFirst 123456 ... LastLast
Results 11 to 20 of 95

Thread: ROS enabled PhantomX Hexapod

  1. #11
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    26

    Re: ROS enabled PhantomX Hexapod

    Oh.. yes it is pretty high.. Let's see.. There are multiple loop rates in the package but the fastest one in my branch is 1kHz.

    gcc -v on my RPi2 running Linaro is 4.9.1

    I didn't change any compiler flags but if there are some I should be testing I'll give it a try for sure.
    Last edited by r3n33; 04-26-2015 at 05:08 PM. Reason: spell check fail
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  2. #12

    Re: ROS enabled PhantomX Hexapod

    The ones that matter IIRC are -O3 -mfloat-abi=hard -mfpu=neon -mcpu=arm7
    I don't know what Linaro does by default -- perhaps it's better than the default Rasbian already :-)

  3. #13
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    26

    Re: ROS enabled PhantomX Hexapod

    Thanks! I'm willing to give them a try.. This is what the CPU looks like when I enable Depth Sensor in rviz..

    Click image for larger version. 

Name:	Pi2 ROS DepthON.png 
Views:	98 
Size:	188.1 KB 
ID:	5885

    I'm afraid to connect the servos and attempt to walk with a pegged CPU
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  4. #14
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    828
    Images
    25
    Rep Power
    79

    Re: ROS enabled PhantomX Hexapod

    I am assume R3n33 is running the complete launch system. Which would be about 10 packages all running so I'm not to surprised of the CPU load. Although I should take a peek sometime and see if there is any optimization's I could add. R3n33 we should see what we can move to the desktop. :P I'd hate to see the load with mapping turned on.
    Last edited by KevinO; 04-26-2015 at 05:21 PM.

  5. #15
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    26

    Re: ROS enabled PhantomX Hexapod

    Agreed.. Optimizations is going to be a great thing to look into when it comes down to running on something like this little pi. I'll see what I can do for splitting nodes between computers but I'm already thinking I'm going to have a little trouble with moving the mapping.

    There are a few things that I'm still troubleshooting and they are each related to running on the Raspberry sadly. But after I fix up these kinks (hopefully today) I'll be ready to reduce the CPU load. I swear though if this jack server and the sound_play node keep it up I'll be forced to switch out this SBC
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  6. #16

    Re: ROS enabled PhantomX Hexapod

    At some point would love to play along (right now building HR-OS1). As I mentioned in previous posting not sure yet which processor to use here. Maybe my Odroid U3 as it has probably has the highest performance... While working on the HR-OS1 (which I am starting off with the RPI2 in), The Instructions, for the HR-OS1, was to set the RP2 to overclock. I assume you have already done so with your RPI2?

    It looks like you are using a PrimeSense camera with your setup? I should look to see how you have it mounted. Are you using standard brackets or something special? (I do have one of these sitting in cabinet).

    As for CPU usage on RPI2, I am curious to see how much CPU are you using to do the basic walking? Are you using Kevin's new walking algorithms (sinusoidal), that do the IK many times a second, and output often to the servos, or are you using more of a fixed N Step walking algorithm like NUKE or Phoenix code bases do? If the later are you having the RPI2 do the interpolation from one pose to the next? If so and you are using an USB2AX to control your servos, I have a firmware version for USB2AX, where I can simply pass it each pose and let it take care of the interpolation, which in my earlier Phoenix ports to Linux helped.

    Since you are working with Kevin's code base, I am about 99% sure that he has already taken care of this, but in my earlier ports of the code, I had places with some form of spin loops, like timing loops, which would do something like:
    while ((millis()-starttime) < waittime) ;
    Which eats lots of CPU time... (yes Arduino code, but I have conversions for Linux). CPU usage was helped out by yield calls or even better if it used a delay instead...

    Again looks like you are doing some great stuff. Maybe it will finally motivate me to get going again to try to get my mind around using ROS.

    Kurt

  7. #17
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    26

    Re: ROS enabled PhantomX Hexapod

    I like the specs on the Odroid XU3 and I'm definitely willing to give one a try.. One thing I'm curious about is support for these boards. The Pi is well supported and not that it matters much to me but I expect things like the 3.5mm sound jack to work without so much darn trouble. I suppose it might come down to a lack of understanding of workings in the linux sound system.. ie alsa, jackd. Anyway, now that I uncovered and fixed an IMU init bug in the ROS code I'm going to try to get sound working with the sound_play node. It works with mplayer and espeak but not sound_play. Strange...

    Yeppers that is a PrimeSense, good eye. I used the standard brackets from the AX12 box and since this was an extra sensor I took it apart, dremel'd off the connector on the bottom of the sensor, drilled 4 holes in the back side of the sensor case and attached to the bracket.. The screws look like they will get in the way doing this ( and I can take close up pictures if you'd like ) but the flex in the sensor case will allow for the 4 screw heads. I think it looks really clean and it is sturdy.

    I am in fact using Kevin's algorithms for walking but haven't drilled down to identify how much of the CPU was going towards the locomotion node.

    I certainly can't blame you for working on your HR-OS1 but with as much as you seem to enjoy this stuff I think you might like ROS. Just takes time and the usual amount of patience ( LOTS )

    Edit: Oh and no I don't have the Pi2 overclocked at the moment. I suppose I could try for a little extra performance but I didn't want to risk instability.
    Last edited by r3n33; 04-27-2015 at 10:14 AM. Reason: Forgetfulness
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  8. #18
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    26

    Re: ROS enabled PhantomX Hexapod

    Hey jwatte.. thank you! You led me down a good path with those compiler flags.

    These are what I went with on the Pi2:
    -O3 -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7

    And now CPU usage looks much better! This is while walking with Depth Sensor off still.

    Click image for larger version. 

Name:	ROS Pi2 CompilerOptimizations.jpg 
Views:	108 
Size:	173.6 KB 
ID:	5888
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  9. #19

    Re: ROS enabled PhantomX Hexapod

    As for Odroid (Hardkernel) and support: I have mixed feelings about support. That is I had a few issues with my first couple of them. U2- power connector was flaky (could work around). But I liked enough I preordered a U3, which is a nice board, but had issues with USB, especially if you used a powered USB hubs (which I ran into). There were some fixes, to cut off some components, cut traces... They then reved the board (and added some more IO SPI? or I2C would have to look again). So these days I would wait a little while after they introduce a board to work out kinks. C1 appears to be a nice low end (4 core 1.5ghz), with almost RPI compatibility for io pins. When I picked up the C3, they did not yet support TFT touch screen, but said they would work on it and a week or so later they had a working version. (Intel with the Edison - Still does not work, last kernel release SPI was even more screwed up then before...) So personally on actual support you get more information directly from the people who fix things at Hardkernel, then you do from Intel on the Edisons.

    Again I still think they are interesting boards and now that they have an American distributor that you don't have to pay to ship from Korea I am more likely to pick up another one... Either refresh by U3 or I like the XU3-lite. Does not have quite the clocking of the XU3 (1.8ghz versus 2.0ghz - but both can run with 8 cores), don't need display port, not sure about energy monitoring... but from Amerdroid $105 versus $180. I would also for sure order a new eMMC board for them. I believe they have found maybe double the disk performance for eMMC versus SDcards.

    Yes it would help to see some close up pictures of your setup for the sensor. I wonder how much it helps to have it mounted on the front versus more centered, where it may evenly distribute weight?

    Sounds - Glad you will have all of this figured out before I get a chance to try it :lol: I have found each board different on sound configurations... Have not tried it with Ros, but do have my Linux code working with PCM sounds plus Espeak... Wonder if there is some ROS settings on what is sent to Jack versus using the default values... Good Luck.

    Again you are inspiring me to take a look at this.

  10. #20

    Re: ROS enabled PhantomX Hexapod

    -O3 -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7
    That's awesome! Glad you're getting more oomph out of that little board.
    I'm actually quite impressed with it. The GPU can be used, too, even headless if you don't mind some arcane setup magic...

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. PhantomX Hexapod Kit
    By SuperMiguel in forum Projects For Request and/or Sale
    Replies: 12
    Last Post: 12-29-2013, 09:36 PM
  2. Different servos in PhantomX hexapod (MX-64T...)
    By guruguhan in forum Humanoids, Walkers & Crawlers
    Replies: 4
    Last Post: 07-02-2013, 06:33 PM
  3. Question(s) PhantomX Hexapod with AX-18
    By Jim Cheong in forum Humanoids, Walkers & Crawlers
    Replies: 0
    Last Post: 06-19-2013, 07:57 PM
  4. For learning: PhantomX Hexapod vs PhantomX Quadruped
    By Leugim in forum Humanoids, Walkers & Crawlers
    Replies: 4
    Last Post: 10-26-2012, 08:50 AM
  5. My PhantomX Hexapod
    By Gilrock in forum Humanoids, Walkers & Crawlers
    Replies: 0
    Last Post: 09-26-2012, 02:23 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
  •