原创 Cannot load message class for .... Are your messages built?

1.新建msg編譯成功,確定在<工作空間>/devel/include路徑下生成對應的.h文件! 2.可以rostopic list 和rostopic type 查詢到對應話題的信息; 3.rostopic echo和rostopic 

原创 聯合體(union)的使用方法及其本質

1.聯合體union的基本特性——和struct的同與不同 union,中文名“聯合體、共用體”,在某種程度上類似結構體struct的一種數據結構,共用體(union)和結構體(struct)同樣可以包含很多種數據類型和變量。 不過

原创 ROS C++ tf庫具有哪些功能?

C++中給我們提供了很多TF的數據類型,如下表: 名稱 數據類型 向量 tf::Vector3 點 tf::Point 四元數 tf::Quaternion 3*3矩陣(旋轉矩陣) tf::Matrix3x3 位姿 tf::pose 變換

原创 ROS動作actionlib中ActionServer和ActionClient的狀態機

本文件是講解actionlib的內部運作機制,對想進一步應用actionlib的用戶有幫助,特別是簡單的例程已無法滿足需求的用戶! Part1:Action Service   goal狀態的轉變主要由server端程序發起,可以使用下

原创 ROS中爲什麼用四元數描述運動控制

旋轉矩陣用9個量來描述3自由度的旋轉,具有冗餘性; 歐拉角雖然用3個量來描述3自由度的旋轉,但是具有萬向鎖的問題, 因此我們選擇用四元數,(ROS當中描述轉向的都是採用的四元數)。一個四元數擁有一個實部和三個虛部組成。          

原创 角蜂鳥AI視覺套件1:開箱和開發環境搭建

                                                                  角蜂鳥開箱和開發環境搭建 1.開箱展示   圖1 材料清單: 1.套件包含亞克力外殼、定製1080P攝

原创 STM32芯片選型

      很多初學者使用的的是現成的開發板,芯片型號已經選好!但是實際工程項目時,可能需要涉及到選型的問題了,比如是否低功耗,是否支持視頻流等等,然後是選用多少PIn引腳,最後多少FLASH和ROM等;        首先根據特殊功能

原创 [每日一學]C++ 多線程

多線程是多任務處理的一種特殊形式,多任務處理允許讓電腦同時運行兩個或兩個以上的程序。一般情況下,兩種類型的多任務處理:基於進程和基於線程。 基於進程的多任務處理是程序的併發執行。 基於線程的多任務處理是同一程序的片段的併發執行。 那麼線程

原创 HEX文件和BIN文件格式的區別

HEX文件和BIN文件是我們經常碰到的2種文件格式。下面簡單介紹一下這2種文件格式的區別: 1 - HEX文件是包括地址信息的,而BIN文件格式只包括了數據本身          在燒寫或下載HEX文件的時候,一般都不需要用戶指定地

原创 延長FLASH和EEPROM芯片寫入次數的小方法

     開發電子產品時,常常需要斷電後保存某些數據,這就需要使用 FLASH或EEPROM芯片,這兩種芯片,可擦除的次數是有限制的,通常FLASH爲10萬次,EEPROM要多一點,爲100萬甚至1000萬次。 FLASH的擦除不能單

原创 STM32單片機中FLASH空間的分配之bootloader

根據程序運行流程: 正常的程序啓動流程:從FLASH啓動時,首先從閃存的物理地址入口0x08000000進入,然後是復位中斷跳轉到復位中斷服務程序;復位中斷服務程序執行完成後,再跳轉到main函數入口,main函數一般爲死循環;當外部中斷

原创 SPI實例之FLASH芯的使用;

本實例旨在梳理W25Q128BV基本使用流程,不是涵蓋其全功能,也不針對任何平臺,具有通用性! 大家都知道芯片數據手冊太多且太繁瑣,不涉及特殊需求時而我們實際使用的僅僅是其中很小的一部分功能; 現在以W25Q128BV爲例進行分析,可推廣