jetsonhacks / installRealSense2ROSTX

Install the ROS Wrapper for librealsense 2 on the NVIDIA Jetson TX Development Kits
MIT License
17 stars 8 forks source link

E: Unable to locate package ros-kinetic-librealsense2 #3

Open jerryt3204 opened 5 years ago

jerryt3204 commented 5 years ago

OS: Ubuntu 16.04 platform: Nvidia Jetson TX2 with Jetpack3.3 camera: realsense d435

when i execute ./installRealSenseROS.sh , i encountered this error: E: Unable to locate package ros-kinetic-librealsense2

detail as below:

nvidia@tegra-ubuntu:~/installRealSense2ROSTX-master$ ./installRealSenseROS.sh fucksense_ws
DEFAULTDIR: /home/nvidia/fucksense_ws
/home/nvidia/fucksense_ws exists
Found catkin workspace in directory: /home/nvidia/fucksense_ws
Installing librealsense in: /home/nvidia/fucksense_ws/src
Starting installation of librealsense
Starting installation of RealSense ROS package
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Add distro "bouncy"
Add distro "crystal"
Add distro "dashing"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"
updated cache in /home/nvidia/.ros/rosdep/sources.cache
Cloning Intel ROS realsense package
Cloning into 'realsense'...
remote: Enumerating objects: 878, done.
remote: Counting objects: 100% (878/878), done.
remote: Compressing objects: 100% (663/663), done.
remote: Total 8807 (delta 353), reused 217 (delta 215), pack-reused 7929
Receiving objects: 100% (8807/8807), 21.70 MiB | 1.60 MiB/s, done.
Resolving deltas: 100% (5038/5038), done.
Checking connectivity... done.
Note: checking out '2.0.3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 859cb61... Merge pull request #352 from ruvu/feature/diagnostics
Making Intel ROS realsense
[sudo] password for nvidia: 
executing command [apt-get install -y ros-kinetic-librealsense2]
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package ros-kinetic-librealsense2
ERROR: the following rosdeps failed to install
  apt: command [apt-get install -y ros-kinetic-librealsense2] failed
./installRealSenseROS.sh: line 88: syntax error: unexpected end of file

Before doing this, i have installed librealsense and ROS buildLibrealsense2TX: https://github.com/jetsonhacks/buildLibrealsense2TX ROS: https://github.com/jetsonhacks/installROSTX2

so anyone know how to fix it ??

jetsonhacks commented 5 years ago

When did you install ROS? They changed the GPG key recently, which kind of upsets everything.

jerryt3204 commented 5 years ago

Thanks for your reply @jetsonhacks I know that ROS GPG issue, and i installed ROS on my TX2 yesterday.

HeinzBenjamin commented 5 years ago

Hello there, I got the same problem on a Jetson TX1. Is there a workaround? Cheers

HeinzBenjamin commented 5 years ago

Hi again,

first of all thanks for the great scripts and tutorials on Youtube @jetsonhacks ! I ran into the same issue described above but with a Jetson TX1 flashed with Jetpack 3.3

For anyone with the same problem, here's how I made it work: I found @jerryt3204 's other thread on the issue here: https://github.com/IntelRealSense/librealsense/issues/4295

But that didn't work out of the box because of the newer Jetpack version and because building realsense-ros from source expects a newer version of librealsense. So the steps are (following the YT tutorial with some adaptions):

mkdir jetsonhacks
cd jetsonhacks
git clone https://github.com/jetsonhacks/buildLibrealsense2TX
cd buildLibrealsense2TX
nano buildPatchedKernel.sh

In this file, in the top there is LIBREALSENSE_VERSION=v2.13.0 change that to LIBREALSENSE_VERION=v.2.24.0

Furthermore if you go down, the script checks for the L4T version

....
if [ $JETSON_BOARD == "TX1" ] ; then 
 L4TTarget="28.2"
 if [ $JETSON_L4T = "28.2" ] ; then
    KERNEL_BUILD_VERSION=v1.0-L4T28.2
 ....

change JETSON_L4T = "28.2" to JETSON_L4T = "28.2.0"

otherwise the script will throw an error as it expects Jetpack versions 3.2 or lower. Safe, close and run the file with

./buildPatchedKernel.sh

then open and modify the second script:

nano ./installLibrealsense.sh

also change the LIBREALSENSE_VERSION from v2.13.0 to v2.24.0 safe, close, run the script with

./installLibrealsense.sh

Then install ROS normally with the jetsonhacks script:

git clone https://github.com/jetsonhacks/installROSTX1
cd installROSTX1
./installROS.sh -p ros-kinetic-desktop
./setupCatkinWorkspace.sh
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

Last, you'll have to clone realsense-ros, install its dependencies and then install the package itself

cd ~/catkin_ws/src
rosdep update
git clone https://github.com/IntelRealSense/realsense-ros
cd ..
sudo rosdep -y install --from-paths src --ignore-src --rosdistro kinetic
source ~/.bashrc
catkin_make install

Then you should be able to run the example launch file roslaunch realsense2_camera rs_camera.launch

Thanks again @jetsonhacks Cheers

jetsonhacks commented 5 years ago

Excellent work! It's unclear on how to maintain this. With all of the changes between the Jetson and librealsense releases, everything seems to change (and break) every few weeks.

HeinzBenjamin commented 5 years ago

Totally understandable! Your scripts are super useful though. Thanks

Weixin-Ma commented 5 years ago

Hello guys,

At the first, I want to thank the solutions provided by @jetsonhacks and @HeinzBenjamin . Thanks for your excellent work!

OS: Ubuntu 16.04 platform: Nvidia Jetson TX2 with Jetpack3.2.1 camera: realsense d435 And I have ran the camera Realsense D435 successfully abut 3 weeks ago with the solution provided by HeinzBenjamin. But I reset the TX2 few days ago and I tried to run the same camera on TX2. And I found that the official of Realsense just updated the new version :Realsense SDK v2.25.0. So I fork the old version v2.24.0 to my github and change the website in the buildPatchedKernel.sh as well as installLibrealsense.sh. But when I run the command: "./installLibrealsense.sh" there were some problems as follow :

`[ 93%] Building CXX object tools/depth-quality/CMakeFiles/rs-depth-quality.dir///common/fw-update-helper.cpp.o /home/nvidia/librealsense/common/fw-update-helper.cpp:15:37: fatal error: common/fw/D4XX_FW_Image.h: No such file or directory compilation terminated. tools/depth-quality/CMakeFiles/rs-depth-quality.dir/build.make:166: recipe for target 'tools/depth-quality/CMakeFiles/rs-depth-quality.dir///common/fw-update-helper.cpp.o' failed make[2]: [tools/depth-quality/CMakeFiles/rs-depth-quality.dir///common/fw-update-helper.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... CMakeFiles/Makefile2:2223: recipe for target 'tools/depth-quality/CMakeFiles/rs-depth-quality.dir/all' failed make[1]: [tools/depth-quality/CMakeFiles/rs-depth-quality.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: [all] Error 2

real 12m17.890s user 34m0.808s sys 1m28.532s librealsense did not build`

Does anyone know how to fix this problem? Thank you Weixin

jetsonhacks commented 5 years ago

@Weixin-Ma You probably have an issue downloading the RealSense firmware. Intel now includes the firmware in librealsense2, but the firmware itself is stored in a different location than Github. Check your CMake output to see if it is able to connect to the server with the firmware.

Weixin-Ma commented 5 years ago

Thank you for your reply! @jetsonhacks Can I just download the firmware by myself? I found a method to update the firwmare of Realsense as follow: https://www.intel.com/content/dam/support/us/en/documents/emerging-technologies/intel-realsense-technology/Linux-RealSense-D400-DFU-Guide.pdf Or may just use cmake to build from source?

Thank you Weixin