.. _isaac_sim_app_tutorial_gui_camera_sensors: ======================= Add Camera and Sensors ======================= |isaac-sim| provides a variety of sensors that can be used to sense the environment and robot's state. In this tutorial, we will cover the simple example of attaching a camera sensor to our mock robot, a process that can be generalized to other sensors. Details regarding the camera and other types of sensors can be found in our Advance Tutorials and Sensor Extensions under Manuals. Learning Objectives ======================= This tutorial details how to - Add cameras - Attach cameras to geometries Getting Started ======================= **Prerequisites** - Complete the :ref:`Introductory Tutorials ` and the previous tutorial in the GUI Tutorials. To add a camera, go to the Menu Bar and select *Create > Camera*. A camera will appear on the stage tree, and a grey wireframe representing the camera's view will appear on the stage. You can move and rotate the camera's transform just like any other objects on the stage. .. raw:: html
You can also add a camera by moving the current view in the viewport to a view of your choosing, and then go to the *Camera* button on the upper left hand corner of the viewport display, and select *Camera > Create Camera from View*. A new camera should appear on the Stage tree, as well as the list of cameras that can be selected in the *Camera* button. Attach Camera to Robot ========================== 1. Let's first rename the newly added camera to *car_camera* so we can keep track of it. 2. It would be easier to place the camera if we could see both the desired camera input stream, as well as where it is relative to the robot from an outside camera. Open up a second viewport window by going to the Menu Bar and click *Window > Viewport > Viewport 2*. A new viewport appears; dock it wherever you'd like. 3. Keep one of the viewport in *Perspective* camera view, and change the other one to *car_camera* view. Find the *Cameras* menu on the top edge of the viewport, and switch to *Camera > car_camera*. Now we can have both the view of the onboard camera, as well as an overview of the scene. 4. Attach the camera to the robot's body by dragging the prim under :code:`body`. Now the camera will move together with the body. You may need to switch the camera view for the viewport again. 5. Let's point the camera slightly down and make it face forward so we can see the car as well as the ground. Set the camera transform translation to :code:`x=-0.6,y=0,z=2.2`, orientation to :code:`x=0,y=-80,z=-90` and scale to :code:`x=1,y=1,z=1`. You should see the viewport showing the onboard camera view splitting the window between the robot's body and the ground and the relative position and orientation of the camera to the robot in the *Perspective* camera viewport. 6. Press `Play`. The camera onboard the robot should now move with the robot. .. raw:: html
A similar strategy is used to apply other onboard sensors. .. important:: If the view of the camera is moved while displaying, it will change the camera's properties. Instead, affix a prim to the parent with the correct offset, and then affix the camera to that new prim. Then, if the camera position is accidentally moved, it can be reset by zeroing all its position and orientation parameters relative to the prim, which cannot be easily changed. Summary ======== In this tutorial, we learned how to add a camera to the robot. Next Steps ^^^^^^^^^^^^^^^^^^^^^^ - Continue on to :ref:`isaac_sim_app_tutorial_gui_interactive_scripting` to learn how to run python APIs inside the GUI. - For rigging a more complex robot, go to :ref:`isaac_sim_app_tutorial_advanced_rigging_robot`. Further Reading ^^^^^^^^^^^^^^^^^^^^^^^^^ - More about :doc:`Cameras` - Tutorials about using other types of sensors :ref:`isaac_sim_app_tutorial_advanced_range_sensor_lidar` and :ref:`isaac_sim_app_tutorial_advanced_range_sensor_generic`,