1 Star 0 Fork 0

gzl2012/exp_biyesheji

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
navdata_update.m 1.44 KB
一键复制 编辑 原始数据 按行查看 历史
gzl2012 提交于 2018-10-22 22:00 . add plot part
function navdata = navdata_update()
global uav_num
global ros_sub_pub_name
navdata = zeros(uav_num,9);% x, y, z, roll, pitch, yaw, vx, vy, vz
%% read the data from ros
for i=1:uav_num
% position: x, y, z in the world coordiante of gazebo world.
p_x = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Position.X;
p_y = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Position.Y;
p_z = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Position.Z;
navdata(i,1) = p_x;
navdata(i,2) = p_y;
navdata(i,3) = - p_z;
% attitude (quaternion): first get quaternion, second transform to euler angle.
q_x = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Orientation.X;
q_y = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Orientation.Y;
q_z = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Orientation.Z;
q_w = ros_sub_pub_name{i}{1}.LatestMessage.Pose.Orientation.W;
euler_RPY = quat2eul([q_x,q_y,q_z,q_w]); % transform to euler angle.
navdata(i,4:6) = euler_RPY;
navdata(i,6) = - navdata(i,6);
% linear velocity: vx vy vz
v_x = ros_sub_pub_name{i}{2}.LatestMessage.Pose.Position.X;
v_y = ros_sub_pub_name{i}{2}.LatestMessage.Pose.Position.Y;
v_z = ros_sub_pub_name{i}{2}.LatestMessage.Pose.Position.Z;
navdata(i,7) = v_x;
navdata(i,8) = v_y;
navdata(i,9) = -v_z;
end
end
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Matlab
1
https://gitee.com/gzl2012/exp_biyesheji.git
git@gitee.com:gzl2012/exp_biyesheji.git
gzl2012
exp_biyesheji
exp_biyesheji
master

搜索帮助