-
Notifications
You must be signed in to change notification settings - Fork 10
wrs tasks
The kitting task is complicated to run. Follow this order and checklist:
-
Restart the docker. In one terminal, run
roscore
. -
In one terminal, run
PhoXiControl
. This can take 1-2 minutes until a window shows up. Make sure that the button on the top left shows a "Pause" and not a "Play" symbol (= run the camera). -
In different terminals, do:
roslaunch o2as_phoxi_camera o2as_phoxi_camera.launch roslaunch o2as_examples connect_real_robots.launch roslaunch o2as_moveit_config o2as_moveit_planning_execution.launch roslaunch o2as_skills o2as_skill_server.launch
-
Run
rosrun o2as_routines calibration.py
. Equip the m4 tool with the c_bot. Check that the calibration of the trays and the feeder is correct. Check the positions of the bins with a_bot and b_bot. -
After calibration is done,
rosrun o2as_routines kitting.py
. Equip the suction tool with1
. Move the robots back by pressing2
. Start the task by enteringstart
.
- The skill server keeps track of the tools the robot carries. If it is restarted while it carries a tool, the tool has to be put back into the holder and equipped using the skill server.
- Is the c_bot calibrated to the tray? Does the tool move directly over the screw holes?
- Is the c_bot calibrated to the feeders?
- Run
roslaunch o2as_routines action_clients.launch
and check: -- Does the precision gripper work? Open, close, slightly_close it. -- Does the suction work? Send commands tosuction_tool
-- Do the motors work? Send commands toscrew_tool_m4
andscrew_tool_m3
- Does the USB relay work? Run
rosservice call /o2as_usb_relay/set_power ...
(port: 2). The feeders should turn on and off. - Is self.bin_is_inclined set up correctly? Do the bin inclinations match? Look in
kitting.py
- Are the bins set up correctly? Are all the parts where they are supposed to be?
- Is the o2as_bg_ratio calibration finished? Run 341 in
calibration.py
Start up the robots, cameras, tools, grippers, USB relay and wait for the order file.
- Copy the order file to
catkin_ws/src/o2as_scene_description/config/kitting_order_file.csv
- Run
rosrun o2as_scene_description kitting_configuration_generator.py
- Open
o2as_scene_description/urdf/templates/placement_bin_layout.csv
. Do this:
- Copy the list of bins into the variable
self.bin_is_inclined
. Incline the bins with few parts in them. - Copy the content of ``
- Enter a line
---
into the list of bins to separate them into sets. - Save the file contents of
kitting_parts_bin_list.yaml
- Run
rosrun o2as_scene_description bin_layout_generator.py
- Load the scene by restarting
roslaunch o2as_moveit_config o2as_moveit_planning_execution.launch
- Check that everything looks correct and calibrate the scene via entries 321, 322 in calibration.py
- Calibrate o2as_bg_ratio via entry 341 in calibration.py. Check in the package that the background of the gripper is red.
- Start up
rosrun o2as_routines kitting.py
. Equip the suction tool with1
, move the robots to the start pose with2
, start the task withstart
-
Restart the docker. In one terminal, run
roscore
. -
In one terminal, run
PhoXiControl
. This can take 1-2 minutes until a window shows up. Make sure that the button on the top left shows a "Pause" and not a "Play" symbol (= run the camera). -
In different terminals, do:
roslaunch o2as_phoxi_camera o2as_phoxi_camera.launch roslaunch o2as_debug_monitor test.launch roslaunch o2as_examples connect_real_robots.launch roslaunch o2as_moveit_config o2as_moveit_planning_execution.launch roslaunch o2as_skills o2as_skill_server.launch
-
Run
rosrun o2as_routines calibration.py
. Equip the m4 tool with the b_bot. Check that the calibration of the trays is correct. -
After calibration is done,
rosrun o2as_routines assembly.py
. Equip the m4 tool with1
. Move the robots into position by pressing2
. Start the task by enteringstart
.
- The skill server keeps track of the tools the robot carries. If it is restarted while it carries a tool, the tool has to be put back into the holder and equipped using the skill server.
- Are a_bot and b_bot calibrated to the trays?
- Are the plates in the correct spot?
- Run
roslaunch o2as_routines action_clients.launch
and check: -- Does the precision gripper work? Open, close, slightly_close it. -- Does the suction work? Send commands tosuction_tool
-- Do the motors work? Send commands toscrew_tool_m4
andscrew_tool_m3
- Are the trays calibrated correctly? Do the calibration with a_bot and b_bot and the parts inside them.
Start up the robots, cameras, tools, grippers and wait for the trays.
- Set up the parts in the trays like this. The tray side facing the assembly jig is the "top". All questions have to be answered with "YES!"
-- Does the cut side of the motor shaft look up, so that it points upwards when mounted to the plate? -- Is the motor standing on its back side, inclined towards the left? -- Is the set screw inserted into the pulley? -- Is the side with the set screw pointing up towards the assembly jig? -- Can the pulley still be mounted to the shaft? -- Is the retainer pin standing with the screw head on top? -- Does the motor shaft touch the bottom right corner of its partition with its threaded end? Does its die cut end touch the left side of the partition? -- Are the washers equidistant to each other and the partition walls? -- Are all the small parts in the center of their partition?
-
Carry the tray into the system running area. Reset parts that moved or fell over.
-
Start up
rosrun o2as_routines assembly.py
. Equip the m4 tool with1
, move the robots to the start pose with2
, start the task withstart
.
```
roslaunch o2as_examples connect_real_robots.launch
roslaunch o2as_moveit_config o2as_moveit_planning_execution.launch
roslaunch o2as_skills o2as_skill_server.launch
rosrun o2as_routines taskboard_sequence.py
```
The taskboard.py interface should explain the rest.