国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Apollo學(xué)習(xí)筆記】—— 相機(jī)仿真

這篇具有很好參考價(jià)值的文章主要介紹了【Apollo學(xué)習(xí)筆記】—— 相機(jī)仿真。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

【Apollo學(xué)習(xí)筆記】—— 相機(jī)仿真,Apollo,學(xué)習(xí),筆記,apollo

前言

本文是對(duì)Cyber RT的學(xué)習(xí)記錄,文章可能存在不嚴(yán)謹(jǐn)、不完善、有缺漏的部分,還請(qǐng)大家多多指出。這一章的內(nèi)容還是比較簡(jiǎn)單的,直接上代碼與結(jié)果。
課程地址: https://apollo.baidu.com/community/course/outline/329?activeId=10200
更多還請(qǐng)參考:
[1] Apollo星火計(jì)劃學(xué)習(xí)筆記——第三講(Apollo Cyber RT 模塊詳解與實(shí)戰(zhàn))https://blog.csdn.net/sinat_52032317/article/details/126924375
[2] 【Apollo星火計(jì)劃】—— Cyber基礎(chǔ)概念|通信機(jī)制
https://blog.csdn.net/sinat_52032317/article/details/131878429?spm=1001.2014.3001.5501
[3] 第一章:Cyber RT基礎(chǔ)入門與實(shí)踐https://apollo.baidu.com/community/article/1093
[4] 第二章:Cyber RT通信機(jī)制解析與實(shí)踐https://apollo.baidu.com/community/article/1094
[5] 第三章:Component組件認(rèn)知與實(shí)踐https://apollo.baidu.com/community/article/1103
[6] 第四章:Cyber RT之調(diào)度簡(jiǎn)介與實(shí)踐https://apollo.baidu.com/community/article/1106
[7] 第五章:使用Cyber RT進(jìn)行相機(jī)仿真https://apollo.baidu.com/community/article/1105

相關(guān)代碼整理

鏈接: https://pan.baidu.com/s/1ENgXE4yQ1v4nJRjcfZtd8w?pwd=ht4c 提取碼: ht4c

測(cè)試實(shí)踐

文件目錄

參考以下文件目錄進(jìn)行

camera_demo
|-- driver
    |-- camera_sim
    |   |-- BUILD
    |   |-- camera_driver.cc
|--BUILD
|--camera_demo.BUILD
|--cyberfile.xml

包管理BUILD文件以及cyberfile.xml文件

參考之前的文章https://blog.csdn.net/sinat_52032317/article/details/131878429?spm=1001.2014.3001.5501

源程序

camera_driver.cc

/*  
    需求: 發(fā)布攝像頭仿真數(shù)據(jù)。
    實(shí)現(xiàn):
        1.頭文件;
        2.初始化 cyber 框架;
        3.創(chuàng)建節(jié)點(diǎn);
        4.創(chuàng)建發(fā)布者;
        5.組織數(shù)據(jù)并發(fā)布;
        6.等待關(guān)閉。
*/
#include "cyber/cyber.h"
#include "modules/common_msgs/sensor_msgs/sensor_image.pb.h"

using apollo::drivers::Image;

int main(int argc, char *argv[])
{
    apollo::cyber::Init(argv[0]);

    // 3.創(chuàng)建節(jié)點(diǎn);
    auto talker_node = apollo::cyber::CreateNode("camear_sim_node");
    // 4.創(chuàng)建發(fā)布者;
    auto talker = talker_node->CreateWriter<Image>("/image_sim");
    // 5.組織數(shù)據(jù)并發(fā)布;
    
    size_t width = 500;
    size_t height = 350;

    size_t cell = 50; // 單元格寬度
    size_t step = width * 3; // 一行像素?cái)?shù)

    char black = 200;
    char white = 10;
    
    apollo::cyber::Rate rate(10.0);
    while (apollo::cyber::OK()){
        // 組織數(shù)據(jù)
        auto msg = std::make_shared<Image>();
        
        msg->set_frame_id("camera");
        auto now = apollo::cyber::Time::Now();
        msg->set_measurement_time(now.ToSecond());

        msg->set_width(width);
        msg->set_height(height);

        msg->set_encoding("rgb8");
        msg->set_step(msg->width() * 3); // 一圖片行的元素個(gè)數(shù)
        
        size_t length = msg->width() * msg->height() * 3;
        char value[length]; 
        for (size_t i = 0; i < height; i++){ // 遍歷像素行
            for (size_t j = 0; j < step; j++){ // 遍歷列
                // 當(dāng)前字節(jié)索引 value[i * step + j]
                int index = i * step + j;
                // 行賦值
                if (i / cell % 2 == 0){ // 偶數(shù)行
                    value[index] = black;
                } 
                else {
                    value[index] = white;
                }
                // 列賦值
                // 偶數(shù)列,無(wú)需更改
                if (j / 3 / cell % 2 == 1) {// 奇數(shù)列,取反
                    value[index] = value[index] == white ? black : white;
                }
            }
        }
        msg->set_data(value);
        //發(fā)布
        talker->Write(msg);
        rate.Sleep();
    }
    // 6.等待關(guān)閉。
    apollo::cyber::WaitForShutdown();
    return 0;
}

BUILD

load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
load("http://tools/install:install.bzl", "install", "install_src_files")
load("http://tools:cpplint.bzl", "cpplint")
package(default_visibility = ["http://visibility:public"])

cc_binary(
    name = "camera_driver",
    srcs = ["camera_driver.cc"],
    deps = ["http://cyber",
            "http://modules/common_msgs/sensor_msgs:sensor_image_cc_proto",
            ], 
)

install(
    name = "install",
    runtime_dest = "camera_demo/bin",
    targets = [
    ":camera_driver"
        ],
)

install_src_files(
    name = "install_src",
    src_dir = ["."],
    dest = "camera_demo/src/cyberatest",
    filter = "*",
)

記得修改包管理BUILD中的deps

運(yùn)行

 ./bazel-bin/test/test_camera/camera_driver

另開(kāi)一個(gè)終端打開(kāi)DreamView

aem bootstrap start

選定合適的camera channel

結(jié)果

【Apollo學(xué)習(xí)筆記】—— 相機(jī)仿真,Apollo,學(xué)習(xí),筆記,apollo

其他參考

apollo相機(jī)驅(qū)動(dòng)在modules/drivers/camera文件目錄下,需要設(shè)置好相應(yīng)的配置文件,才能進(jìn)行正常驅(qū)動(dòng)。下面貼出文檔中的README部分

Camera

camera包是基于V4L USB相機(jī)設(shè)備實(shí)現(xiàn)封裝,提供圖像采集及發(fā)布的功能。本驅(qū)動(dòng)中使用了一臺(tái)長(zhǎng)焦相機(jī)和一臺(tái)短焦相機(jī)。

Output channels

  • /apollo/sensor/camera/front_12mm/image
  • /apollo/sensor/camera/front_6mm/image
  • /apollo/sensor/camera/front_fisheye/image
  • /apollo/sensor/camera/left_fisheye/image
  • /apollo/sensor/camera/right_fisheye/image
  • /apollo/sensor/camera/rear_6mm/image

啟動(dòng)camera驅(qū)動(dòng)

請(qǐng)先修改并確認(rèn)launch文件中的參數(shù)與實(shí)際車輛相對(duì)應(yīng)

# in docker
bash /apollo/scripts/camera.sh
# or
cd /apollo && cyber_launch start modules/drivers/camera/launch/camera.launch

啟動(dòng)camera + video compression驅(qū)動(dòng)

請(qǐng)先修改并確認(rèn)launch文件中的參數(shù)與實(shí)際車輛相對(duì)應(yīng)

# in docker
bash /apollo/scripts/camera_and_video.sh
# or
cd /apollo && cyber_launch start modules/drivers/camera/launch/camera_and_video.launch

### 常見(jiàn)問(wèn)題
1. 如果出現(xiàn)報(bào)錯(cuò)“sh: 1: v4l2-ctl: not found”,需要安裝v4l2庫(kù)。

```bash
sudo apt-get install v4l-utils

camera 驅(qū)動(dòng)解釋可以參考這篇博客Apollo camera驅(qū)動(dòng)分析(二十九)
實(shí)踐例子可參考自動(dòng)駕駛開(kāi)發(fā)者說(shuō)|框架|如何在apollo中添加自己的USB攝像頭?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-638227.html

到了這里,關(guān)于【Apollo學(xué)習(xí)筆記】—— 相機(jī)仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Apollo星火計(jì)劃學(xué)習(xí)筆記——Apollo決策規(guī)劃技術(shù)詳解及實(shí)現(xiàn)(以交通燈場(chǎng)景檢測(cè)為例)

    Apollo星火計(jì)劃學(xué)習(xí)筆記——Apollo決策規(guī)劃技術(shù)詳解及實(shí)現(xiàn)(以交通燈場(chǎng)景檢測(cè)為例)

    Apollo星火計(jì)劃課程鏈接如下 星火計(jì)劃2.0基礎(chǔ)課:https://apollo.baidu.com/community/online-course/2 星火計(jì)劃2.0專項(xiàng)課:https://apollo.baidu.com/community/online-course/12 星火計(jì)劃學(xué)習(xí)筆記——第七講自動(dòng)駕駛規(guī)劃技術(shù)原理1 ●目的 ○ 保障無(wú)人車的行車安全并且遵守交規(guī) ○ 為路徑和速度的平滑優(yōu)

    2024年02月07日
    瀏覽(52)
  • Apollo定速巡航場(chǎng)景仿真調(diào)試實(shí)驗(yàn)

    Apollo定速巡航場(chǎng)景仿真調(diào)試實(shí)驗(yàn)

    并啟動(dòng)仿真換進(jìn) 啟動(dòng)命令: bash scripts/bootstrap_neo.sh 點(diǎn)這里進(jìn)入 選擇如下 記得先選好文件夾 修改保存后記得重啟planing模塊,就是點(diǎn)關(guān)閉一下,再點(diǎn)開(kāi)就行了

    2024年02月11日
    瀏覽(37)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月11日
    瀏覽(18)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月12日
    瀏覽(21)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_ASSESSMENT_DECIDER

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_ASSESSMENT_DECIDER

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月11日
    瀏覽(20)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMIZER

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMIZER

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月10日
    瀏覽(22)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之RULE_BASED_STOP_DECIDER

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之RULE_BASED_STOP_DECIDER

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月10日
    瀏覽(23)
  • Apollo規(guī)劃決策算法仿真調(diào)試(5):動(dòng)態(tài)障礙物繞行

    Apollo規(guī)劃決策算法仿真調(diào)試(5):動(dòng)態(tài)障礙物繞行

    Apollo (阿波羅)是一個(gè)開(kāi)放的、完整的、安全的平臺(tái),將幫助汽車行業(yè)及自動(dòng)駕駛領(lǐng)域的合作伙伴結(jié)合車輛和硬件系統(tǒng),快速搭建一套屬于自己的自動(dòng)駕駛系統(tǒng)。Apollo 自動(dòng)駕駛開(kāi)放平臺(tái)為開(kāi)發(fā)者提供了豐富的車輛、硬件選擇,強(qiáng)大的環(huán)境感知、高精定位、路徑規(guī)劃、車輛控制等

    2024年02月09日
    瀏覽(53)
  • 【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(二)

    【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER(二)

    1.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之LANE_CHANGE_DECIDER 2.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_REUSE_DECIDER 3.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BORROW_DECIDER 4.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PATH_BOUNDS_DECIDER 5.【Apollo學(xué)習(xí)筆記】——規(guī)劃模塊TASK之PIECEWISE_JERK_PATH_OPTIMI

    2024年02月09日
    瀏覽(23)
  • 【Apollo】Apollo-ros版本架構(gòu)學(xué)習(xí)與源碼分析

    【Apollo】Apollo-ros版本架構(gòu)學(xué)習(xí)與源碼分析

    ?? ★,° :.☆( ̄▽ ̄)/$: .°★ ?? 這篇文章主要介紹Apollo-ros版本架構(gòu)學(xué)習(xí)與源碼分析。 無(wú)專精則不能成,無(wú)涉獵則不能通。——梁?jiǎn)⒊?歡迎來(lái)到我的博客,一起學(xué)習(xí),共同進(jìn)步。 喜歡的朋友可以關(guān)注一下,下次更新不迷路?? Apollo1.0源碼注釋項(xiàng)目Github地址: https://github.com

    2024年02月13日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包