rt-net / jetson_nano_cuda_csi_cam_ros Goto Github PK
View Code? Open in Web Editor NEWROS driver of Jetson Nano DevKit B01 + dual CSI camera
License: Apache License 2.0
ROS driver of Jetson Nano DevKit B01 + dual CSI camera
License: Apache License 2.0
jetson-utilsのmake中にエラーが発生しました。
fatal error: GL/glew.h: No such file or directory
git clone https://github.com/dusty-nv/jetson-utils.git
mkdir jetson-utils/build
cd jetson-utils/build
cmake ..
make
errorなくmakeが終了する
In file included from /home/jetbot/repos/jetson-utils/cuda/cudaPointCloud.cpp:26:0:
/home/jetbot/repos/jetson-utils/build/aarch64/include/jetson-utils/glUtility.h:27:10: fatal error: GL/glew.h: No such file or directory
#include <GL/glew.h>
^~~~~~~~~~~
compilation terminated.
CMakeFiles/jetson-utils.dir/build.make:4188: recipe for target 'CMakeFiles/jetson-utils.dir/cuda/cudaPointCloud.cpp.o' failed
make[2]: *** [CMakeFiles/jetson-utils.dir/cuda/cudaPointCloud.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/jetson-utils.dir/all' failed
make[1]: *** [CMakeFiles/jetson-utils.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
I used your project https://github.com/rt-net/jetson_nano_csi_cam_ros before and can change image brightness by adding videobalance
to gscam config. But that project gives a low framerate so I tried this one.
It satisfied my needs of high fps, but I have no idea where to change saturation, contrast or brightness. Is there any method to achieve this or could you add some new params to adjust output image ?
Thanks very much.
roslaunch jetson_nano_cuda_csi_cam jetson_csi_cam.launch
を実行すると[csi_cam_0-2] process has died [pid 19784, exit code -11, cmd
で映像配信が止まってしまう場合があります。
launch/jetson_csi_cam.launch
を以下のように編集し、
- <node pkg="jetson_nano_cuda_csi_cam" type="video_stream" name="$(arg cam_name)">
+ <node pkg="jetson_nano_cuda_csi_cam" type="video_stream" name="$(arg cam_name)" output="screen">
roslaunch jetson_nano_cuda_csi_cam jetson_csi_cam.launch
を実行すると以下のエラーを確認できました。
[gstreamer] gstBufferManager -- recieved first frame, codec=raw format=nv12 width=640 height=480 size=1008
[gstreamer] gstBufferManager -- recieved NVMM memory
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer message async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
RingBuffer -- allocated 4 buffers (921600 bytes each, 3686400 bytes total)
[ INFO] [1639998377.832689572]: allocated CUDA memory for 640x480 image conversion
nvbuf_utils: dmabuf_fd 1030 mapped entry NOT found
[csi_cam_0-2] process has died [pid 19784, exit code -11, cmd
dusty-nv/jetson-inference#1263
上記が関連しそうです。
$ roslaunch jetson_nano_cuda_csi_cam jetson_csi_cam.launch
... logging to /home/jetson/.ros/log/d8d415fa-6184-11ec-a166-d0374571772b/roslaunch-jnmouse-19747.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://192.168.100.4:36613/
SUMMARY
========
PARAMETERS
* /csi_cam_0/camera_id: 0
* /csi_cam_0/camera_info_url: package://jetson_...
* /csi_cam_0/flip_method: rotate-180
* /csi_cam_0/image_height: 480
* /csi_cam_0/image_width: 640
* /csi_cam_0/loop: 0
* /csi_cam_0/resource: csi://0
* /csi_cam_0/target_fps: 20
* /rosdistro: melodic
* /rosversion: 1.14.11
NODES
/
csi_cam_0 (jetson_nano_cuda_csi_cam/video_stream)
auto-starting new master
process[master]: started with pid [19761]
ROS_MASTER_URI=http://192.168.100.4:11311
setting /run_id to d8d415fa-6184-11ec-a166-d0374571772b
process[rosout-1]: started with pid [19778]
started core service [/rosout]
process[csi_cam_0-2]: started with pid [19784]
[ INFO] [1639998376.575639566]: opening video source: csi://0
[gstreamer] initialized gstreamer, version 1.14.5.0
[gstreamer] gstCamera -- attempting to create device csi://0
[gstreamer] gstCamera pipeline string:
[gstreamer] nvarguscamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=(int)640, height=(int)480, framerate=20/1, format=(string)NV12 ! nvvidconv flip-method=0 ! video/x-raw(memory:NVMM) ! appsink name=mysink
[gstreamer] gstCamera successfully created device csi://0
[video] created gstCamera from csi://0
------------------------------------------------
gstCamera video options:
------------------------------------------------
-- URI: csi://0
- protocol: csi
- location: 0
-- deviceType: csi
-- ioType: input
-- codec: raw
-- width: 640
-- height: 480
-- frameRate: 20.000000
-- bitRate: 0
-- numBuffers: 4
-- zeroCopy: true
-- flipMethod: none
-- loop: 0
-- rtspLatency 2000
------------------------------------------------
[gstreamer] opening gstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> nvvconv0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvvconv0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> nvarguscamerasrc0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvvconv0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer message stream-start ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> nvarguscamerasrc0
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3264 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 5
Output Stream W = 1280 H = 720
seconds to Run = 0
Frame Rate = 120.000005
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[gstreamer] gstCamera -- onPreroll
[gstreamer] gstBufferManager recieve caps: video/x-raw(memory:NVMM), width=(int)640, height=(int)480, format=(string)NV12, framerate=(fraction)20/1
[gstreamer] gstBufferManager -- recieved first frame, codec=raw format=nv12 width=640 height=480 size=1008
[gstreamer] gstBufferManager -- recieved NVMM memory
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer message async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
RingBuffer -- allocated 4 buffers (921600 bytes each, 3686400 bytes total)
[ INFO] [1639998377.832689572]: allocated CUDA memory for 640x480 image conversion
nvbuf_utils: dmabuf_fd 1030 mapped entry NOT found
[csi_cam_0-2] process has died [pid 19784, exit code -11, cmd /home/jetson/catkin_ws/devel/lib/jetson_nano_cuda_csi_cam/video_stream __name:=csi_cam_0 __log:=/home/jetson/.ros/log/d8d415fa-6184-11ec-a166-d0374571772b/csi_cam_0-2.log].
log file: /home/jetson/.ros/log/d8d415fa-6184-11ec-a166-d0374571772b/csi_cam_0-2*.log
^C[rosout-1] killing on exit
^C[master] killing on exit
^Cshutting down processing monitor...
... shutting down processing monitor complete
done
^C
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.