原创 ros機器人路徑遠離障礙物的方法

ros機器人路徑遠離障礙物的方法 A星或dijkstra規劃的路徑會貼着障礙物,如果膨脹半徑設置過小機器人在跟蹤路徑運動時會碰到障礙物,特別是在轉彎的時候。 這裏提供一種路徑優化的方法讓路徑與膨脹層保持一定距離。 步驟: 1、遍歷

原创 縮小矩形後的座標點

縮小一個矩形後的座標點 在一個座標系中給出一個矩形的四個頂點座標,求將這個矩形縮小一定範圍後的座標。 矩形要求:四個定點按順時針或者逆時針排列P0,P1,P2,P3。 具體操作步驟 1、旋轉 以P0爲旋轉點,以P0指向P1向量的角

原创 用turtlebot3和gazebo做仿真

用turtlebot3和gazebo做仿真 環境: 電腦系統:lubuntu16.04 ROS版本:kinetic 準備 在gazebo中創建自己需要的仿真環境並保存,我保存的目錄爲:/home/lhh/.gazebo/worl

原创 ros不同訂閱方式的區別

ros不同訂閱方式的區別 ros話題不同的訂閱方式有一些不同,適合不同的功能需求。 Ros:spin() 和 ros::spinOnce() 區別 ros:spin() 和 ros::spinOnce()爲單線程訂閱方式。 Ros

原创 重置gmapping的方法

重置gmapping的方法 有時候需要讓gmapping重置,通過殺死節點的方式太粗暴,這裏提供一種讓gmapping重置的方法 1、首先編寫一個重置gmapping的服務,通過該服務可以查詢gmapping狀態是否是正在運行,服

原创 rosbag的簡單使用命令

rosbag的簡單使用命令 1、在終端或者sh腳本中啓動數據錄製功能 rosbag record -O subset /turtle1/cmd_vel /turtle1/pose 2、如果在 launch 文件中使用 rosba

原创 安裝ROS,在進行sudo rosdep init報錯,解決方案

安裝ROS,在進行sudo rosdep init報錯,解決方案 錯誤現象 解決方法 修改/etc/hosts 文件 sudo vim /etc/hosts 在底部加上: 151.101.84.133 raw.githubus

原创 ROS服務通信

ROS服務通信 AddTwoInts.srv int64 a int64 b --- int64 sum server.cpp #include "ros/ros.h" #include "learning_communicat

原创 ROS下使用百度語音實現語音交互

ROS下使用百度語音將文字轉爲語音 功能描述:往一個話題裏發佈文字然後讀出改文字 功能包鏈接:https://github.com/DinnerHowe/baidu_speech.git 將該包放到自己的工作空間裏編譯一下。 需要

原创 ROS機器人系統分佈式配置

ROS機器人系統分佈式配置 說明:由兩臺電腦A和B都裝了ROS,且兩臺電腦在同一個局域網內。 A的ip爲:192.168.1.26 B的ip爲:192.168.1.27 現在想讓rosmaster運行在A上。 第一步:配置A。 修

原创 C++實現中值濾波算法

C++實現中值濾波算法 功能:返回中值 double filterData(std::vector<double> &date) { size_t i = 0, j = 0,N_filter = date.size();

原创 啓動roscore報錯: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128),解決方法

啓動roscore報錯: ‘ascii’ codec can’t decode byte 0xe6 in position 13: ordinal not in range(128),解決方法 第一步:保證自己工作空間的路徑全是

原创 一種求多邊形的邊上所有間隔一定距離的點座標方法

一種求多邊形的邊上所有間隔一定距離的點座標方法 給一個任意多邊形,得到每條邊上間隔一定距離所有的點 環境:ros 、c++ 效果圖: 點間隔10cm 代碼如下: geometry_msgs::Polygon 爲多邊形類型。 st

原创 ros計算時間間隔

ros中計算時間間隔 double before_time_//是一個全局變量 //其他代碼 ... ... double now = ros::Time::now().toSec()

原创 ROS CmakeList 例子

ROS CmakeList 例子 cmake_minimum_required(VERSION 2.8.3) project(puppy_clean) ## Compile as C++11, supported in ROS