duckietown / challenge-aido_LF-baseline-duckietown

A more-involved example ROS submission to the AIDO LF1 Challenge, using the Duckietown Lane Following stack.
2 stars 1 forks source link

Error when running via "dts duckiebot evaluate --duckiebot_name <Duckiebot_Hostname> --native": Could not get DUCKIEFLEET_ROOT #15

Open carmen-sc opened 4 years ago

carmen-sc commented 4 years ago

I get the following when running "dts duckiebot evaluate --duckiebot_name <...> --native" for this image:

duckietown@duckietown23:~/challenge-aido_LF-baseline-duckietown/3_submit$ dts duckiebot evaluate --duckiebot_name duckieracer01 --native INFO:dts:duckietown-shell 5.1.6

dts : Problems with a command? :
: Report here: https://github.com/duckietown/duckietown-shell-commands/issues :
: Troubleshooting: :
: - If some commands update fail, delete ~/.dt-shell/commands :
: - To reset the shell to "factory settings", delete ~/.dt-shell :
: (Note: you will have to re-configure.) INFO:dts:Commands version: daffy INFO:dts:looking at /home/duckietown/.dt-shell/commands-multi/daffy INFO:dts:duckietown-shell-commands 5.0.2 INFO:duckietown-challenges:duckietown-challenges 5.1.4 INFO:zj:zuper-ipce 5.2.0 INFO:zuper-typing:zuper-typing 5.1.1 INFO:zuper-commons:zuper-commons 5.0.9 INFO:dts:Attempting to run natively on the robot WARNING:dts:couldn't remove existing container: 404 Client Error: Not Found ("No such container: agent") INFO:dts:aido_glue already running - stopping it first.. INFO:dts:removing aido_glue INFO:dts:Running duckietown/challenge-aido_lf-duckiebot:daffy-arm32v7 on duckieracer01.local with environment vars: {'HOSTNAME': 'duckieracer01', 'DUCKIEBOT_NAME': 'duckieracer01', 'ROS_MASTER_URI': 'http://10.253.161.5:11311'} INFO:dts:Building image for arm32v7 INFO:dts:Running command: ['docker', '-H duckieracer01.local', 'build', '-t', 'myimage', '--build-arg', 'ARCH=arm32v7', '-f', './Dockerfile'] INFO:dts:status: running The environment variable VEHICLE_NAME is not set. Using 'duckieracer01'. Sending build context to Docker daemon 6.403MB Step 1/19 : ARG ARCH=arm32v7 Step 2/19 : ARG MAJOR=daffy Step 3/19 : ARG BASE_TAG=${MAJOR}-${ARCH} Step 4/19 : FROM duckietown/challenge-aido_lf-template-ros:${BASE_TAG} ---> 9da666adcd5f Step 5/19 : RUN rm -r /workspace; mkdir /workspace ---> Using cache ---> bf8c40a90c5f Step 6/19 : WORKDIR /workspace ---> Using cache ---> 66e40202d84d Step 7/19 : COPY requirements.txt . ---> Using cache ---> b0474c7756b2 Step 8/19 : RUN pip install -r requirements.txt ---> Using cache ---> b2b81bf5bab8 Step 9/19 : COPY solution.py ./ ---> Using cache ---> 161eef75f635 Step 10/19 : COPY rosagent.py ./ ---> Using cache ---> 2b76900365d8 Step 11/19 : COPY lf_slim.launch ./ ---> Using cache ---> 707a1844c64d Step 12/19 : ENV HOSTNAME=default ---> Using cache ---> 8d1d50f01f23 Step 13/19 : ENV VEHICLE_NAME=default ---> Using cache ---> 8a5be072dcc9 Step 14/19 : ENV ROS_HOSTNAME=localhost ---> Using cache ---> 098647d094f2 Step 15/19 : ENV ROS_MASTER_URI=http://localhost:11311 ---> Using cache ---> 0db89c156e14 Step 16/19 : ENV DUCKIEFLEET_ROOT /data/config ---> Using cache ---> bf6fcbdc125c Step 17/19 : RUN mkdir -p /data/config ---> Using cache ---> 369d1d9d01d7 Step 18/19 : COPY data/config /data/config ---> Using cache ---> 5f2c75e60700 Step 19/19 : CMD ["python", "solution.py"] ---> Using cache ---> 0ee90cc15462 Successfully built 0ee90cc15462 Successfully tagged myimage:latest INFO:dts:Running myimage on localhost with environment vars: {'AIDONODE_DATA_IN': '/fifos/agent-in', 'AIDONODE_DATA_OUT': 'fifo:/fifos/agent-out'} INFO:zuper_nodes_python2:zn-p2 5.0.8 INFO:DuckiebotBridge:DuckiebotBridge starting communicating with the agent. INFO:dts:Running for 15 s INFO:dts:status: running INFO:zuper_nodes_python2:zn-p2 5.0.8 INFO:zuper_nodes_python2:started init() INFO:zuper_nodes_python2:Creating ROSLaunchParent INFO:zuper_nodes_python2:about to call start() started roslaunch server http://localhost:34771/

SUMMARY

PARAMETERS

NODES /default/ duckiebot_visualizer (duckiebot_visualizer/duckiebot_visualizer.py) ground_projection (ground_projection/ground_projection_node.py) kinematics_node (dagu_car/kinematics_node.py) lane_controller_node (lane_control/lane_controller_node.py) lane_filter_node (lane_filter/lane_filter_node.py) lane_pose_visualizer_node (lane_filter/lane_pose_visualizer_node.py) line_detector_node (line_detector/line_detector_node.py) / default_to_map (tf/static_transform_publisher)

auto-starting new master process[master]: started with pid [63] ROS_MASTER_URI=http://localhost:11311 setting /run_id to 94977d7e-444d-11ea-a258-0242ac110003 process[rosout-1]: started with pid [76] started core service [/rosout] process[default/line_detector_node-2]: started with pid [91] process[default/ground_projection-3]: started with pid [94] [INFO] [1580491065.636472]: [LineDetectorNode] Verbose is now True [INFO] [1580491065.664144]: [LineDetectorNode] new detector config: ['line_detector.LineDetectorHSV', {'configuration': {'hough_max_line_gap': 1, 'dilation_kernel_size': 3, 'hsv_yellow1': [25, 140, 100], 'hsv_yellow2': [45, 255, 255], 'hsv_white1': [0, 0, 150], 'hsv_white2': [180, 100, 255], 'hough_min_line_length': 3, 'hough_threshold': 2, 'canny_thresholds': [80, 200], 'hsv_red4': [180, 255, 255], 'hsv_red1': [0, 140, 100], 'hsv_red3': [165, 140, 100], 'hsv_red2': [15, 255, 255]}}] [INFO] [1580491065.682338]: [LineDetectorNode] new detector_intersection config: ['line_detector.LineDetectorHSV', {'configuration': {'hough_max_line_gap': 1, 'dilation_kernel_size': 3, 'hsv_yellow1': [25, 140, 100], 'hsv_yellow2': [45, 255, 255], 'hsv_white1': [0, 0, 150], 'hsv_white2': [180, 100, 255], 'hough_min_line_length': 3, 'hough_threshold': 2, 'canny_thresholds': [80, 200], 'hsv_red4': [180, 255, 255], 'hsv_red1': [0, 50, 100], 'hsv_red3': [165, 50, 100], 'hsv_red2': [15, 255, 255]}}] [INFO] [1580491065.763800]: [LineDetectorNode] Initialized (verbose = True). process[default/lane_filter_node-4]: started with pid [97] Traceback (most recent call last): File "/code/catkin_ws/src/dt-core/packages/ground_projection/src/ground_projection_node.py", line 88, in ground_projection_node = GroundProjectionNode() File "/code/catkin_ws/src/dt-core/packages/ground_projection/src/ground_projection_node.py", line 27, in init self.gp = GroundProjection(self.robot_name) File "/code/catkin_ws/src/dt-core/packages/ground_projection/include/ground_projection/ground_projection_interface.py", line 34, in init camera_info = get_camera_info_for_robot(robot_name) File "/code/catkin_ws/src/dt-core/packages/pi_camera/include/pi_camera/camera_info.py", line 73, in get_camera_info_for_robot fn = get_camera_info_config_file(robot_name) File "/code/catkin_ws/src/dt-core/packages/pi_camera/include/pi_camera/camera_info.py", line 123, in get_camera_info_config_file roots = [os.path.join(dtu.get_duckiefleet_root(), 'calibrations'), File "/code/catkin_ws/src/dt-ros-commons/packages/duckietown/include/duckietown_utils/paths.py", line 40, in get_duckiefleet_root return _get_dir(vname) File "/code/catkin_ws/src/dt-ros-commons/packages/duckietown/include/duckietown_utils/paths.py", line 178, in _get_dir raise DTConfigException(msg) duckietown_utils.exceptions.DTConfigException: Could not get DUCKIEFLEET_ROOT: dir does not exist: /data/config ================================================================================REQUIRED process [default/ground_projection-3] has died! process has died [pid 94, exit code 1, cmd /code/catkin_ws/src/dt-core/packages/ground_projection/src/ground_projection_node.py ~lineseglist_in:=line_detector_node/segment_list __name:=ground_projection __log:=/root/.ros/log/94977d7e-444d-11ea-a258-0242ac110003/default-ground_projection-3.log]. log file: /root/.ros/log/94977d7e-444d-11ea-a258-0242ac110003/default-ground_projection-3*.log Initiating shutdown!

The bot is connected to the internet and the directory /data/config exists on the bot.

liampaull commented 4 years ago

I'm fighting a bit of a battle to reproduce this. I feel some of the base images have not been built on arm which is causing problems. I will get the image building added to the jenkins server and then we can be sure that everything is up to date