Realsense Camera Issues
See original GitHub issueHi,
When the most current locobot_install_all.sh script (using ‘full’ and python 3 for the arguments) installs the librealsense2-dkms version, I get an error message essentially saying that librealsense2-dkms 1.3.4-0ubuntu1:librealsense2-dkms kernel module failed to build’. Currently, my kernel version is 4.15.0-96-generic (latest to date), and I’m working with Ubuntu 16.04.6. As a result, the realsense node is not working.
Is it possible that since you are installing librealsense 2.18.1 (which is outdated by more than a year), it is not able to build correctly on my kernel? I noticed that if I install the latest librealsense2 packages and the realsense_ros node as outlined at https://github.com/IntelRealSense/realsense-ros, that everything works as it should. I also noticed that version 2.18.1 is recommended to work with an outdated realsense firmware version (5.10.03). As Intel makes these cameras, they are putting the latest firmware on them by default (currently 5.12.03).
Would it be possible to update the installation script such that it always builds the latest stable version of librealsense and the realsense ros node?
Additionally, I noticed that when the ‘rosrun orb_slam2_ros gen_cfg.py’ command is run in the installation script, it always fails saying that there is no ‘rs_camera.launch’ in realsense2_camera, and that that package doesn’t even exist. After doing some debugging, I realized this issue was due to improper overlaying of catkin workspaces in the script.
In any event, I created a modified installation script that fixes all of the above issues which is attached below (note that in the script, I’m installing the pyrobot repo from here, instead of the facebook one. The version over at Interbotix contains a modified URDF that accounts for the discrepancies between the original Locobot version created at CMU and the one being mass produced by Trossen Robotics.
locobot_install_all_modified.sh.zip
Also note that when running the second half of the camera calibration procedure, I get an error originating from line 66 in the solve_for_calibration_params.py script saying ‘UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0: invalid start byte.’ I was able to fix this issue by editing that line to read…
tt = pickle.load(open(os.path.join(dir_name, "states.pkl"), 'rb'))
I believe the above issue has to do with the pickle.load function operating slightly different between Python 3 and lower versions. But I know that the above code fixes the issue when working in Python 3.
Thanks
Issue Analytics
- State:
- Created 3 years ago
- Comments:9 (9 by maintainers)
Cool. We’ll still need to have it in the main.launch file just the one time though since I specify a different arm sleep pose in the locobot_controller.cpp file. Anyway, I’ll go ahead and create a PR for this soon.
Hi @swinterbotix , since the PR has been fully merged onto master now, I am closing this issue. Feel free to re-open it again if you have further questions. Thanks for working on this!