eYRC VB#0574 Task 5
Contents
1. Software Specifications
2. Insatllations
2.1. ROS Installation
2.1.1. Installation Instruction
2.1.2. ROS Melodic Installation
2.1.3. Installation Steps
2.1.4. Configuration Steps
2.1.5. Additional packages to install
2.1.6. References
2.2. MoveIt! for ROS Melodic
2.3. Vargi Bots Simulation Packages
2.4. Paho MQTT Library
2.4.1. Installation Instruction
2.4.2. Example MQTT Pub-Sub
2.4.2.1. sub.py
2.4.2.2. pub.py
2.4.3. References
3. Introduction
3.1. Overview
3.1.1. Strategies used to save time
3.2. Video Demonstration
4. Implementation
4.1. Setting up Gazebo and Planning Scene
4.2. Saving Trajectories
4.2.1. Determining Execution Time
4.2.2. Automate Trajectory Saving
4.3. QR Detection
4.4. Ros-IoT Bridge Setup
4.5. Order Handling
4.6. Picking Up Packages From Shelf
4.6.1. There are no orders to process for now
4.6.2. There are orders to process
4.7. Placing Packages in the Bin
4.7.1. Deciding position to pickup the package
4.7.2. Keeping the Conveyor Belt running
4.7.2.1. When UR5#2 arm is free
4.7.2.2. When UR5#2 arm is busy
4.8. Dashboard
4.8.1. Map
4.8.2. Table
4.8.3. Bar Graph
4.9. RQT Graph
5. API Documentation
5.1. Package Task 5
5.1.1. Python Scripts
5.1.1.1. node_ur5_1_pick
5.1.1.2. node_ur5_2_place
5.1.1.3. incoming_order_handler
5.1.1.4. qr/qr_decode
5.1.2. Message Files
5.1.2.1. Camera1Image.msg
5.1.2.1.1. Description
5.1.2.1.2. Parameters
5.1.2.2. DispatchedPackage.msg
5.1.2.2.1. Description
5.1.2.2.2. Parameters
5.1.2.3. NewOrder.msg
5.1.2.3.1. Description
5.1.2.3.2. Parameters
5.1.3. Launch Files
5.1.3.1. task5_solution.launch
5.1.3.1.1. Description
5.1.3.1.2. Job
5.1.4. YAML Files
5.1.4.1. home_to_pkgn
xx
.yaml
5.1.4.1.1. Description
5.1.4.2. pkgn
xx
_to_home.yaml
5.1.4.2.1. Description
5.1.4.3. home_to_waiting_pose_1.yaml
5.1.4.3.1. Description
5.1.4.4. waiting_pose_1_to_pkgn
xx
.yaml
5.1.4.4.1. Description
5.1.4.5. home_y_to_xxx_bin.yaml
5.1.4.5.1. Description
5.1.4.6. xxx_bin_to_home_y.yaml
5.1.4.6.1. Description
5.2. Package Ros-IoT Bridge
5.2.1. Python Scripts
5.2.1.1. node_action_server_ros_iot_bridge
5.2.1.2. pyiot/iot
5.2.2. Message Files
5.2.2.1. msgMqttSub.msg
5.2.2.1.1. Description
5.2.2.1.1.1. Parameters
5.2.3. Action Files
5.2.3.1. msgRosIot.action
5.2.3.1.1. Description
5.2.3.1.2. Parameters
5.2.3.1.2.1. Goal
5.2.3.1.2.2. Feedback
5.2.3.1.2.3. Result
5.2.4. Config Files
5.2.4.1. config_pyiot.yaml
5.2.4.1.1. Description
5.2.4.1.2. Parameters
5.2.4.1.2.1. MQTT
5.2.4.1.2.2. Google Apps
eYRC VB#0574 Task 5
»
Index
Index
A
|
C
|
D
|
F
|
G
|
H
|
I
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
U
|
W
A
attach_box() (node_ur5_2_place.Ur5Moveit method)
attach_box_in_gazebo() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
C
callback() (qr.qr_decode.ShelfCamera method)
D
decode_qr() (in module qr.qr_decode)
detach_box() (node_ur5_2_place.Ur5Moveit method)
detach_box_in_gazebo() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
detect_colours() (in module qr.qr_decode)
dispatched_pkg_callback() (in module node_ur5_2_place)
DispatchedPkg (class in node_ur5_1_pick)
F
find_appropriate_home_position() (in module node_ur5_2_place)
find_correct_pkg_on_shelf() (in module node_ur5_1_pick)
G
get_file_path() (node_ur5_2_place.Ur5Moveit method)
get_pkg_colour() (node_ur5_1_pick.ShelfCamera method)
get_pkg_colour_list() (node_ur5_1_pick.ShelfCamera method)
(qr.qr_decode.ShelfCamera method)
go_to_home() (in module node_ur5_2_place)
go_to_home_position() (in module node_ur5_1_pick)
(in module node_ur5_2_place)
go_to_package() (in module node_ur5_1_pick)
go_to_pose() (node_ur5_2_place.Ur5Moveit method)
H
hard_go_to_pose() (node_ur5_2_place.Ur5Moveit method)
hard_play_saved_trajectory() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
hard_set_joint_angles() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
http_post() (in module pyiot.iot)
I
incoming_order_handler (module)
L
load_saved_trajectories() (in module node_ur5_1_pick)
logical_camera_2_callback() (in module node_ur5_2_place)
M
main() (in module incoming_order_handler)
(in module node_action_server_ros_iot_bridge)
(in module node_ur5_1_pick)
(in module node_ur5_2_place)
mqtt_publish() (in module pyiot.iot)
mqtt_sub_callback() (node_action_server_ros_iot_bridge.RosIotBridgeActionServer method)
mqtt_subscribe_thread_start() (in module pyiot.iot)
N
new_order_callback() (in module incoming_order_handler)
(in module node_ur5_1_pick)
node_action_server_ros_iot_bridge (module)
node_ur5_1_pick (module)
node_ur5_2_place (module)
O
on_cancel() (node_action_server_ros_iot_bridge.RosIotBridgeActionServer method)
on_goal() (node_action_server_ros_iot_bridge.RosIotBridgeActionServer method)
on_transition() (incoming_order_handler.RosIotBridgeActionClient method)
(node_ur5_1_pick.RosIotBridgeActionClient method)
(node_ur5_2_place.RosIotBridgeActionClient method)
OrderDetails (class in node_ur5_2_place)
P
play_saved_trajectory() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
print_colours() (node_ur5_1_pick.ShelfCamera method)
process_goal() (node_action_server_ros_iot_bridge.RosIotBridgeActionServer method)
pyiot.iot (module)
Q
qr.qr_decode (module)
R
remove_box() (node_ur5_2_place.Ur5Moveit method)
RosIotBridgeActionClient (class in incoming_order_handler)
(class in node_ur5_1_pick)
(class in node_ur5_2_place)
RosIotBridgeActionServer (class in node_action_server_ros_iot_bridge)
S
send_goal() (incoming_order_handler.RosIotBridgeActionClient method)
(node_ur5_1_pick.RosIotBridgeActionClient method)
(node_ur5_2_place.RosIotBridgeActionClient method)
set_colour() (node_ur5_1_pick.DispatchedPkg method)
(node_ur5_2_place.OrderDetails method)
set_details() (node_ur5_2_place.OrderDetails method)
set_dispatch_time() (node_ur5_2_place.OrderDetails method)
set_joint_angles() (node_ur5_1_pick.Ur5Moveit method)
(node_ur5_2_place.Ur5Moveit method)
set_name() (node_ur5_1_pick.DispatchedPkg method)
(node_ur5_2_place.OrderDetails method)
ShelfCamera (class in node_ur5_1_pick)
(class in qr.qr_decode)
start_conveyor_belt() (in module node_ur5_1_pick)
(in module node_ur5_2_place)
stop_conveyor_belt() (in module node_ur5_1_pick)
(in module node_ur5_2_place)
sub_callback() (node_ur5_1_pick.ShelfCamera method)
U
update_inventory() (in module node_ur5_1_pick)
update_orders_dispatched_sheet() (in module node_ur5_1_pick)
update_orders_shipped_sheet() (in module node_ur5_2_place)
Ur5Moveit (class in node_ur5_1_pick)
(class in node_ur5_2_place)
W
wait_for_state_update() (node_ur5_2_place.Ur5Moveit method)
waiting_position_benefit() (in module node_ur5_1_pick)