MikeS96 / autonomous_landing_uav

ROS packages of the Autonomous landing system of a UAV in Gazebo
MIT License
166 stars 54 forks source link

unknow model"quad_f450_camera" #3

Closed wmq-wwk0519 closed 4 years ago

wmq-wwk0519 commented 4 years ago

when i use the command "roslaunch mavros_off_board mavros_posix_sitl.launch",all things are right.But an error was happened,"unknow model 'quad_f450_camera'",so my gazebo could not open. i want to know what i need to do !

MikeS96 commented 4 years ago

Hi @wmq-wwk0519 ,

You need to add the 'quad_f450_camera' model as suggested here. The main files are provided in the Repo. This is the direction of the SDF file of the vehicle. Here you can find the meshes.

The steps left are:

I hope it helps.

offjangir commented 3 years ago

@MikeS96 can you add the airframe init file and the airframe file if possible. I am having trouble writing those

MikeS96 commented 3 years ago

Hi @offjangir

The content of my airframe init file is as follows:

#!/bin/sh
#
# @name Solo
#
# @type Quadrotor
#

sh /etc/init.d/rc.mc_defaults

if [ $AUTOCNF = yes ]
then
    param set MC_PITCHRATE_P 0.15
    param set MC_ROLLRATE_P 0.15
fi

set MIXER quad_x

The aforementioned lines are pasted in a file named 1076_quad_f450_camera and it is moved into the path ROMFS/px4fmu_common/init.d-posix/airframes. The meshes of the model are located in mavros_off_board/meshes and the SDF file + Config file is in mavros_off_board/sdf. These have to be pasted in the folder Tools/sitl_gazebo/models/quad_f450_camera with the following structure.

├── meshes
│   ├── base_link.STL
│   ├── cam_link.STL
│   ├── propeller_0.STL
│   └── propeller_1.STL
├── model.config 
└── quad_f450_camera.sdf

Finally, the vehicle compilation is just the name of the vehicle in the file platforms/posix/cmake/sitl_target.cmake, in my file the lines where it is pasted looks as follows.

# create targets for each viewer/model/debugger combination
set(viewers none jmavsim gazebo)
set(debuggers none ide gdb lldb ddd valgrind callgrind)
set(models none shell
    if750a iris iris_opt_flow iris_opt_flow_mockup iris_vision iris_rplidar iris_irlock iris_obs_avoid iris_rtps solo typhoon_h480 **quad_f450_camera**
    plane plane_cam plane_catapult
    standard_vtol tailsitter tiltrotor
    rover boat
    uuv_hippocampus)
set(worlds none empty warehouse sonoma_raceway)

I hope this clarify your doubts.

offjangir commented 3 years ago

Thanks a lot...