1. Copy the iris model into our project
cp -r ~/ardupilot_gazebo/models/iris_with_ardupilot \
/home/aleks/git/proj/claudedrone/simulation/src/drone_sim/models/iris_claudedrone
Add sensors to model.sdf — we added a TOF TF-Luna.
2. Drone parameters
/home/aleks/git/proj/claudedrone/simulation/config/ardupilot/indoor.parm
Testing our params with the IRIS drone
Terminal 1:
gz sim ~/ardupilot_gazebo/worlds/iris_runway.sdf -r
Terminal 2 — after Gazebo finishes loading:
cd ~/ardupilot/ArduCopter
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console \
--add-param-file=/home/aleks/git/proj/claudedrone/simulation/config/ardupilot/indoor.parm
Our own world file
cp ~/ardupilot_gazebo/worlds/iris_runway.sdf \
/home/aleks/git/proj/claudedrone/simulation/src/drone_sim/worlds/claudedrone_runway.sdf
Point this world at our model, open it in VS Code:
code /home/aleks/git/proj/claudedrone/simulation/src/drone_sim/worlds/claudedrone_runway.sdf
Find this line:
<uri>model://iris_with_gimbal</uri>
Replace with:
<uri>model://iris_claudedrone</uri>
Running our world with our model
Terminal 1 — Gazebo:
GZ_SIM_RESOURCE_PATH=/home/aleks/git/proj/claudedrone/simulation/src/drone_sim/models:~/ardupilot_gazebo/models:$GZ_SIM_RESOURCE_PATH \
gz sim /home/aleks/git/proj/claudedrone/simulation/src/drone_sim/worlds/claudedrone_runway.sdf -r
Breakdown:
GZ_SIM_RESOURCE_PATH— add our model dirs to Gazebo’s search path- Gazebo finds
iris_claudedronein our project - And
runwayinardupilot_gazebo
Terminal 2 — SITL:
cd ~/ardupilot/ArduCopter
sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console \
--add-param-file=/home/aleks/git/proj/claudedrone/simulation/config/ardupilot/indoor.parm
Changing rotor colors
The iris_claudedrone model references iris_with_standoffs. Copy that into the project too:
cp -r ~/ardupilot_gazebo/models/iris_with_standoffs \
~/git/proj/claudedrone/simulation/src/drone_sim/models/
/meshes
iris.dae → iris body (cross + standoffs)
iris_collision.stl → physics collision shape
iris_prop_cw.dae → clockwise propeller → motors 0 and 1
iris_prop_ccw.dae → counter-clockwise propeller → motors 2 and 3
All edits go into the drone model — changing rotor color:
<link name='rotor_2'>
<pose>0.13 0.22 0.023 0 0 0</pose>
<visual name='visual'>
<material>
<ambient>0.8 0.1 0.1 1</ambient>
<diffuse>0.8 0.1 0.1 1</diffuse>
Plugins for taking off in our world
<plugin filename="gz-sim-imu-system"
name="gz::sim::systems::Imu"/>
<plugin filename="gz-sim-navsat-system"
name="gz::sim::systems::NavSat"/>