Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23

Thread: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

  1. #11
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Thank you for the hints. At the moment my robot is not walking but lounge around at the post office. I can pick it there not before tuesday.
    After assembling it I'll make the first tries with the phoenix-code to check if all parts working. Then the ArbotixM will be exchanged with the Raspi.
    I'll consider your hints for partial startup and check your repository.

    The hint with "catkin_make clean" does not work. The same error message again after the the next compiler run.

  2. #12
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    860
    Images
    25
    Rep Power
    93

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Have you tried the one I use?

    https://github.com/ccny-ros-pkg/phidgets_drivers

  3. #13
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    I tried your link. But the problems didn't come from the phidgets_drivers but from the needed "libphidgets" (cob_extern). libphidgets are not available precompiled and must be build from source with the described problem:
    Code:
    /home/pi/ros_catkin_ws/src/cob_extern/libconcorde_tsp_solver/build/Qsopt/qsopt.a: error adding symbols: File format not recognized
    collect2: error: ld returned 1 exit status
    I removed the complete catkin workspace before, made a new one and got the same error.
    Last edited by SnowHead; 10-03-2016 at 08:23 AM.

  4. #14
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Update: I placed the flag CATKIN_IGNORE in the directory "/home/pi/ros_catkin_ws/src/cob_extern/libconcorde_tsp_solver/" and the build process succeeded.
    The "PhidgetsImuNodelet" now starts without problems.
    Now only the incompatible start parameters for rtabmap are left.

  5. #15
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Next update: I modified the start parameters in rtabmap.launch (one change was not reported but logged) and now are no more warnings on startup:

    rtabmap.launch
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!-- rtabmap launch file -->
    
    <launch>
        <node pkg="nodelet" type="nodelet" name="depthimage_to_laserscan" args="load depthimage_to_laserscan/DepthImageToLaserScanNodelet camera/camera_nodelet_manager" >
            <param name="scan_height" value="10" />
            <param name="output_frame_id" value="body_link" />
            <remap from="image" to="/camera/depth_registered/image_raw" />
            <remap from="camera/image" to="/camera/depth_registered/image_raw" />
            <remap from="camera/scan" to="scan" />
        </node>
        <group ns="rtabmap">
            <!-- sync depth with odometry -->
            <node pkg="nodelet" type="nodelet" name="standalone_nodelet" args="manager"/>
            <node pkg="nodelet" type="nodelet" name="data_odom_sync" args="load rtabmap_ros/data_odom_sync standalone_nodelet">
              <remap from="odom_in"            to="/odometry/calculated"/>
              <remap from="rgb/image_in"       to="/camera/rgb/image_rect_color"/>
              <remap from="depth/image_in"     to="/camera/depth_registered/image_raw"/>
              <remap from="rgb/camera_info_in" to="/camera/depth_registered/camera_info"/>
    
              <remap from="rgb/image_out"       to="/rtabmap/camera/rgb/image_rect_color"/>
              <remap from="depth/image_out"     to="/rtabmap/camera/depth_registered/image_raw"/>
              <remap from="rgb/camera_info_out" to="/rtabmap/camera/depth_registered/camera_info"/>
              <remap from="odom_out"            to="/rtabmap/odometry/synchronized"/>
            </node>
            <node name="rtabmap" pkg="rtabmap_ros" type="rtabmap" args="--delete_db_on_start">
              <param name="frame_id" type="string" value="base_link"/>
              <remap from="odom" to="/rtabmap/odometry/synchronized"/>
    
              <param name="subscribe_depth" type="bool" value="true"/>
              <remap from="rgb/image" to="/rtabmap/camera/rgb/image_rect_color"/>
              <remap from="depth/image" to="/rtabmap/camera/depth_registered/image_raw"/>
              <remap from="rgb/camera_info" to="/rtabmap/camera/depth_registered/camera_info"/>
    
              <param name="subscribe_laserScan" type="bool" value="true"/>
              <remap from="scan" to="/scan"/>
    
              <param name="queue_size" type="int" value="30"/>
              <param name="publish_tf" type="bool" value="true"/>
              <param name="map_filter_radius" type="double" value="0"/>
              <remap from="goal_out" to="current_goal"/>
    
              <!-- RTAB-Map's parameters -->
              <param name="RGBD/OptimizeFromGraphEnd" type="string" value="true"/>
              <param name="Kp/MaxDepth" type="string" value="4.0"/>
              <param name="Reg/Strategy" type="string" value="2"/>
              <param name="Icp/CorrespondenceRatio" type="string" value="0.2"/>
              <param name="Vis/MinInliers" type="string" value="5"/>
              <param name="Vis/InlierDistance" type="string" value="0.1"/>
              <param name="RGBD/AngularUpdate" type="string" value="0.01"/>
              <param name="RGBD/LinearUpdate" type="string" value="0.01"/>
              <param name="Rtabmap/TimeThr" type="string" value="0"/>
              <param name="Mem/RehearsalSimilarity" type="string" value="0.30"/>
              <param name="RGBD/NeighborLinkRefining" type="string" value="true"/>
              <param name="Rtabmap/DetectionRate" type="string" value="1"/>
              <param name="RGBD/NeighborLinkRefining" type="string" value="true"/>
              <param name="RGBD/ProximityBySpace" type="string" value="true"/>
            </node>
        </group>
    </launch>
    But the exception always occures:
    Code:
    terminate called after throwing an instance of 'UException'
      what():  [FATAL] (2016-10-03 11:55:22.588) Memory.cpp:1101::getNeighborsIdRadius() Condition (!referential.isNull()) not met!
    [rtabmap/rtabmap-25] process has died [pid 28205, exit code -6, cmd /opt/ros/kinetic/lib/rtabmap_ros/rtabmap --delete_db_on_start odom:=/rtabmap/odometry/synchronized rgb/image:=/rtabmap/camera/rgb/image_rect_color depth/image:=/rtabmap/camera/depth_registered/image_raw rgb/camera_info:=/rtabmap/camera/depth_registered/camera_info scan:=/scan goal_out:=current_goal __name:=rtabmap __log:=/home/pi/.ros/log/65936810-894f-11e6-b4d2-b827ebdc8d38/rtabmap-rtabmap-25.log].
    log file: /home/pi/.ros/log/65936810-894f-11e6-b4d2-b827ebdc8d38/rtabmap-rtabmap-25*.log
    In the logfile there is no reason to see for this exception
    logfile:
    Code:
    [0m[ INFO] [1475488944.738223527]: Starting node...[0m
    [33m[ WARN] [1475488946.634565590]: rtabmap: "subscribe_laserScan" parameter is deprecated, use "subscribe_scan" instead. The scan topic is still subscribed.[0m
    [0m[ INFO] [1475488947.098285114]: rtabmap: frame_id = base_link[0m
    [0m[ INFO] [1475488947.098684538]: rtabmap: map_frame_id = map[0m
    [0m[ INFO] [1475488947.099312711]: rtabmap: queue_size = 30[0m
    [0m[ INFO] [1475488947.099829842]: rtabmap: tf_delay = 0.050000[0m
    [0m[ INFO] [1475488947.100080778]: rtabmap: tf_tolerance = 0.100000[0m
    [0m[ INFO] [1475488947.100675617]: rtabmap: depth_cameras = 1[0m
    [0m[ INFO] [1475488947.102409615]: rtabmap: approx_sync = true[0m
    [0m[ INFO] [1475488948.917037799]: Setting RTAB-Map parameter "Icp/CorrespondenceRatio"="0.2"[0m
    [0m[ INFO] [1475488949.517276671]: Setting RTAB-Map parameter "Kp/MaxDepth"="4.0"[0m
    [0m[ INFO] [1475488950.712198413]: Setting RTAB-Map parameter "Mem/RehearsalSimilarity"="0.30"[0m
    [0m[ INFO] [1475488952.601634207]: Setting RTAB-Map parameter "RGBD/AngularUpdate"="0.01"[0m
    [0m[ INFO] [1475488952.682163139]: Setting RTAB-Map parameter "RGBD/LinearUpdate"="0.01"[0m
    [0m[ INFO] [1475488952.819007069]: Setting RTAB-Map parameter "RGBD/NeighborLinkRefining"="true"[0m
    [0m[ INFO] [1475488952.867677228]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="true"[0m
    [0m[ INFO] [1475488953.023971795]: Setting RTAB-Map parameter "RGBD/ProximityBySpace"="true"[0m
    [0m[ INFO] [1475488953.172022360]: Setting RTAB-Map parameter "Reg/Strategy"="2"[0m
    [0m[ INFO] [1475488953.231443897]: Setting RTAB-Map parameter "Rtabmap/DetectionRate"="1"[0m
    [0m[ INFO] [1475488953.572748650]: Setting RTAB-Map parameter "Rtabmap/TimeThr"="0"[0m
    [0m[ INFO] [1475488955.589187135]: Setting RTAB-Map parameter "Vis/InlierDistance"="0.1"[0m
    [0m[ INFO] [1475488955.792161405]: Setting RTAB-Map parameter "Vis/MinInliers"="5"[0m
    [0m[ INFO] [1475488960.719830749]: RTAB-Map detection rate = 1.000000 Hz[0m
    [0m[ INFO] [1475488960.720717409]: rtabmap: Deleted database "/home/pi/.ros/rtabmap.db" (--delete_db_on_start is set).[0m
    [0m[ INFO] [1475488960.721020167]: rtabmap: Using database from "/home/pi/.ros/rtabmap.db".[0m
    [0m[ INFO] [1475488962.107439887]: rtabmap: Database version = "0.11.8".[0m
    [0m[ INFO] [1475488964.159937866]: 
    /rtabmap/rtabmap subscribed to:
       /rtabmap/camera/rgb/image_rect_color,
       /rtabmap/camera/depth_registered/image_raw,
       /rtabmap/camera/depth_registered/camera_info,
       /rtabmap/odometry/synchronized,
       /scan[0m
    [0m[ INFO] [1475488964.161397178]: rtabmap 0.11.8 started...[0m
    [31m[FATAL] (2016-10-03 12:02:52.191) Memory.cpp:1101::getNeighborsIdRadius() Condition (!referential.isNull()) not met![0m

  6. #16
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    860
    Images
    25
    Rep Power
    93

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    It appears that error you were seeing is directly tied with the cob_extern (not really with the phidgets lib), which is for the "Care-O-Bot" product. My stack doesn't call for that. Are you cherry picking stuff from different robot stacks and trying things out?
    There is nothing wrong with experimenting with them of course. If you are new to ROS it just adds another layer to the learning curve.

    As far as the getNeighborsIdRadius() fatal error I'd recommend going to RTABmap GitHub and seeing what that function has in it for clues.


    edit:
    I cleared out phidgets_drivers and rebuilt it and everything seems fine. The download and compile worked without issue. So it appears it is an issue using cob_extern and it having unmet dependencies.
    Last edited by KevinO; 10-04-2016 at 01:55 AM.

  7. #17
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    As source for the libphidgets I gullible used the link from the ROS-Wiki with no suspicion that this repository isn't suitable for the hexabot.
    And yes, I'm new to ROS and learned to hate it. Rare and inapplicable documentations, nonfuncional HowTos, the linux-typical affectation from the high horse "eww, but this you had to knew before, that's why there is no explanation for that" and the inavoidable muddle with incompatible versions.
    Sorry for that plaint but after weeks of been kidded I'm slightly frustrated at the moment. But I'll push myself to enlive the robot with (or better in spite of using) ROS.

    But BTT. I'll look for the reason of the exception when the Raspi will be connected with the robot. May be that the missing servo responses are the reason for the zero calculation exception.

    Could you give me some hints for defining the dimensions and angles of the links, joints and frames for the camera as asked by me a few postings before, please?
    Last edited by SnowHead; 10-04-2016 at 06:39 AM.

  8. #18
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    860
    Images
    25
    Rep Power
    93

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    If you are referring to my lack of documentation. I do this as a simple hobby and I provide my code as a base for anyone since there is very little hexapod related stuff in ROS. I'm not paid to do any of this.

    Quote Originally Posted by SnowHead View Post
    Could you give me some hints for defining the dimensions and angles of the links, joints and frames for the camera as asked by me a few postings before, please?
    Sure. If you are referring to the xacro file. There is already a phantomX xacro tested by a few people. Here is the link to it.

    https://github.com/KevinOchs/hexapod...mX_model.xacro

    In regards to the camera. A primesense sensor has two cameras in it used for depth. One IR and one Color. Any package that consumes those video streams needs to know the distance from each other camera and any other possible points of articulation (like pan and tilt). In the case of the xacro file there is a pan and tilt servo setup. This allows the point cloud data to be positioned correctly regardless of where the head is looking. The leg joints are pretty straight forward. Joints are measured from axis to axis of each joint in a straight line. They are in millimeters. So sadly the xacro file is only used for navigation and visualization in Rviz. There is a second file used as well since not everyone will need or use rviz. Here is the link for that one.

    https://github.com/KevinOchs/hexapod.../phantomX.yaml

    This one is used by all of the IK systems and also includes general configurations. All should work out of the box. Both have been tested by a few people. Although I don't own a phantomX myself. :P



    Cheers,
    Kevin

  9. #19
    Join Date
    Sep 2016
    Location
    Germany
    Posts
    15
    Images
    1
    Rep Power
    16

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Sorry for the late reply. I could pick my robot from the post office yesterday and was fully occupied assembling it, of course. Finished it at 2 AM.

    My nagging above was not relating to you. I've a high respect for the work you do in and beside your job. I meant the careless documentations and incompatibilities in linux generally and in ROS specially. If there was the misimpression that I want to criticise your work and answers here then I want to apologize for this misunderstanding. It's not easy to phrase clearly in a foreign language.

    I studied the robot description files in your repository long time before I ordered the robot. I had and have the ambition to understand the source for the values I found there and took measurements in the Step-File of the robot. Reading the tutorials about urdf and xacro files in the wiki I unterstood the reason for the values for the links and joints of the legs.
    But searching for the reason of the values for the pan- and tilt-parts and the camera frames I gave up. I investigated the available pictures of Charlotte to evaluate the data for distances and angles in the xacro-files but found no relation.
    Because my camera is mounted in a different way than on Charlotte (if all servos are centered my camera looks forward and not upward) I have to adapt these values. But without knowing the way of generation of the given values I'll have no chance to do this in the right way.
    Last edited by SnowHead; 10-05-2016 at 03:39 AM.

  10. #20
    Join Date
    Dec 2012
    Location
    Los Angeles, CA
    Posts
    860
    Images
    25
    Rep Power
    93

    Re: How to install a functional ROS with KevinO's hexapod_ros on a Raspberry 3?

    Quote Originally Posted by SnowHead View Post
    Because my camera is mounted in a different way than on Charlotte (if all servos are centered my camera looks forward and not upward) I have to adapt these values. But without knowing the way of generation of the given values I'll have no chance to do this in the right way.
    Charlotte never had ROS on it that was my own code base. Renee's phantomX was one of the test cases. Are you aiming your joint with the Z axis? Cameras in ROS are Z positive in frame. Unlike other joints where X is forward and Z is up.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Question(s) NXT package install error
    By klevison in forum Sensors
    Replies: 1
    Last Post: 11-12-2015, 02:02 PM
  2. ROS: Yet another failed install attempt
    By jwatte in forum Software and Programming
    Replies: 7
    Last Post: 07-12-2015, 05:11 PM
  3. How best to fix up a Linux Install?
    By KurtEck in forum Robotics General Discussion
    Replies: 6
    Last Post: 01-26-2015, 10:26 AM
  4. Question(s) Roboard and Windows XP Install...
    By sniperscope in forum Robotics General Discussion
    Replies: 4
    Last Post: 06-01-2009, 04:53 PM
  5. Linux install
    By sthmck in forum Off Topic
    Replies: 6
    Last Post: 09-02-2008, 10:05 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
  •