コード例 #1
0
        public void OnReceiveRosMessage(RosBridge.human_navigation.HumanNaviMsg humanNaviMsg)
        {
            if (!this.isDuringSession)
            {
                SIGVerseLogger.Warn("Illegal timing [session is not started]");
                return;
            }

            if (this.receivedMessageMap.ContainsKey(humanNaviMsg.message))
            {
                if (humanNaviMsg.message == MsgIamReady)
                {
                    if (this.step != Step.WaitForIamReady)
                    {
                        SIGVerseLogger.Warn("Illegal timing [message : " + humanNaviMsg.message + ", step:" + this.step + "]");
                        return;
                    }
                }

                if (humanNaviMsg.message == MsgGetAvatarStatus)
                {
                    this.SendRosAvatarStatusMessage();
                }

                if (humanNaviMsg.message == MsgGetObjectStatus)
                {
                    this.SendRosObjectStatusMessage();
                }

                if (humanNaviMsg.message == MsgGetSpeechState)
                {
                    this.SendRosHumanNaviMessage(MsgSpeechState, this.sessionManager.GetSeechRunStateMsgString());
                }

                if (humanNaviMsg.message == MsgGiveUp)
                {
                    this.OnGiveUp();
                }

                this.receivedMessageMap[humanNaviMsg.message] = true;
            }
            else
            {
                SIGVerseLogger.Warn("Received Illegal message [message: " + humanNaviMsg.message + "]");
            }
        }
コード例 #2
0
        public void OnReceiveRosMessage(RosBridge.human_navigation.HumanNaviMsg humanNaviMsg)
        {
            if (this.receivedMessageMap.ContainsKey(humanNaviMsg.message))
            {
                this.receivedMessageMap[humanNaviMsg.message] = true;

                if (humanNaviMsg.message == MsgGiveUp)
                {
                    this.OnGiveUp();
                }
                else if (humanNaviMsg.message == MsgGetAvatarPose)
                {
                    RosBridge.human_navigation.HumanNaviAvatarPose avatarPose = new RosBridge.human_navigation.HumanNaviAvatarPose();

                    avatarPose.head.position          = ConvertCoorinateSystemUnityToROS_Position(this.head.transform.position);
                    avatarPose.head.orientation       = ConvertCoorinateSystemUnityToROS_Rotation(this.head.transform.rotation);
                    avatarPose.left_hand.position     = ConvertCoorinateSystemUnityToROS_Position(this.LeftHand.transform.position);
                    avatarPose.left_hand.orientation  = ConvertCoorinateSystemUnityToROS_Rotation(this.LeftHand.transform.rotation);
                    avatarPose.right_hand.position    = ConvertCoorinateSystemUnityToROS_Position(this.rightHand.transform.position);
                    avatarPose.right_hand.orientation = ConvertCoorinateSystemUnityToROS_Rotation(this.rightHand.transform.rotation);

                    this.SendRosAvatarPoseMessage(avatarPose);
                }
                else if (humanNaviMsg.message == MsgConfirmSpeechState)
                {
                    if (this.isDuringTrial)
                    {
                        this.SendRosHumanNaviMessage(MsgSpeechState, this.sessionManager.GetSeechRunStateMsgString());
                    }
                }
            }
            else
            {
                SIGVerseLogger.Warn("Received Illegal message : " + humanNaviMsg.message);
            }
        }
コード例 #3
0
 public void ForwardSubRosMessage(RosBridge.human_navigation.HumanNaviMsg humanNaviMsg)
 {
     this.photonView.RPC("ForwardSubRosMessageRPC", RpcTarget.All, humanNaviMsg.message, humanNaviMsg.detail);
 }