原创 eband_local_planner學習2
在move_base中CONTROLLING中調用了 tc_->computeVelocityCommands(cmd_vel) bool EBandPlannerROS::computeVelocityCommands(geom
原创 ROS tf知識整理
發佈: include <tf/transform_broadcaster.h> 定義發佈者 static tf::TransformBroadcaster br; 定義轉換 tf::T
原创 ROS Navigation-----dwa_planner_ros類
類的成員變量: private: tf::TransformListener* tf_; ///< @brief Used for transforming po
原创 ROS Navigation-----base_local_planner類
類成員函數: public: 1. virtual bool computeVelocityCommands(geometry_msgs::Twist& cmd_vel) = 0; /**
原创 collvoid代碼記錄(1)
系統運行流程(ORCA) 獲取其他機器人狀態信息 getNeighbors() 獲取障礙物信息,並計算約束半平面 computeObstacles() 針對非完整機器人,加入非完整性約束 addNHCons
原创 shell學習記錄1
shell(1) 參考鏈接: http://c.biancheng.net/view/743.html C語言中文網 讀取: read echo "What is your name?" read PERSON echo "Hell
原创 amcl 代碼研究(5)—— AmclNode::laserReceived
當接收到激光數據時調用該函數 void AmclNode::laserReceived(const sensor_msgs::LaserScanConstPtr& laser_scan) 判斷是否frame_to_laser_中是否有
原创 amcl 代碼研究(6)——pf_kdtree(2)
上篇博客裏的函數中都是對KD_Tree內部函數的調用,這篇具體分析KD_Tree。 //判斷key值是否相等 Compare keys to see if they are equal // Compare keys to see
原创 amcl 代碼研究(6)——pf(2)
//新建一個濾波器 // Create a new filter pf_t *pf_alloc(int min_samples, int max_samples, double alpha_slow, do
原创 boost C++庫學習(1)-- smart pointers
1. 作用域指針boost::scoped_ptr 一個作用域指針boost::scoped_ptr.獨佔一個動態分配的對象。一個作用域指針不能傳遞它所包含的對象的所有權到另一個作用域指針。 #include <boos
原创 tf::MessageFilter
#include "ros/ros.h" #include "tf/transform_listener.h" #include "tf/message_filter.h" #include "message_filters/subscr
原创 amcl 代碼研究(6)——pf_kdtree(1)
amcl中採用了粒子濾波方法,其中的數據結構爲kd-tree,現分析如下: typedef struct { double v[3]; } pf_vector_t; //向量// The basic matrix type
原创 amcl 代碼研究(6)——pf(1)
前面分析了KD_Tree, 現在研究粒子濾波pf: //一個粒子, 表示位姿和權重 // Information for a single sample typedef struct { // Pose represented by
原创 tf Quaternion
class Quaternion : public QuadWord { public: Quaternion() {} Quaternion(const tfScalar& x, const tfScalar& y,
原创 tf Vector3
class Vector3 { public: tfScalar m_floats[4]; public: TFSIMD_FORCE_INLINE Vector3(const tfScalar& x