Beispiel #1
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));
        }
 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);
     }
 }
    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();
    }
Beispiel #4
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);
        }
    }