赞
踩
Map -> odom -> base_footprint -> base_link
odom里程计 odom tf
Gmapping
https://zhuanlan.zhihu.com/p/57566566
需要利用二维雷达和里程计数据进行定位和建图
Hector_slam
不需要里程计数据,只需要激光雷达数据便可以建图,建图效果不如gmapping
无人机一般比较难以获取里程计数据
打滑很严重
cartographer
2016谷歌推出的slam,至少需要激光数据,可接入里程计、imu数据,支持二维和三维建图
其他slam
karto_slam rdbdslam orb_slam rbatslam
https://blog.csdn.net/Night___Raid/article/details/110917284
# cmd_vel_flu Twist
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
回调函数
subscriber读取到数据后就会将它放置与自己的消息队列中,等待回调函数读取
常用MAVROS话题和服务
https://zhuanlan.zhihu.com/p/364872655
#消息名称:mavros/state
#头文件:mavros_msgs/State.h
string mode #当前飞行模式
uint8 system_status #系统状态
#消息名称:mavros/global_position/global
#头文件:sensor_msgs/NavSatFix.h
float64 latitude
float64 longitude
float64 altitude
#消息名称:mavros/local_position/pose
#头文件:geometry_msgs/PoseStamped.h
mavros_pos.pose.position.x
mavros_pos.pose.position.y
mavros_pos.pose.position.z
消息名称:mavros/local_position/velocity
头文件:geometry_msgs/TwistStamped.h
tju@tju:~$ rospack find ego_planner
/home/tju/catkin_ws/src/ego_planner/plan_manage
ros advertise解释
http://www.bubuko.com/infodetail-1167834.html
launch文件基本写法
https://www.cnblogs.com/zjiaxing/p/5542614.html
https://blog.csdn.net/Csdn_Darry/article/details/123616969
single_uav.launch 启动 run_in_xtdrone.launch 并传递目标点位置
run_in_xtdrone.launch 启动 advanced_param_xtdrone.xml并传递各种基本参数
同时启动traj_server节点
advanced_param_xtdrone.xml 接收参数并启动ego_planner_node节点,同时将参数传入ego_planner_node节点(可执行文件)中
fsm/waypoint0_xyz
我的理解 arg在ros launch文件中传递参数
param将配置文件中的参数传递给可执行程序
里程计 Odometry
里程计方法分为五种主要类型,即车轮、惯性、激光、雷达和视觉,里程计为机器人提供实时的位姿信息。
- vins_estimator节点发布
rostopic echo vins_estimator/camera_pose
header:
seq: 2520
stamp:
secs: 1065
nsecs: 920000000
frame_id: "world"
child_frame_id: ''
pose:
pose:
position:
x: -228686.381876
y: 211434.227591
z: -555191.626441
orientation:
x: 0.977557370048
y: -0.0437484369776
z: 0.0862145049815
w: -0.18717564387
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist: //线速度 角速度
twist:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
rostopic echo vins_estimator/odometry
header:
seq: 2369
stamp:
secs: 1014
nsecs: 344000000
frame_id: "world"
child_frame_id: "world"
pose:
pose:
position:
x: -261760.076531
y: 179698.330113
z: -436151.786969
orientation:
x: -0.629877927841
y: 0.456626355737
z: 0.0766013686274
w: 0.623601152653
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist:
twist:
linear:
x: 517.654402467
y: 504.625238758
z: -2095.96428179
angular:
x: 0.0
y: 0.0
z: 0.0
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
rostopic echo vins_estimator/extrinsic
header:
seq: 2898
stamp:
secs: 1188
nsecs: 872000000
frame_id: "world"
child_frame_id: ''
pose:
pose:
position:
x: 0.0
y: 0.12
z: -0.3
orientation:
x: 0.5
y: -0.5
z: 0.5
w: -0.5
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist:
twist:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
rostopic echo tf
transforms:
-
header:
seq: 0
stamp:
secs: 1251
nsecs: 160000000
frame_id: "map"
child_frame_id: "world"
transform:
translation:
x: 7.03125
y: -5.46875
z: 16.75
rotation:
x: -1.04010105126e-05
y: -4.54392284125e-06
z: 1.76578760135e-06
w: 0.999999999934
rostopic echo iris_0/mavros/vision_pose/pose
header:
seq: 5337
stamp:
secs: 243
nsecs: 104000000
frame_id: "world"
pose:
position:
x: 23.7259211461
y: 44.5249759892
z: 2.07687730458
orientation:
x: -0.0187094212641
y: 0.0128923477025
z: 0.7061055551
w: 0.70774196568
rostopic echo tf_static
header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: "base_link"
child_frame_id: "base_link_frd"
transform:
translation:
x: 0.0
y: 0.0
z: 0.0
rotation:
x: 1.0
y: 0.0
z: 0.0
w: 6.12323399574e-17
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。