LogoLogo
Navigate?
  • XXX!
    • Frequently Asked XQuestions
  • YYY!
    • Advanced: Help me troubleshoot weird build problems
    • Advanced: Help me troubleshoot weird camera problems
  • ZZZ!
    • Basic Chatgpt ROS interface
    • Camera Calibration
    • Claw Movement
    • Computer Vision With Yolo8a
    • Connecting to the robot
    • Creating and Executing Launch Files
  • FIIVA
    • Download File From vscode
    • Edge Detection
    • Finding HSV values for any color
    • Finding correct color for line following
    • GPS Data with iPhone (GPS2IP)
    • How can I calculate a better way to rotate?
    • How do I attach a Bluetooth headset?
    • How do I control AWS RoboMaker?
    • How do I control the Arm
    • How do I convert Imagenet to Darknet
    • How do I create a Gazebo world
    • How do I create a ROS UI with TkInter?
    • How do I creating a gazebo world
    • How do I deploy a Pytorch model our cluster?
    • How do I move a file from my vnc and back?
    • How do I read a BDLC motor spec sheet
    • How do I set up AprilTags
    • How do I set up a USB camera?
    • How do I set up the Astra Pro Depth Camera?
    • How do I setup to Coral TPU
    • How do I spawn an animated Human?
    • How do I use Alexa Flask-ASK for ROS
    • How do I use OpenCV and Turtlebot3 Camera
    • How do I use Parameters and Arguments in ROS?
    • How do I use a sigmoid function instead of a PID
    • How do I visualize the contents of a bag
    • How do you use UDP to communicate between computers?
    • How does GPS work?
    • How to Copy a MicroSD
    • How to add an SDF Model
    • How to approach computer vision
    • How to connect to multiple robots
    • How to define and Use your own message types
    • Interbotix Pincher X100 Arm
    • PID-guide.md
    • PX-100 Arm ROS2 Setup
    • Pincer Attachment
    • ROSBridge and ROSLIBJS
    • Recognizing Objects Based on Color and Size using OpenCV
    • Reinforcement Learning and its Applications
    • Robot Arm Transforms
    • Running Multi Robot in Gazebo and Real Robot
    • Simplifying_Lidar.md
    • Spawning Multiple Robots
    • Tips for using OpenCV and Cameras
    • Using ROS2 with Docker
    • What are some Computer Vision Tips
    • What are the ROS Message Types
    • Why does roscd go wrong?
    • Why is my robot not moving?
    • Working with localStorage in React for web clients
    • bouncy-objects.md
    • camera-performance-notes.md
    • camera_pitch.md
    • change_model_color.md
    • communicate-with-rosserial.md
    • contribution-guide.md
    • customize_tb3.md
    • diy-gazebo-world.md
    • fiducial-tips.md
    • fiducial_follows.md
    • gazebo_tf.md
    • gazebo_world.md
    • handy-commands.md
    • how-to-add-texture-to-sdf.md
    • how_to_get_correct_color_for_line_following.md
    • joint-controllers.md
    • laserscan-definition-modify.md
    • launch-files.md
    • lidar_placement_and_drift.md
    • logging.md
    • model_teleportation.md
    • modular_teleop.md
    • multi-robot-one-core.md
    • multirobot-map-merge.md
    • namespacing-tfs.md
    • object_detection_yolo_setup.md
    • publish_commands_to_commandline.md
    • quaternions.md
    • reset-world-gazebo.md
    • robot multitasking
    • ros_and_aws_integration.md
    • rosbridge.md
    • rviz-markers.md
    • sdf_to_urdf.md
    • spawn_model_terminal.md
    • using-conditionals-in-roslaunch.md
    • ROS and TkInter
    • Brandeis Robotics Utility
      • Controlling Robots from VNC
      • BRU Concepts
      • Commands
      • Standard ROSUTILS directory everywhere
      • script.md
    • Cosi119 Final Reports!
      • 2023
        • Autopilot
        • Bowling Bot
        • Cargo Claw
        • Command and Control Dashboard
        • Dynamaze
        • Guard Robot
        • Multi Robot Surveilance
        • Object Sorter
        • Robot Race
        • Typenator
      • 2022
        • NASCAR-style-turtlebot-racing.md
        • RoboTag.md
        • litter_picker.md
        • mini_scouter.md
        • not-play-catch.md
        • Waiterbot
      • 2020
        • Behavior Trees Investigatoin
        • Computer Vision Maze Solver
        • FiducialSLAM.md
        • Gesture Recognition
          • color.md
          • demo.md
          • gestures.md
          • kinect.md
          • kinectv2.md
          • leap-motion.md
          • leap_motion.md
          • local-camera.md
          • ssd.md
        • dangersigns.md
        • pathplanning.md
        • reinforcement-learning-racer.md
        • stalkerbot.md
      • 2019
        • robot-arm.md
      • Sample Project Template
      • past-gen-letters.md
    • Brandeis Rover Cluster
      • intro.md
      • operation-guide
        • architecture.md
        • cluster.md
        • faq.md
        • graphs
        • graphs.md
        • image.md
        • lifecycle.md
        • nodes.md
        • operating
          • cluster.md
          • users.md
        • sources.md
      • user-guide
        • code-editor.md
        • desktop-ui.md
        • getting-started.md
    • Robots in our Lab
      • linorobot
        • Platform Hardware Specs
        • connections.md
        • howto.md
        • stack.md
        • troubleshooting.md
        • validating.md
      • minirover
        • mrbuild.md
        • mrsetup.md
        • mrtroubleshooting.md
        • mruse.md
      • platform
      • platform.md
      • pupper
        • boundary-generation.md
        • controls.md
        • fiducial-detection.md
        • hardware.md
        • introduction.md
        • planning.md
        • software-overview.md
        • software-setup.md
        • testing.md
    • Campus Rover Packages
      • C3 Architecture Notes
      • Campus Rover V 3
      • campus-rover-4
        • Working with TIVAC
        • progress-report.md
      • demos
        • demo-script-fall-2018.md
        • gen2-demo-instructions.md
      • mutant
        • Description of Mutant
        • mutant-usage.md
        • mutantsetup.md
        • raspicam.md
      • navigation
        • costmap-clearing
          • costmap-clearing-part-1.md
          • costmap-clearing-part-2.md
        • cpu-usage-and-errors-in-navigation.md
        • fiducials.md
        • floormapping.md
        • lost-and-found.md
      • nodes.md
      • package-delivery
        • talker-node.md
      • state-management-services.md
      • voice
        • [voice integration.md](./cr-package/voice/voice integration.md)
        • voice-integration.md-.-cr-package-voice-voice-integration.md.md
        • voice.md
      • web-application
        • Integrating using Flask and ROS
        • flask.md
        • livemap.md
    • Lab Infrastructure
      • Tailscale VPN
      • Creating a bootable SSD
      • Danger Signs with Batteries and Chargers
      • How to use the Rover Cluster
      • Setting up SSH on a new robot
      • Turtlebot3s.md
      • copying-robot-sd-cards.md
      • external-ssd-instructions
      • external-ssd-instructions.md
      • linux_terminal_eduroam_setup.md
      • multi-robot-infrastructure.md
      • networking.md
      • our-robots.md
      • private-networking.md
      • ros-melodic.md
      • setup-hints.md
      • ubuntubrandeis.md
    • Our ROS Packages
      • Behavior Trees
        • Nodes
        • Visualization of the behavior Tree
        • basic_movement.md
        • build
          • defining_blackboard.md
          • defining_nodes.md
          • defining_references.md
        • custom_nodes
          • custom_action.md
          • custom_conditional.md
          • custom_update.md
        • included_nodes
          • action_nodes.md
          • conditional_nodes.md
          • included_nodes.md
          • parent_nodes.md
          • update_nodes.md
        • nodes
          • leaf_nodes.md
          • parent_nodes.md
      • Speech Recognition Report
Powered by GitBook

Copyright (c) Brandeis University

On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. FIIVA

quaternions.md

��#� �Q�u�a�t�e�r�n�i�o�n�s� �a�n�d� �R�o�t�a�t�i�o�n� �C�h�e�a�t� �S�h�e�e�t� � � � �Q�u�a�t�e�r�n�i�o�n�s� �a�r�e� �p�o�i�n�t�s� �o�n� �t�h�e� � �4�D� �u�n�i�t� �h�y�p�e�r�s�p�h�e�r�e�.��� �F�o�u�r�-�d�i�m�e�n�s�i�o�n�a�l� �c�o�m�p�l�e�x� �n�u�m�b�e�r�s� �a�r�e� �a�l�w�a�y�s� �o�f� �t�h�e� �f�o�r�m�:� � � � �#�#� �a� �+� �b� �_�i�_� �+� �c� �_�j�_� �+� �d� �_�k�_� � � � �& w�i�t�h� �o�n�e� �r�e�a�l� �p�a�r�t� � a� ,� �a�n�d� �3� � �_�_�i�m�a�g�i�n�a�r�y�_�_� �o�r� �_�_�v�e�c�t�o�r�_�_� �p�a�r�t�s� � b� ,� � c� ,� �a�n�d� � d� .��� �S�i�n�c�e� �a�l�l� �q�u�a�t�e�r�n�i�o�n�s� �f�a�l�l� �o�n� �t�h�e� �u�n�i�t� �h�y�p�e�r�s�p�h�e�r�e�,� �i�t� �w�i�l�l� �a�l�w�a�y�s� �h�a�v�e� �a� �d�i�s�t�a�n�c�e� �1� �f�r�o�m� �t�h�e� �o�r�i�g�i�n�.� �T�h�e�y� �t�h�e�r�e�f�o�r�e� �m�a�i�n�t�a�i�n� �t�h�e� �f�o�l�l�o�w�i�n�g� �r�e�l�a�t�i�o�n�s�h�i�p�:� � � � �#�#� �a�^�2� �+� �b�^�2� �+� �c�^�2� �+� �d�^�2� �=� �1� � � � �I�f� �X� �a�n�d� �Y� �a�r�e� �t�w�o� �q�u�a�t�e�r�n�i�o�n�s� �t�h�a�t� �s�a�t�i�s�f�y� �t�h�e� �a�b�o�v�e� �r�u�l�e�,� �X�Y� �w�i�l�l� �a�l�s�o� �s�a�t�i�s�f�y� �i�t�.� � � � �S�i�n�c�e� �q�u�a�t�e�r�n�i�o�n�s� �a�r�e� �e�x�t�e�n�s�i�o�n�s� �o�f� �c�o�m�p�l�e�x� �n�u�m�b�e�r�s�,� �w�e� �c�a�n� �m�u�l�t�i�p�l�y� �t�h�e�m� �b�y� � �d�i�s�t�r�i�b�u�t�i�o�n�,� �b�u�t� �t�h�i�s� �r�e�q�u�i�r�e�s� �s�t�r�o�n�g�e�r� �d�e�f�i�n�i�t�i�o�n�s� �o�f� �i�,� �j�,� �a�n�d� �k� �a�n�d� �t�h�e�i�r� � �m�u�l�t�i�p�l�i�c�a�t�i�o�n�.��� �T�h�e�s�e� �r�e�l�a�t�i�o�n�s�h�i�p�s� �c�a�n� �b�e� �e�a�s�i�l�y� �r�e�m�e�m�b�e�r�e�d� �w�i�t�h� �t�h�e� � �r�i�g�h�t�-�h�a�n�d�-�r�u�l�e�.� � � � �!�[�Q�u�a�t�4�]�(�.�.�/�i�m�a�g�e�s�/�q�u�a�t�/�q�u�a�t�0�4�.�p�n�g�)� � � � �N�o�w� �w�e� �c�a�n� �m�u�l�t�i�p�l�y� �t�h�e� �q�u�a�t�e�r�n�i�o�n�s� �b�y� �d�i�s�t�r�i�b�u�t�i�o�n�.��� � �T�h�i�s� �c�a�n� �b�e� �s�i�m�p�l�i�f�i�e�d� �t�o� �t�h�e� �f�o�l�l�o�w�i�n�g� �e�q�u�a�t�i�o�n�,� �k�n�o�w�n� �a�s� �t�h�e� �_�H�a�m�i�l�t�o�n� � �p�r�o�d�u�c�t�_�:� � � � �#�#� �(�a�<�s�u�b�>�1�<�/�s�u�b�>� �+� �b�<�s�u�b�>�1�<�/�s�u�b�>�_�i�_� �+� �c�<�s�u�b�>�1�<�/�s�u�b�>�_�j�_� �+� �d�<�s�u�b�>�1�<�/�s�u�b�>�_�k�_�)� �_� �(�a�<�s�u�b�>�2�<�/�s�u�b�>� �+� �b�<�s�u�b�>�2�<�/�s�u�b�>�_�i�_�+� �c�<�s�u�b�>�2�<�/�s�u�b�>�_�j�_� �+� �d�<�s�u�b�>�2�<�/�s�u�b�>�_�k�_�)� �=� � � � �!�[�Q�u�a�t�1�]�(�.�.�/�i�m�a�g�e�s�/�q�u�a�t�/�q�u�a�t�0�7�.�p�n�g�)� � � � �I�n� �o�r�d�e�r� �t�o� �f�o�r�m� �a� �3�D� �r�e�p�r�e�s�e�n�t�a�t�i�o�n� �o�f� �o�u�r� �4�D� �q�u�a�t�e�r�n�i�o�n�,� �w�e� �u�s�e� �a� �_�s�t�e�r�e�o�g�r�a�p�h�i�c� �p�r�o�j�e�c�t�i�o�n�_�,� � �w�h�i�c�h� �d�r�a�w�s� �l�i�n�e�s� �t�h�r�o�u�g�h� �t�h�e� �p�o�i�n�t� �(�-�1�,� �0�,� �0�,� �0�)� �a�n�d� �e�v�e�r�y� �o�t�h�e�r� �o�n�e� �o�n� �t�h�e� � �h�y�p�e�r�s�p�h�e�r�e�.��� �W�h�e�r�e�v�e�r� �t�h�e�s�e� �l�i�n�e�s� �i�n�t�e�r�s�e�c�t� �t�h�e� �3�D� �s�p�a�c�e� �i�s� �t�h�e�i�r� �p�r�o�j�e�c�t�i�o�n� � �o�n�t�o� �i�t� �(�2�D� �p�r�o�j�e�c�t�i�o�n� �i�n�t�o� �a� �1�D� �s�p�a�c�e� �s�h�o�w�n� �b�e�l�o�w�)�:� � � � �Y�e�l�l�o�w� �l�i�n�e�s� �a�r�e� �d�r�a�w�n� �o�r�i�g�i�n�a�t�i�n�g� �a�t� �-�1� �+� �0�_�i�_� �a�n�d� �i�n�t�e�r�s�e�c�t� �w�i�t�h� �e�v�e�r�y� �p�o�i�n�t� �o�n� �t�h�e� �u�n�i�t� � �c�i�r�c�l�e�.����� �T�h�e� �p�o�i�n�t� �a�t� �w�h�i�c�h� �t�h�e� �l�i�n�e� �i�n�t�e�r�s�e�c�t�s� �t�h�e� �_�i�_�-�l�i�n�e� �i�s� �w�h�e�r�e� �t�h�e� � �p�o�i�n�t� �i�s� �p�r�o�j�e�c�t�e�d� �o�n�t�o� �t�h�e� �1�D� �l�i�n�e�.��� �H�e�r�e�,� �y�o�u� �c�a�n� �s�e�e� �t�h�e� �2�D� �p�o�i�n�t� �0�.�7�9� �+� � �0�.�6�1�_�i�_� �o�n�t�o� �t�h�e� �p�o�i�n�t� �~�0�.�4�.� � � � �A�l�l� �t�h�e�s�e� �e�l�e�m�e�n�t�s� �c�o�m�b�i�n�e�d� �a�l�l�o�w� �u�s� �t�o� �u�s�e� �q�u�a�t�e�r�n�i�o�n�s� �t�o� �d�e�f�i�n�e� �a� �r�o�b�o�t� s� �(�o�r� �a�n�y� �o�t�h�e�r� �3�D� �o�b�j�e�c�t� s�)� �o�r�i�e�n�t�a�t�i�o�n� �i�n� �3�D� �s�p�a�c�e�.��� �I�n�s�t�e�a�d� �o�f� �a�d�d�i�n�g� �r�o�t�a�t�i�o�n�s�,� �w�e� �u�s�e� �t�h�e� �_�H�a�m�i�l�t�o�n� �p�r�o�d�u�c�t�_� �t�o� �c�o�m�b�i�n�e� �q�u�a�t�e�r�n�i�o�n�s� �(�s�i�n�c�e� �w�e� �a�r�e� �w�o�r�k�i�n�g� �o�n�e� �d�i�m�e�n�s�i�o�n� �u�p�)�.� � �T�h�e� �d�i�m�e�n�s�i�o�n�a�l�i�t�y� �o�f� �t�h�e� �r�o�t�a�t�i�o�n� �i�s� �b�e�s�t� �v�i�s�u�a�l�i�z�e�d� �a�s� �a� �r�o�t�a�t�i�o�n� �Q� �a�r�o�u�n�d� �a� �_�E�u�l�e�r� �a�x�i�s�_� �(�a� �3�D� �u�n�i�t� �v�e�c�t�o�r�)�.��� �A� �q�u�a�t�e�r�n�i�o�n� �_�q�_�,� �w�h�i�c�h� �d�e�s�c�r�i�b�e�s� �a� �r�o�t�a�t�i�o�n� �Q� �a�r�o�u�n�d� �t�h�e� �u�n�i�t� �v�e�c�t�o�r� �_�u�_�,� � �i�s� �g�i�v�e�n� �a�s�:� � � � �!�[�q�u�a�t�6�]�(�.�.�/�i�m�a�g�e�s�/�q�u�a�t�/�q�u�a�t�0�6�.�p�n�g�)� � � � �#�#�#� �U�s�e�f�u�l� �L�i�n�k�s� � � � �_� �[�e�a�t�e�r�.�n�e�t� �Q�u�a�t�e�r�n�i�o�n�s�]�(�h�t�t�p�s�:�/�/�e�a�t�e�r�.�n�e�t�/�q�u�a�t�e�r�n�i�o�n�s�)� � �_� �[�W�i�k�i�p�e�d�i�a� �Q�u�a�t�e�r�n�i�o�n�s�]�(�h�t�t�p�s�:�/�/�e�n�.�w�i�k�i�p�e�d�i�a�.�o�r�g�/�w�i�k�i�/�Q�u�a�t�e�r�n�i�o�n�)� � �_� �[�W�i�k�i�p�e�d�i�a� �Q�u�a�t�e�r�n�i�n�i�o�n�s� �a�n�d� �S�p�a�t�i�a�l� �R�o�t�a�t�i�o�n�s�]�(�h�t�t�p�s�:�/�/�e�n�.�w�i�k�i�p�e�d�i�a�.�o�r�g�/�w�i�k�i�/�Q�u�a�t�e�r�n�i�o�n�s�_�a�n�d�_�s�p�a�t�i�a�l�_�r�o�t�a�t�i�o�n�)� � �*� �[�W�i�k�i�p�e�d�i�a� �S�t�e�r�e�o�g�r�a�p�h�i�c� �P�r�o�j�e�c�t�i�o�n�s�]�(�h�t�t�p�s�:�/�/�e�n�.�w�i�k�i�p�e�d�i�a�.�o�r�g�/�w�i�k�i�/�S�t�e�r�e�o�g�r�a�p�h�i�c�_�p�r�o�j�e�c�t�i�o�n�)� � �

Previouspublish_commands_to_commandline.mdNextreset-world-gazebo.md

Last updated 1 year ago

Was this helpful?