Quality Control Sensor Not Working (For Me??)

Issue #181 resolved
Rud Merriam created an issue

I ran:

   rosrun osrf_gear gear.py -f \
  `catkin_find --share --first-only osrf_gear`/config/sample.yaml \
  `catkin_find --share --first-only osrf_gear`/config/sample_user_config.yaml\
  --development-mode --visualize-sensor-views
  # in another terminal
   rosrun gazebo_ros spawn_model -sdf -x 0.1 -y 0.1 -z 0.05 -R 0 -P 0 -Y 0 -file `catkin_find osrf_gear --share --first-only`/models/piston_rod_part_ariac/model.sdf -reference_frame agv1::kit_tray_1::kit_tray_1::tray -model piston_rod_part_5
  # ...and in another terminal
  rostopic echo -c /ariac/quality_control_sensor_1

The QA message shows the faulty part.

I run a modified competition setup:

/deva/ariac_q$ rosrun osrf_gear gear.py -f src/fake_orders/sample_order_pr.yaml \
src/mystic//config/team_config.yaml --development-mode --visualize-sensor-views
# and then the same bad part command and the rostopic QA msg.
# also the tray msg shows the part:
rostopic echo  /ariac/trays

There are no models listed in the quality sensor 1. I rotated and the part manually in Gazebo but get no faults. Also added a gear which isn’t in the order.

Get the same result when I run and place parts I know are in the wrong pose. Without the QA sensor I can’t tell what is wrong.

Comments (6)

  1. Rud Merriam reporter
    • edited description

    I ran:

       rosrun osrf_gear gear.py -f \
      `catkin_find --share --first-only osrf_gear`/config/sample.yaml \
      `catkin_find --share --first-only osrf_gear`/config/sample_user_config.yaml\
      --development-mode --visualize-sensor-views
      # in another terminal
       rosrun gazebo_ros spawn_model -sdf -x 0.1 -y 0.1 -z 0.05 -R 0 -P 0 -Y 0 -file `catkin_find osrf_gear --share --first-only`/models/piston_rod_part_ariac/model.sdf -reference_frame agv1::kit_tray_1::kit_tray_1::tray -model piston_rod_part_5
      # ...and in another terminal
      rostopic echo -c /ariac/quality_control_sensor_1
    

    The QA message shows the faulty part.

    I run a modified competition setup:

    /deva/ariac_q$ rosrun osrf_gear gear.py -f src/fake_orders/sample_order_pr.yaml \
    src/mystic//config/team_config.yaml --development-mode --visualize-sensor-views
    # and then the same bad part command and the rostopic QA msg.
    # also the tray msg shows the part:
    rostopic echo  /ariac/trays
    

    There are no models listed in the quality sensor 1. I even rotated the part manually in Gazebo but get no faults.

    Get the same result when I run and place parts I know are in the wrong pose. Without the QA sensor I can’t tell what is wrong.

  2. Rud Merriam reporter

    Perhaps a related issue is the tray scoring service is not running on my system. It doesn’t appear in the services list.

    rosservice call /ariac/submit_tray...
    
  3. Shane Loretz

    I’ll try to reproduce this shortly.

    For your other question, The service is named /ariac/submit_shipment .

    Example for AGV 2:

    rosservice call /ariac/submit_shipment "{destination_id: '2', shipment_type: 'order_0_shipment_0'}"
    

    Note that this service is considered a cheat and is only meant for use during practice. /ariac/agv2 should be used during the competition.

  4. Shane Loretz

    Hi @rmerriam , it looks like sample_order_pr.yaml needs a faulty_products section. Faulty products must be listed by name in the config file. When I add this the faulty part is correctly detected by the quality control sensor.

    faulty_products:
      - piston_rod_part_5
    

    You might be interested in this example config file that has comments describing each entry.

    The quality control sensor only reports the pose of faulty products. Teams need to add a separate sensor to detect non-faulty parts that are in the wrong pose or not included in the order. See these bullet points about quality control sensors for more information.

  5. Log in to comment