Inspect the pick_and_place_application Package¶
In this exercise, we will get familiar with all the files that you will be interacting with throughout the next exercises.
Acquire the Workspace¶
cp -r ~/industrial_training/exercises/Perception-Driven_Manipulation/ros2/template_ws \
~/perception_driven_ws
Look into the launch directory¶
application_setup.launch.pyBrings up the entire ROS system (MoveIt!, Rviz, perception nodes, ROS-I drivers, robot I/O peripherals)
application_run.launch.pyRuns your pick and place node.
Look into the config directory¶
pick_and_place_parameters.yamlList of parameters read by the pick and place node.
rviz_config.rvizRviz configuration file for display properties.
target_recognition_parameters.yamlParameters used by the target recognition service for detecting the box from the sensor data.
fake_obstacles_cloud_descriptions.yamlParameters used to generate simulated sensor data (simulated sensor mode only).
Look into the src directory¶
nodes/pick_and_place_node.cppMain application thread. Contains all necessary headers and function calls.
tasks/create_motion_plan.cppcreate_pick_moves.cppcreate_place_moves.cppdetect_box_pick.cppinitialize.cppmove_to_wait_position.cpppickup_box.cppplace_box.cppreset_world.cppset_attached_object.cppset_gripper.cpp
Note
The tasks directory contains source files with incomplete function definitions. You will fill with code where needed in order to complete the exercise.
utilities/pick_and_place_utilities.cppContains support functions that will help you complete the exercise.