Exemplo n.º 1
0
        public void ClockGetNow()
        {
            Clock   clock   = new Clock();
            RosTime timeNow = clock.Now;

            Assert.That(timeNow.sec, Is.Not.EqualTo(0));
        }
Exemplo n.º 2
0
        public void RosTimeEquals()
        {
            Clock   clock   = new Clock();
            RosTime timeNow = clock.Now;

            Assert.That(timeNow, Is.EqualTo(timeNow));
        }
Exemplo n.º 3
0
        public void RosTimeLessThan()
        {
            Clock   clock     = new Clock();
            RosTime firstTime = clock.Now;

            System.Threading.Thread.Sleep(10);
            RosTime secondTime = clock.Now;

            Assert.That(firstTime, Is.LessThan(secondTime));
        }
        /// <summary>
        /// Reads a ROS time value.
        /// </summary>
        /// <returns></returns>
        public DateTime ReadRosTime()
        {
            var secs  = base.ReadInt32();
            var nsecs = base.ReadInt32();

            var rosTime  = new RosTime(secs, nsecs);
            var dateTime = rosTime.DateTime;

            return(dateTime);
        }
Exemplo n.º 5
0
        public void RosTimeIsInTheFuture()
        {
            Clock clock = new Clock();

            RosTime timeNow = clock.Now;

            Assert.That(timeNow.IsInTheFuture, Is.False);

            timeNow += clock.CreateRosTime(1.0d);
            Assert.That(timeNow.IsInTheFuture, Is.True);
        }
Exemplo n.º 6
0
    void Start()
    {
        if (ChildFrame == null)
        {
            ChildFrame = transform;
        }

        message = new geometry_msgs.msg.PoseStamped();
        message.header.frame_id = ParetFrameId;
        publisher       = node.CreatePublisher <geometry_msgs.msg.PoseStamped>(TopicName);
        lastPublishTime = clock.Now;
    }
Exemplo n.º 7
0
        public void RosTimeSeconds()
        {
            Clock clock = new Clock();

            RosTime oneSecond = clock.CreateRosTime(1.0d);

            Assert.That(oneSecond.Seconds, Is.EqualTo(1.0d));

            RosTime moreThanOneSecond = clock.CreateRosTime(2.3d);

            Assert.That(moreThanOneSecond.Seconds, Is.EqualTo(2.3d));
        }
Exemplo n.º 8
0
        public void RosTimeDelay()
        {
            Clock   clock     = new Clock();
            RosTime oneSecond = clock.CreateRosTime(1.0d);

            RosTime delayedTime = oneSecond.Delay(1.0d);

            Assert.That(delayedTime.Seconds, Is.EqualTo(2.0d));

            delayedTime = oneSecond.Delay(3.4d);
            Assert.That(delayedTime.Seconds, Is.EqualTo(4.4d));
        }
Exemplo n.º 9
0
 new void FixedUpdate()
 {
     if (lastPublishTime.Delay(1.0f / PublisherFrequency).IsInThePast)
     {
         lastPublishTime = clock.Now;
         Vector3 unityPosition = Quaternion.Inverse(ParentFrame.rotation) * (ChildFrame.position - ParentFrame.position);
         message.pose.position.Unity2Ros(unityPosition);
         //TODO(sam): Figure out why z is y in numpy quaternion
         message.pose.orientation.Unity2Ros(Quaternion.Inverse(ParentFrame.rotation) * ChildFrame.rotation);
         message.header.Update(clock);
         publisher.Publish(message);
     }
 }
Exemplo n.º 10
0
    void Start()
    {
        if (SensorLink == null)
        {
            SensorLink = transform;
        }

        ray = SensorLink.TransformDirection(Vector3.forward);

        publisher    = node.CreatePublisher <sensor_msgs.msg.Range>(TopicName);
        rangeMessage = new sensor_msgs.msg.Range();
        rangeMessage.header.frame_id = FrameId;
        lastPublishTime = clock.Now;
    }
Exemplo n.º 11
0
    private void Start()
    {
        if (m_ScanLink == null)
        {
            m_ScanLink = transform;
        }

        UpdateNumLines();
        m_LaserScanPublisher = node.CreatePublisher <sensor_msgs.msg.LaserScan>(m_ScanTopic);

        m_LaserScanMessageQueue = new Queue <sensor_msgs.msg.LaserScan>();

        m_LastPublishTime = m_Clock.Now;
    }
Exemplo n.º 12
0
    new void FixedUpdate()
    {
        if (m_LastPublishTime.Delay(1.0f / m_ScanningFrequency).IsInThePast)
        {
            m_LastPublishTime = m_Clock.Now;
            sensor_msgs.msg.LaserScan laserScanMessage = new sensor_msgs.msg.LaserScan();
            InitLaserScanMsg(laserScanMessage);
            UptateLaserScanMessage(laserScanMessage);
            m_LaserScanMessageQueue.Enqueue(laserScanMessage);
        }

        PublishScansOlderThan(m_PublisherDelay);

        base.FixedUpdate();
    }
Exemplo n.º 13
0
    new void FixedUpdate()
    {
        if (lastPublishTime.Delay(1.0f / PublisherFrequency).IsInThePast)
        {
            lastPublishTime = clock.Now;


            RaycastHit hit;

            if (Physics.Raycast(SensorLink.position, ray, out hit, Mathf.Infinity, LayerMaskDistanceSensor))
            {
                distance = hit.distance;
            }

            rangeMessage.header.Update(clock);
            rangeMessage.range = distance;

            publisher.Publish(rangeMessage);
        }
    }
Exemplo n.º 14
0
        public void RosTimeAdd()
        {
            Clock   clock         = new Clock();
            RosTime overOneSecond = clock.CreateRosTime(1.1d);
            RosTime twoSeconds    = clock.CreateRosTime(2.0d);
            RosTime sumSeconds    = overOneSecond + twoSeconds;

            Assert.That(sumSeconds.Seconds, Is.EqualTo(3.1d));

            RosTime oneAndAHalfSeconds = clock.CreateRosTime(1.5d);
            RosTime moreThanTwoSeconds = clock.CreateRosTime(2.1d);

            sumSeconds = oneAndAHalfSeconds + moreThanTwoSeconds;
            Assert.That(sumSeconds.Seconds, Is.EqualTo(3.6d));

            RosTime twoAndAHalfSeconds = clock.CreateRosTime(2.5d);

            sumSeconds = oneAndAHalfSeconds + twoAndAHalfSeconds;
            Assert.That(sumSeconds.Seconds, Is.EqualTo(4.0d));
        }
Exemplo n.º 15
0
        public void RosTimeSubtract()
        {
            Clock   clock      = new Clock();
            RosTime oneSecond  = clock.CreateRosTime(1.0d);
            RosTime twoSeconds = clock.CreateRosTime(2.0d);
            RosTime sumSeconds = twoSeconds - oneSecond;

            Assert.That(sumSeconds.Seconds, Is.EqualTo(1.0d));

            RosTime oneAndAHalfSeconds = clock.CreateRosTime(1.5d);
            RosTime moreThanTwoSeconds = clock.CreateRosTime(2.1d);

            sumSeconds = moreThanTwoSeconds - oneAndAHalfSeconds;
            Assert.That(sumSeconds.Seconds, Is.EqualTo(0.6d));

            RosTime moreThanTwoAndAHalfSeconds = clock.CreateRosTime(2.9d);

            sumSeconds = moreThanTwoAndAHalfSeconds - oneAndAHalfSeconds;
            Assert.That(sumSeconds.Seconds, Is.EqualTo(1.4d));
        }
 public void Write(RosTime time)
 {
     Write(time.Seconds);
     Write(time.Nanoseconds);
 }