Example #1
0
    byte[] GenerateMessage()
    {
        Message msg = new Message();

        msg.reward = PlayerPrefs.GetFloat("Reward");
        msg.image  = sensor.GetRgbImages();
        msg.depth  = sensor.GetDepthImages();

        switch (lastAction)
        {
        case "0":
            msg.rotation = PlayerPrefs.GetFloat("Rotation Speed");
            break;

        case "1":
            msg.rotation = -PlayerPrefs.GetFloat("Rotation Speed");
            break;

        case "2":
            msg.movement = PlayerPrefs.GetFloat("Movement Speed");
            break;

        default:
            break;
        }

        return(packer.Pack(msg));
    }
    byte[] GenerateMessage()
    {
        Message msg = new Message();

        msg.reward = PlayerPrefs.GetFloat("Reward");
        msg.image  = sensor.GetRgbImages();
        msg.depth  = sensor.GetDepthImages();

        return(packer.Pack(msg));
    }
Example #3
0
 public void PushAgentState(State s)
 {
     byte[] msg = packer.Pack(s);
     mutAgent.WaitOne();
     agentMessageQueue.Enqueue(msg);
     mutAgent.ReleaseMutex();
 }
Example #4
0
        void FixedUpdate()
        {
            if (!ws.IsConnected)
            {
                Debug.Log("not connected:" + url);
                return;
            }

            if (lastSendTime + cycleTimeStepSize <= Time.time)
            {
                lastSendTime = Time.time;

                if (Time.time - episodeStartTime > episodeTimeLength)
                {
                    TimeOver();
                }
                if (agent.state.endEpisode)
                {
                    StartNewEpisode();
                }
                agent.UpdateState();

                var    packer = new MsgPack.CompiledPacker();
                byte[] msg    = packer.Pack(agent.state);

                received.Reset();
                ws.Send(msg);
                received.WaitOne();

                OnCycleUpdateAfterReceiveAction();
            }
        }