国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化

這篇具有很好參考價值的文章主要介紹了【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本篇文章介紹如何使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,提供了Matlab/Simulink源代碼,以及演示效果圖。

環(huán)境:

MATLAB : R2022b

Ubuntu :20.04 LTS

Windows :Windows 10

ROS :ROS2 Foxy

Python: 3.8.2

Visual Studio :Visual Studio 2019

PX4 :1.13.0

系統(tǒng)架構(gòu)

ROS2的應(yīng)用程序管道非常簡單,這要歸功于本地通信中間件(DDS/RTPS)。microRTPS橋接工具由運行在PX4上的客戶端和運行在計算機(jī)上的服務(wù)端組成,它們進(jìn)行通信以提供uORB和ROS2話題格式之間的雙向數(shù)據(jù)交換和話題轉(zhuǎn)換。使得可以創(chuàng)建直接與PX4的uORB話題接口的ROS2訂閱服務(wù)器或發(fā)布服務(wù)器節(jié)點,其結(jié)構(gòu)如下圖所示。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

ROS 2使用px4_msgs包和px4_ROS_com包來確保使用匹配的話題定義來創(chuàng)建客戶端和服務(wù)端代碼。

px4_msgs包:px4 ROS話題定義,當(dāng)構(gòu)建該項目時會生成相應(yīng)的兼容ROS2節(jié)點的話題類型,以及IDL文件,由fastddsgen用于生成microRTPS代碼。

px4_ros_com包:服務(wù)端發(fā)布者和訂閱者的microRTPS代碼模板,構(gòu)建過程運行一個fastddsgen實例來生成micrortps_agent的代碼,該代碼可編譯為單個可執(zhí)行文件。

這樣在Ubuntu中就生成了一個可以調(diào)用uORB話題接口的ROS2節(jié)點,這個節(jié)點可以和運行在同一局域網(wǎng)下的Matlab/Simulink上的ROS2節(jié)點進(jìn)行通信,以實現(xiàn)PX4&Simulink&Gazebo聯(lián)合仿真。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge

Matlab官方給出了一個示例,該示例演示了如何從具有PX4自動駕駛儀的模擬無人機(jī)接收傳感器讀數(shù)和自動駕駛儀狀態(tài),并發(fā)送控制命令來導(dǎo)航模擬無人機(jī),可以作為參考。

Control a Simulated UAV Using ROS 2 and PX4 Bridge文章來源地址http://www.zghlxwxcb.cn/news/detail-836190.html

可以在Matlab命令行中輸入以下命令打開該例程所在位置。

openExample('uav_ros/ControlASimulatedUAVUsingROS2AndPX4BridgeExample')

運行所需的環(huán)境配置

請確保已經(jīng)安裝前一篇文章配置好了PX4+Gazebo+ROS2+FastDDS+Matlab+Simulink聯(lián)合調(diào)試環(huán)境。

【PX4-AutoPilot教程-開發(fā)環(huán)境】搭建PX4+Gazebo+ROS2+FastDDS+Matlab+Simulink聯(lián)合調(diào)試環(huán)境

PX4&Simulink&Gazebo聯(lián)合仿真實現(xiàn)方法

建立Simulink模型并完成基本配置

在Matlab工作文件夾中models文件夾中新建一個Simulink模型,我這里命名為TrajectoryFlight.slx,雙擊使用Simulink打開。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

在【建模】欄打開【模型設(shè)置】,【求解器】欄中【求解器類型】選為【定步長】。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

【硬件實現(xiàn)】欄中【Hardware board】選擇【ROS2】。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

【代碼生成】欄中【接口】勾選【連續(xù)時間】。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

仿真調(diào)速界面勾選【啟用調(diào)速以減慢仿真】。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

整體框架

整體框架如下,主體是對時鐘進(jìn)行判斷,1-3秒是觸發(fā)Arm子系統(tǒng),3-5秒是觸發(fā)Enable Offboard Control子系統(tǒng),5-7秒是觸發(fā)Takeoff子系統(tǒng),7秒后是觸發(fā)Trajectory Flight子系統(tǒng)。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

各子系統(tǒng)實現(xiàn)原理

Arm子系統(tǒng)

Arm子系統(tǒng)中使用ROS2 Subscribe模塊訂閱/fmu/timesync/out話題,并使用Bus Selector分解話題獲取時間戳,將時間戳傳入Subsystem子系統(tǒng)。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

無人機(jī)的解鎖是通過vehicle_command話題進(jìn)行的,它的定義在源碼Firmware/msg/vehicle_command.msg中,這個話題是地面站/nsh等終端發(fā)送的控制指令用的。

我們可以從任意已經(jīng)編譯過的固件中的Firmware\build\px4_fmu-v5_default\uORB\topics\vehicle_command.h文件中看到vehicle_command話題的結(jié)構(gòu)體定義。

	uint64_t timestamp;
	double param5;
	double param6;
	float param1;
	float param2;
	float param3;
	float param4;
	float param7;
	uint32_t command;
	uint8_t target_system;
	uint8_t target_component;
	uint8_t source_system;
	uint8_t source_component;
	uint8_t confirmation;
	bool from_external;
	uint8_t _padding0[2]; // required for logger

可以看到其結(jié)構(gòu)為:

時間戳+command命令+目標(biāo)系統(tǒng)號+目標(biāo)組件號+發(fā)出命令系統(tǒng)號+發(fā)出命令組件號+收到命令次數(shù)+數(shù)據(jù)包

在源碼Firmware/msg/vehicle_command.msg中可以檢索到解鎖的命令I(lǐng)D是:

uint16 VEHICLE_CMD_COMPONENT_ARM_DISARM = 400		# Arms / Disarms a component |1 to arm, 0 to disarm|

可以在注釋中看到用法,只需將param1的值賦值為1即可解鎖。

綜上,通過ROS2對無人機(jī)進(jìn)行解鎖的方法為:

訂閱/fmu/timesync/out獲得時間戳–>command設(shè)置為400、param1設(shè)置為1、target_system設(shè)置為1–>發(fā)布/fmu/vehicle_command/in話題。

Subsystem子系統(tǒng)中使用ROS2 Blank Message獲得px4_msgs/vehicle_command的話題類型,導(dǎo)入獲取到的時間戳、命令編號、傳入?yún)?shù)等,并使用ROS2 Publish模塊發(fā)布該話題。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

Enable Offboard Control子系統(tǒng)

Enable Offboard Control子系統(tǒng)中使用ROS2 Subscribe模塊訂閱/fmu/timesync/out話題,并使用Bus Selector分解話題獲取時間戳,將時間戳傳入Subsystem子系統(tǒng)。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

無人機(jī)進(jìn)入Offboard模式也是通過vehicle_command話題進(jìn)行的。

在源碼Firmware/msg/vehicle_command.msg中可以檢索到設(shè)置系統(tǒng)模式的命令I(lǐng)D是:

uint16 VEHICLE_CMD_DO_SET_MODE = 176			# Set system mode. |Mode, as defined by ENUM MAV_MODE| Empty| Empty| Empty| Empty| Empty| Empty|

這里的注釋寫的是將第一個參數(shù)param1設(shè)為模式的ID號,之后param2param7設(shè)置為空,但是這里的注釋好像寫錯了。

在源碼Firmware/src/modules/commander/Commander.cpp中,官方寫的調(diào)節(jié)模式的命令是:

send_vehicle_command(vehicle_command_s::VEHICLE_CMD_DO_SET_MODE, 1, PX4_CUSTOM_MAIN_MODE_OFFBOARD);

send_vehicle_command()函數(shù)的定義為:

static bool send_vehicle_command(const uint32_t cmd, const float param1 = NAN, const float param2 = NAN,
				 const float param3 = NAN,  const float param4 = NAN, const double param5 = static_cast<double>(NAN),
				 const double param6 = static_cast<double>(NAN), const float param7 = NAN)
{
	vehicle_command_s vcmd{};
	vcmd.command = cmd;
	vcmd.param1 = param1;
	vcmd.param2 = param2;
	vcmd.param3 = param3;
	vcmd.param4 = param4;
	vcmd.param5 = param5;
	vcmd.param6 = param6;
	vcmd.param7 = param7;

	uORB::SubscriptionData<vehicle_status_s> vehicle_status_sub{ORB_ID(vehicle_status)};
	vcmd.source_system = vehicle_status_sub.get().system_id;
	vcmd.target_system = vehicle_status_sub.get().system_id;
	vcmd.source_component = vehicle_status_sub.get().component_id;
	vcmd.target_component = vehicle_status_sub.get().component_id;

	uORB::Publication<vehicle_command_s> vcmd_pub{ORB_ID(vehicle_command)};
	vcmd.timestamp = hrt_absolute_time();
	return vcmd_pub.publish(vcmd);
}

可以看出需要將param1賦值為1,將param2賦值為PX4_CUSTOM_MAIN_MODE_OFFBOARD才能切換為Offboard模式。

查詢PX4_CUSTOM_MAIN_MODE_OFFBOARD的定義,在源碼Firmware/src/modules/commander/px4_custom_mode.h中找到:

enum PX4_CUSTOM_MAIN_MODE {
	PX4_CUSTOM_MAIN_MODE_MANUAL = 1,
	PX4_CUSTOM_MAIN_MODE_ALTCTL,
	PX4_CUSTOM_MAIN_MODE_POSCTL,
	PX4_CUSTOM_MAIN_MODE_AUTO,
	PX4_CUSTOM_MAIN_MODE_ACRO,
	PX4_CUSTOM_MAIN_MODE_OFFBOARD,
	PX4_CUSTOM_MAIN_MODE_STABILIZED,
	PX4_CUSTOM_MAIN_MODE_RATTITUDE_LEGACY,
	PX4_CUSTOM_MAIN_MODE_SIMPLE /* unused, but reserved for future use */
};

PX4_CUSTOM_MAIN_MODE_OFFBOARD對應(yīng)的數(shù)字是6。

綜上,通過ROS2對無人機(jī)進(jìn)入Offboard模式的方法為:

訂閱/fmu/timesync/out獲得時間戳–>command設(shè)置為176、param1設(shè)置為1、param2設(shè)置為6、target_system設(shè)置為1–>發(fā)布/fmu/vehicle_command/in話題。

Subsystem子系統(tǒng)中使用ROS2 Blank Message獲得px4_msgs/vehicle_command的話題類型,導(dǎo)入獲取到的時間戳、命令編號、傳入?yún)?shù)等,并使用ROS2 Publish模塊發(fā)布該話題。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

Takeoff子系統(tǒng)

Takeoff子系統(tǒng)中使用ROS2 Subscribe模塊訂閱/fmu/timesync/out話題,并使用Bus Selector分解話題獲取時間戳,將時間戳傳入SendCommand子系統(tǒng)。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

offboard_control_mode話題是Offboard模式的心跳包,為了保證飛行的安全性,心跳包必須以最低2Hz的頻率發(fā)布,PX4在兩個Offboard命令之間有一個500ms的延時,如果超過此延時,系統(tǒng)會將回到無人機(jī)進(jìn)入Offboard模式之前的最后一個模式。

在源碼Firmware/msg/offboard_control_mode.msg中可以看到offboard_control_mode話題的定義。

# Off-board control mode

uint64 timestamp		# time since system start (microseconds)

bool position
bool velocity
bool acceleration
bool attitude
bool body_rate
bool actuator

因為要進(jìn)行位置控制所以需要將position賦值為true。

trajectory_setpoint話題是期望的位置,在源碼Firmware/msg/vehicle_local_position_setpoint.msg中可以看到trajectory_setpoint話題的定義。

# Local position setpoint in NED frame
# setting something to NaN means the state should not be controlled

uint64 timestamp	# time since system start (microseconds)

float32 x		# in meters NED
float32 y		# in meters NED
float32 z		# in meters NED
float32 yaw		# in radians NED -PI..+PI
float32 yawspeed	# in radians/sec
float32 vx		# in meters/sec
float32 vy		# in meters/sec
float32 vz		# in meters/sec
float32[3] acceleration # in meters/sec^2
float32[3] jerk # in meters/sec^3
float32[3] thrust	# normalized thrust vector in NED

# TOPICS vehicle_local_position_setpoint trajectory_setpoint

其中trajectory_setpoint話題和vehicle_local_position_setpoint話題的內(nèi)容是一樣的,源碼Firmware/msg/tools/urtps_bridge_topics.yaml中可以看到以下代碼。

  - msg:     vehicle_local_position_setpoint
    receive: true
  - msg:     trajectory_setpoint # multi-topic / alias of vehicle_local_position_setpoint
    base:    vehicle_local_position_setpoint
    receive: true

可以看出trajectory_setpoint話題是基于vehicle_local_position_setpoint話題的。

這里需要注意坐標(biāo)系是NED坐標(biāo)系,即北東地坐標(biāo)系,所以想讓無人機(jī)飛起來,z的賦值應(yīng)該為負(fù)數(shù)。

綜上,通過ROS2對無人機(jī)進(jìn)入Offboard模式起飛懸停的方法為:

訂閱/fmu/timesync/out獲得時間戳–>position設(shè)置為true、x設(shè)置為0、y設(shè)置為0、z設(shè)置為-5、target_system設(shè)置為1–>發(fā)布offboard_control_mode話題和trajectory_setpoint話題。

SendCommand子系統(tǒng)中使用ROS2 Blank Message獲得offboard_control_mode的話題類型和trajectory_setpoint的話題類型,導(dǎo)入獲取到的時間戳、傳入?yún)?shù)、期望位置等,并使用ROS2 Publish模塊發(fā)布這些話題。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

Trajectory Flight子系統(tǒng)

Trajectory Flight子系統(tǒng)跟Takeoff子系統(tǒng)大體一樣,只不過在Desired Position部分有所改動,改為實時的發(fā)送自定義圓軌跡上的位置。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

MATLAB Function將仿真時間作為輸入,輸出的是期望位置,函數(shù)內(nèi)部的代碼為:

function y = fcn(t)

r = 5;%圓的半徑
w = 0.5;%繞圓心的角速度

t = t - 7;%去掉軌跡飛行開始前的時間

position_x = r * (1 - cos(w * t));
position_y = r * sin(w * t);

y = single([position_x position_y -5]);

這里給定了圓的半徑、繞圓心的角速度,結(jié)算出每一時刻無人機(jī)的期望位置。

實現(xiàn)效果

Ubuntu中啟動Gazebo仿真和microrts_agent守護(hù)進(jìn)程,運行Simulink模型,可以看到Gazebo中的無人機(jī)已經(jīng)進(jìn)入Offboard模式并起飛懸停在5m的高度后沿自定義圓形軌跡飛行。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

無人機(jī)在Gazebo中飛行時,無人機(jī)始終處于畫面中央,會帶著視角亂晃,在Gazebo中進(jìn)行任何操作視角都無法固定,分析原因是PX4在Gazebo仿真中寫了一個腳本來使無人機(jī)一直處于畫面中央。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

在Tools/sitl_run.sh文件中有如下的代碼,控制Gazebo中的視角跟隨無人機(jī)。

# Disable follow mode
if [[ "$PX4_NO_FOLLOW_MODE" != "1" ]]; then
    follow_mode="--gui-client-plugin libgazebo_user_camera_plugin.so"
else
    follow_mode=""
fi

在運行仿真命令時加上前綴PX4_NO_FOLLOW_MODE=1來屏蔽視角跟隨部分代碼。

PX4_NO_FOLLOW_MODE=1 make px4_sitl_rtps gazebo

之后再次運行即可在固定視角下觀察無人機(jī)的運動。

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡

【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化,PX4-AutoPilot,無人機(jī),PX4,ROS2,Gazebo,仿真,Simulink,圓形軌跡


參考資料:

PX4 Gazebo Simulation

Control a Simulated UAV Using ROS 2 and PX4 Bridge

到了這里,關(guān)于【PX4&Simulink&Gazebo聯(lián)合仿真】在Simulink中使用ROS2控制無人機(jī)沿自定義圓形軌跡飛行并在Gazebo中可視化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Ubuntu18.04搭配無人機(jī)仿真環(huán)境(ROS,PX4,gazebo,Mavros,QGC安裝教程)

    Ubuntu18.04搭配無人機(jī)仿真環(huán)境(ROS,PX4,gazebo,Mavros,QGC安裝教程)

    我個人使用了代理環(huán)境進(jìn)行下載。Linux沒有代理的可以使用國內(nèi)源。 清華大學(xué)源 sudo sh -c ‘. /etc/lsb-release echo “deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main” /etc/apt/sources.list.d/ros-latest.list’ 中科大源 sudo sh -c ‘. /etc/lsb-release echo “deb http://mirrors.ustc.edu.cn/ros/ubu

    2024年02月13日
    瀏覽(290)
  • 無人機(jī)仿真—PX4編譯,gazebo仿真及簡單off board控制模式下無人機(jī)起飛

    無人機(jī)仿真—PX4編譯,gazebo仿真及簡單off board控制模式下無人機(jī)起飛

    在上篇記錄中,已經(jīng)對整體的PX4仿真環(huán)境有了一定的了解,現(xiàn)如今就要開始對無人機(jī)進(jìn)行起飛等仿真環(huán)境工作,在整體虛擬環(huán)境中如果程序能夠安穩(wěn)起飛降落,即可對無人機(jī)進(jìn)行實飛操作。 需要做的是,通過PX4官網(wǎng)提供的基本程序包,在ROS工作空間下新建程序包對其進(jìn)行運行

    2024年02月03日
    瀏覽(627)
  • px4的gazebo仿真相機(jī)模型報錯解決辦法,返回值256

    px4的gazebo仿真相機(jī)模型報錯解決辦法,返回值256

    ?? 事情起因 :我想做關(guān)于PX4無人機(jī)的攝像頭仿真,根據(jù)PX4的官網(wǎng)文件 Tools/sitl_gazebo文件夾里面有對應(yīng)的模型可以使用,我就想在mavros_posix_sitl文件里面修改vehicle參數(shù),比如直接將vehicle=“iris_stereo_camera”。然后直接保存運行,直接報錯如下,返回值256。 process[gazebo-3]: start

    2024年02月07日
    瀏覽(30)
  • px4+gazebo無人機(jī)仿真,定點起飛,y=x2軌跡飛行

    px4+gazebo無人機(jī)仿真,定點起飛,y=x2軌跡飛行

    目錄 一、創(chuàng)建工作空間 1.創(chuàng)建工作空間 catkin_ws 2.編譯工作空間 catkin_make 二、offboard位置控制定點起飛 1.準(zhǔn)備工作 2.啟動 三、offboard位置控制y=x2軌跡飛行 參考ROS學(xué)習(xí)--第3篇:ROS基礎(chǔ)---創(chuàng)建工作空間 打開終端,創(chuàng)建src文件夾: 進(jìn)入src文件夾: 初始化文件夾: 進(jìn)入catkin_ws文件

    2024年02月05日
    瀏覽(100)
  • PX4+gazebo仿真中給無人機(jī)添加相機(jī),以及改變相機(jī)的位姿

    PX4+gazebo仿真中給無人機(jī)添加相機(jī),以及改變相機(jī)的位姿

    找到你的需要運行的lauch文件,例如mavros_posix_sitl.lauch,編輯(最好先備份一份)。 ?修改sdf部分(也就是添加一個傳感器給無人機(jī)),傳感器模塊路徑,選擇一個相機(jī)(本文選擇的是iris_depth_camera): ?根據(jù)選擇的相機(jī)修改launch文件,如下: 保存后運行roslauch??mavros_posix_sitl.la

    2024年04月11日
    瀏覽(93)
  • ROS2-Gazebo仿真

    ROS2-Gazebo仿真

    Gazebo是ROS系統(tǒng)中最為常用的三維物理仿真平臺,支持動力學(xué)引擎,可以實現(xiàn)高質(zhì)量的圖形渲染,不僅可以模擬機(jī)器人及周邊環(huán)境,還可以加入摩擦力、彈性系數(shù)等物理屬性。所以類似Gazebo這樣的仿真平臺,可以幫助我們驗證機(jī)器人算法、優(yōu)化機(jī)器人設(shè)計、測試機(jī)器人場景應(yīng)用

    2024年02月06日
    瀏覽(19)
  • ROS-基于PX4的無人機(jī)SLAM建圖(Cartographer)仿真

    ROS-基于PX4的無人機(jī)SLAM建圖(Cartographer)仿真

    首先在電腦上安裝好Ubuntu系統(tǒng)和ROS系統(tǒng),我安裝的是Ubuntu18.04和ROS Melodic,不同的Ubuntu版本對應(yīng)不同的ROS版本 ROS發(fā)布日期 ROS版本 停止支持日期 對應(yīng)Ubuntu版本 2018年5月23日 ROS Melodic Morenia 2023年5月 Ubuntu 18.04 2016年5月23日 ROS Kinetic Kame 2021年4月 Ubuntu 16.04 (Xenial) Ubuntu 15.10 (Wily) 201

    2024年02月15日
    瀏覽(85)
  • 【PX4-AutoPilot教程-TIPS】PX4控制無人機(jī)在Gazebo中飛行時由于視角跟隨無人機(jī)在畫面中心導(dǎo)致視角亂晃的解決方法

    【PX4-AutoPilot教程-TIPS】PX4控制無人機(jī)在Gazebo中飛行時由于視角跟隨無人機(jī)在畫面中心導(dǎo)致視角亂晃的解決方法

    無人機(jī)在Gazebo中飛行時,無人機(jī)始終處于畫面中央,會帶著視角亂晃,在Gazebo中進(jìn)行任何操作視角都無法固定。 觀察Gazebo左側(cè)World欄GUI選項,發(fā)現(xiàn)有一個track_visual項,這個是Gazebo中的跟隨視角,跟蹤目標(biāo)是無人機(jī)iris,但是手動點擊無法取消,設(shè)置Gazebo使用FOLLOW選項跟隨其他目

    2024年02月22日
    瀏覽(79)
  • 【ROS2機(jī)器人入門到實戰(zhàn)】Gazebo仿真環(huán)境搭建

    【ROS2機(jī)器人入門到實戰(zhàn)】Gazebo仿真環(huán)境搭建

    當(dāng)前平臺文章匯總地址:ROS2機(jī)器人從入門到實戰(zhàn) 獲取完整教程及配套資料代碼,請關(guān)注公眾號魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺:兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 本節(jié)我們要在Gazebo中建立一個測試的環(huán)境,其實也很簡單,利用

    2024年02月05日
    瀏覽(27)
  • ROS rviz和gazebo聯(lián)合仿真報錯

    ROS rviz和gazebo聯(lián)合仿真報錯

    運行l(wèi)aunch文件后,rviz可以顯示模型,但是只能plan不能execute,同時gazebo中沒有模型,終端報錯很多,如下 一、 Error [parser.cc:406] parse as old deprecated model file failed. 二、 [ERROR] [1672799068.164709, 10.219000]: Spawn service failed. Exiting. 三、 [spawn_gazebo_model-4] process has died [pid 15463, exit code 1,

    2024年02月10日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包