In this section we provide instructions on launching individual components used in the baseline solution.
Before proceeding, you should follow instructions in this section to make sure the server is running and the client has been created.
-
Launch a ROS node for navigation
scripts/shell.sh roslaunch carto_navigation navigation.launch
-
Specify the navigation target by
rviz:
-
Launch a node for detection and grasping:
scripts/shell.sh roslaunch rmus_solution manipulate.launch
-
Move the EP with keyboard to the location where digits on the check station are visible.
-
Detect the digits on the check station by calling a ROS service:
MODE=9 docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /image_processor_switch_mode "mode: ${MODE}"
Note that, the command can be automatically completed by pressing
Tab.After calling the service, the digits on the check station should be detected and visualized on the
image_viewoutput:Reference for the service
/image_processor_switch_mode:mode:Value Specification 0Halt (Default) 1~5Detect digits 1~56Detect B7Detect O8Detect X9Detect three digits on check station -
Stop the service by calling
docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /image_processor_switch_mode "mode: 0"
-
Launch a node for detection and grasping:
scripts/shell.sh roslaunch rmus_solution manipulate.launch
-
Move the EP with keyboard towards the front face of a mineral
-
Invoke vision service to locate the mineral
docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /image_processor_switch_mode "mode: 5"
The parameter
3corresponds to the digit 3 on the mineral to grasp.After calling the service, the digits on the mineral should be detected and visualized on the
image_viewoutput: -
Grasp the mineral
MODE=1 docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /let_manipulater_work "mode: ${MODE} call: ''"
Note that, the command can be automatically completed by pressing
Tab.Reference for the service
/let_manipulater_work:mode:Value Specification 0Robot arm reset 1Grasp the mineral in front of the EP 2Place the mineral at hand into the check station call: Usused, default value is empty string. You can use this parameters in your method. -
Move the EP with keyboard to the front of the check station:
-
Find the target box to place the grasped mineral:
docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /image_processor_switch_mode "mode: 7"
6,7,8correspond toB,O,Xat the checking station -
Place the mineral in the box
docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /let_manipulater_work "mode: 2 call: ''"
-
Stop the service
docker exec -it client /opt/ros/noetic/env.sh /opt/workspace/devel_isolated/env.sh /opt/ep_ws/devel/env.sh rosservice call /image_processor_switch_mode "mode: 0"









