我正在尝试配置RaspberryPi2以将视频数据从相机模块录制到rosbag。为了让相机使用ROS,我使用了我在这里找到的代码:https://github.com/fpasteau/raspicam_node。
这很好用,但我在将数据捕获到rosbag时遇到问题。当以高帧率在原始模式下捕捉时,它会平滑捕捉几秒钟,然后冻结几秒钟,然后平稳捕捉几秒钟,然后冻结,......
例如,我尝试使用640x480 @ 30FPS捕获文件,这就是rosbag info
产生的结果:
duration: 2:51s (171s)
size: 2.9 GB
messages: 5049
compression: none [2504/2504 chunks]
types: rosgraph_msgs/Log [acffd30cd6b6de30f120938c17c593fb]
sensor_msgs/CameraInfo [c9a58c1b0b154e0e6da7578cb991d214]
sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
topics: /camera/camera_info 2505 msgs : sensor_msgs/CameraInfo
/camera/image 2504 msgs : sensor_msgs/Image
/rosout 22 msgs : rosgraph_msgs/Log (2 connections)
/rosout_agg 18 msgs : rosgraph_msgs/Log
因此,如果我们有171秒的视频,在90FPS,那应该给15390个消息,我们只有2504,大约是14FPS。该文件本身大小为2.9GB。这意味着它的平均写入速度约为17.5MB / s。最终我找到了一个测试SD卡写入速度的命令(dd if=/dev/zero of=~/test.tmp bs=500K count=1024
),这说明我的写入速度平均约为19MB / s。
所以我的问题是:
答案 0 :(得分:0)
看起来bgra8
以sensor_msgs/CompressedImage
编码(raspicam_raw_node.cpp#L266)发布图像,因此我们需要存储4 * 640 * 480 * 30 Bytes / second = 36.86 MB / s。
但是,〜18 MB / s似乎几乎是Raspberry 2(microSD card performance comparison)的限制。
让rosbag存储/camera/image/compressed
主题中的<base_topic>/compressed/jpeg_quality
而不是尝试保存所有原始数据。您可以调整compressed_image_transport
参数(请参阅function wpse_143641_homebox_shortcode( $atts ) {
?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<div class="container blog">
<div class="row">
<div class="col-md-8 col-md-push-2">
<?php
global $wp_query;
$temp = $wp_query;
if ( get_query_var('paged') ) { $paged = get_query_var('paged'); } else if ( get_query_var('page') ) {$paged = get_query_var('page'); } else {$paged = 1; }
$wp_query = new WP_Query(); $wp_query->query('posts_per_page=6' . '&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
<div class="entry-meta">
<?php //neue_posted_on(); ?> by <a href="<?php the_permalink(); ?>"> <?php the_author(); ?></a>
</div><!-- .entry-meta -->
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Previous Posts'); ?></div>
<div class="next"><?php previous_posts_link('Newer Posts »'); ?></div>
</nav>
<?php $wp_query = null; $wp_query = $temp; ?>
</div> <!-- /.col-md-8 -->
</div> <!-- /.row -->
<?php wp_reset_postdata(); ?>
</div> <!-- /.container -->
</main><!-- #main -->
</div><!-- #primary -->
<?php
}
add_shortcode( 'homebox', 'wpse_143641_homebox_shortcode' );
的{{3}}),但默认值为80,则压缩率应约为30:1,即1.23 MB / s。>
Raspberry应该能够轻松处理此问题。考虑到微型Raspberry相机的图像质量,您甚至可能不会感觉到质量上的任何差异。