Closed dnhrtmn closed 1 year ago
Hi dnhrtmn, im having the same issues i have been trying to make it work for almost 4 days but i dont understand what is wrong, when following the
run.bash
1.It creates the conda environment correctly
but fails
[epd_gui_env] env created.
deploy : INFO [- EPD Deployment Configurations -]
deploy : INFO [ ONNX Model ] : ./data/model/MaskRCNN-10.onnx
deploy : INFO [ Label List ] : ./data/label_list/coco_classes.txt
deploy : INFO [ Input Image Topic ] : /virtual_camera/image_raw
bash: /home/shunter/miniconda3/lib/libtinfo.so.6: no version information available (required by bash)
[sudo] password for shunter:
Docker [ FOUND ]
epd-foxy-base:CPU Docker Image [ FOUND ]
Do you wish to rebuild? [y/n]: n
Sourcing [ROS2]
Sourcing [Local Package/Workspace]
/root/epd_ros2_ws/src/easy_perception_deployment/easy_perception_deployment/gui/scripts/launch.sh: line 20: install/setup.bash: No such file or directory
/root/epd_ros2_ws/src/easy_perception_deployment/easy_perception_deployment/gui/scripts/launch.sh: line 24: install/setup.bash: No such file or directory
Deploying package.
Package 'easy_perception_deployment' not found: "package 'easy_perception_deployment' not found, searching: ['/opt/ros/foxy']"
ive also been trying to build the edp package bypassing the automation scripts as but have run into onnxruntime vendor missing and after fixing that run into a CUDA error (not finding a library) that is making me lose my mind. i never got it working on the docker container
anyways any help would be appreciated
Could exactly reproduce this.
@Briancbn What is the right way to use the package? Help would be much appreciated!
Hi @dnhrtmn and @flippybit, Thanks for reporting this. I haven't touched this project for a while. Lemme try to reproduce it and get back to you ASAP.
The setup instructions are rather outdated, the current documentation is for 0.3.3
. The latest code on master
can be setup following the steps mentioned in #60. The official setup instructions in the README have yet to be updated.
@Briancbn Oh missed the #60 but did get to install the onnxruntime vendor. i agree the instructions are a bit outdated, but its hard to keep up with documentation... many thnx !
So my latest try was this:
mkdir epd_ros2_ws
cd epd_ros2_ws
mkdir src
cd src
git clone https://github.com/Briancbn/epd_onnxruntime_vendor.git
git clone https://github.com/ros-industrial/easy_perception_deployment
cd ..
colcon build
So everything went fine. Just for information, the whole output below because a lot of warnings occured.
After this I sourced the setup via
source install/setup.bash
I tried to launch the process with
ros2 launch easy_perception_deployment run.launch.py
The output was this:
[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2023-01-23-04-45-57-412610-ubuntu-12170
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [easy_perception_deployment-1]: process started with pid [12172]
[easy_perception_deployment-1] terminate called after throwing an instance of 'Ort::Exception'
[easy_perception_deployment-1] what(): Load model from ./data/model/MaskRCNN-10.onnx failed:Load model ./data/model/MaskRCNN-10.onnx failed. File doesn't exist
[ERROR] [easy_perception_deployment-1]: process has died [pid 12172, exit code -6, cmd '/home/ros/epd_ros2_ws/install/easy_perception_deployment/lib/easy_perception_deployment/easy_perception_deployment --ros-args -r /easy_perception_deployment/image_input:=/virtual_camera/image_raw'].
Hi @dnhrtmn the current version of EPD requires you to run launch files from the location of the easy_perception_deployment package. In your case, you can run run.launch.py
by doing the following after sourcing your workspace:
1.
cd ~/epd_ros2_ws/src/easy_perception_deployment/easy_perception_deployment
2.
ros2 launch easy_perception_deployment run.launch.py
Thanks for your reply @carlowiesse !
Just tried it, looks fine to me until this point but nothing happens after that. I'm not sure what the next step should look like.
ros@ubuntu:~/epd_ros2_ws/src/easy_perception_deployment/easy_perception_deployment$ ros2 launch easy_perception_deployment run.launch.py
[INFO] [launch]: All log files can be found below /home/ros/.ros/log/2023-01-24-23-21-55-279977-ubuntu-2985
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [easy_perception_deployment-1]: process started with pid [2987]
[easy_perception_deployment-1] [INFO] [1674631317.360235801] [easy_perception_deployment]: [-ONNX Model-] - ./data/model/MaskRCNN-10.onnx
[easy_perception_deployment-1] [INFO] [1674631317.360794452] [easy_perception_deployment]: [-Label List-] - ./data/label_list/coco_classes.txt
[easy_perception_deployment-1] [INFO] [1674631317.360980082] [easy_perception_deployment]: [-Precision Level-] - 3
[easy_perception_deployment-1] [INFO] [1674631317.361142792] [easy_perception_deployment]: [-Mode-] - VISUALISE
[easy_perception_deployment-1] [INFO] [1674631317.361302472] [easy_perception_deployment]: [-Use Case-] - EPD::CLASSIFICATION_MODE
@dnhrtmn Hurray ! ill give it a try later.
Are you feeding the model some images from a real camera ? the model should be listening to the topic name set in the RegisterTopic button on the GUI.
In the docs docs-page it says you need to do so like so;
cd ~/epd_ros2_ws/src
git clone https://github.com/clydemcqueen/opencv_cam.git
git clone https://github.com/ptrmu/ros2_shared.git
cd ~/epd_ros2_ws
source /opt/ros/foxy/setup.bash
rosdep install --from-paths src --ignore-src -y --rosdistro "${ROS_DISTRO}"
colcon build
good luck
Thanks
@dnhrtmn Hurray ! ill give it a try later.
Are you feeding the model some images from a real camera ? the model should be listening to the topic name set in the RegisterTopic button on the GUI.
In the docs docs-page it says you need to do so like so;
cd ~/epd_ros2_ws/src git clone https://github.com/clydemcqueen/opencv_cam.git git clone https://github.com/ptrmu/ros2_shared.git cd ~/epd_ros2_ws source /opt/ros/foxy/setup.bash rosdep install --from-paths src --ignore-src -y --rosdistro "${ROS_DISTRO}" colcon build
good luck
Yes, i have a Intel RealSense D435i attached and changed the corresponding topic in the "input_image_topic.json".
Im out of ideas... try inspecting your node layout with a
rqt_graph
ill try to set up the same camera later 2day ill keep you posted ! cheers
Hi @dnhrtmn, by default, EPD will take the images published on the topic /virtual_camera/image_raw
(this behavior can be changed in input_image_topic.json
as you noticed), process them using the model specified in session_config.json
, and, for this particular circumstances (EPD visualize mode by default), EPD will publish the output image on the topic /easy_perception_deployment/image_output
.
You can check if your input and output images are being published by running:
ros2 run image_tools showimage --ros-args --remap /image:=/easy_perception_deployment/image_output
Change /easy_perception_deployment/image_output
for the topic name of the image feed coming from the D435i to check if the input image is being received.
Thank you very much for all your help.
ros@ubuntu:~$ ros2 run image_tools showimage --ros-args --remap /image:=/easy_perception_deployment/image_output
[INFO] [1674634663.221427518] [showimage]: Subscribing to topic 'image'
^C[INFO] [1674634678.807489281] [rclcpp]: signal_handler(signal_value=2)
ros@ubuntu:~$ ros2 run image_tools showimage --ros-args --remap /image:=/camera/color/image_raw
[INFO] [1674634701.444105940] [showimage]: Subscribing to topic 'image'
[INFO] [1674634701.488888501] [showimage]: Received image #camera_color_optical_frame
Received image #camera_color_optical_frame
The node for the RealSense Camera is running fine. ShowImage does show the stream from the camera but the output from epd is empty. I had a look on all topics from epd, but they are also empty. Following the graph from rqt.
@dnhrtmn Based on your rqt graph, EPD is still taking input images from /virtual_camera/image_raw
(default) instead of /camera/color/image_raw
(D435i camera). For the current version of EPD, you have to build the workspace again every time you modify config files, such as input_image_topic.json
.
Can't tell you how much I appreciate your help. Thank you very much! Next step is going to integrate it with EMD. :-)
Sorry guys, I have to bother you again. The classification mode worked well as you could see. If I switch to Localization, i have the following error message. The topics are fine in my opinion (for a Realsense D435i camera). I wanted to feed the pipeline for EMD.
After changing how I launch the Realsense package:
EPD launches but as soon as I move something into the FOV of the camera, the same error occurcs.
@dnhrtmn #14 states that the solution is related to the camera settings. Can you try the following launch command for the realsense camera?
ros2 launch realsense2_camera rs_launch.py align_depth.enable:=true rgb_camera.profile=640,480,15 depth_module.profile=640,480,15
I believe the issue has to do with the image resolution. Your terminal output shows 1280x720 for the rgb camera, let's try 640x480.
So sometimes do error does occur but most of the time EMD receives the messages and detects an objects (even if it's not able to plan a grasp but that's not related to EPD. I will close this issue, thank you very much for your help!
Hi all, @Briancbn @flippybit @dnhrtmn
I'm new to GitHub and ROS, I'm getting the same problem, but going thru al the comments and #60 I-m still not able to get rid of this problem.
Could someone please explain step by step how to resolve it?
Thanks.
deploy : INFO [- EPD Deployment Configurations -] deploy : INFO [ ONNX Model ] : ./data/model/FasterRCNN-10.onnx deploy : INFO [ Label List ] : ./data/label_list/coco_classes.txt deploy : INFO [ Input Image Topic ] : /camera/color/image_raw [sudo] password for ros2: Docker [ FOUND ] epd-foxy-base:CPU Docker Image [ FOUND ] Do you wish to rebuild? [y/n]: y Sourcing [ROS2] Sourcing [Local Package/Workspace] Building epd_msgs package Starting >>> epd_msgs Finished <<< epd_msgs [21.3s] Summary: 1 package finished [21.9s] Starting >>> easy_perception_deployment --- stderr: easy_perception_deployment CMake Error at CMakeLists.txt:17 (find_package): By not providing "Findepd_onnxruntime_vendor.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "epd_onnxruntime_vendor", but CMake did not find one. Could not find a package configuration file provided by "epd_onnxruntime_vendor" with any of the following names: epd_onnxruntime_vendorConfig.cmake epd_onnxruntime_vendor-config.cmake Add the installation prefix of "epd_onnxruntime_vendor" to CMAKE_PREFIX_PATH or set "epd_onnxruntime_vendor_DIR" to a directory containing one of the above files. If "epd_onnxruntime_vendor" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< easy_perception_deployment [0.59s, exited with code 1] Summary: 0 packages finished [0.93s] 1 package failed: easy_perception_deployment 1 package had stderr output: easy_perception_deployment Deploying package. Package 'easy_perception_deployment' not found: "package 'easy_perception_deployment' not found, searching: ['/root/epd_ros2_ws/src/easy_perception_deployment/epd_msgs/install/epd_msgs', '/opt/ros/foxy']"
Hi @Mukaram01,
That error message means you're missing the epd_onnxruntime_vendor
package.
Please try the following:
mkdir ~/epd_ros2_ws
cd ~/epd_ros2_ws
mkdir src
cd src
git clone https://github.com/ros-industrial/epd_onnxruntime_vendor.git
git clone https://github.com/ros-industrial/easy_perception_deployment.git
cd ..
colcon build
source install/setup.bash
cd ~/epd_ros2_ws/src/easy_perception_deployment/easy_perception_deployment
ros2 launch easy_perception_deployment run.launch.py
@carlowiesse Thank you soo much for your help. I do apriciate it a lot as I was struggling with it.
Upon reflecting on your comment, I realized that I've been using the GUI to run EPD. Without reinstalling from scratch, I tested the last two lines you suggested, and they worked flawlessly. However, I'm still encountering the same vendor error when using the GUI. Nevertheless, launching it with
ros2 launch easy_perception_deployment run.launch.py
resolves the issue.
Hey Guys,
I'm not quite sure if this is really an issue or just an mistake by myself. I want to build epd locally but after following the steps in the documentation I end up with an error after clicking the run button.
Setup: Ubuntu 20.04.05 running via VMWare Workstation ROS2 Foxy
I tried the following:
Following the instructions in the documentation,
Trying no first: Doesn't find the Local Packages/Workspaces, even after sourcing them via .bashrc For example
not found: "/home/ros/vendor_package/install/local_setup.bash"
Full Output
Trying yes: Can't find the .cmake files vom epd_onnxruntime_vendor -> Was sourced when installing CMAKE_PREFIX_PATH was set afterwards but still no success
Full output
``` epd-foxy-base:CPU Docker Image [ FOUND ] Do you wish to rebuild? [y/n]: y Sourcing [ROS2] Sourcing [Local Package/Workspace] Building epd_msgs package Starting >>> epd_msgs Finished <<< epd_msgs [7.61s] Summary: 1 package finished [7.69s] Starting >>> easy_perception_deployment --- stderr: easy_perception_deployment CMake Error at CMakeLists.txt:17 (find_package): By not providing "Findepd_onnxruntime_vendor.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "epd_onnxruntime_vendor", but CMake did not find one. Could not find a package configuration file provided by "epd_onnxruntime_vendor" with any of the following names: epd_onnxruntime_vendorConfig.cmake epd_onnxruntime_vendor-config.cmake Add the installation prefix of "epd_onnxruntime_vendor" to CMAKE_PREFIX_PATH or set "epd_onnxruntime_vendor_DIR" to a directory containing one of the above files. If "epd_onnxruntime_vendor" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< easy_perception_deployment [0.34s, exited with code 1] Summary: 0 packages finished [0.42s] 1 package failed: easy_perception_deployment 1 package had stderr output: easy_perception_deployment Deploying package. Package 'easy_perception_deployment' not found: "package 'easy_perception_deployment' not found, searching: ['/root/epd_ros2_ws/src/easy_perception_deployment/epd_msgs/install/epd_msgs', '/opt/ros/foxy']" ```What else I tried:
-> Changed nothing
in this directory /home/ros/epd_ros2_ws/src/easy_perception_deployment -> Same error