-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add lidar reading * Add lidar as sensor * Simulate lidar * Add lidar emulation for trikbrick * Fixes after review * No need to reread sensor * Polish lidar working * Add Read Lidar Block * Add Read Lidar block to palette * Add generator for Read Lidar block * Disable Read Lidar Block * Need to draw image with real display width and hight * Lupdate * Fix build * Make Vera happy * Update Runtime * Make Vera happy
- Loading branch information
1 parent
14c9293
commit 385101d
Showing
57 changed files
with
1,279 additions
and
134 deletions.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
plugins/robots/common/kitBase/include/kitBase/robotModel/robotParts/lidarSensor.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
/* Copyright 2021 CyberTech Labs Ltd. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. */ | ||
|
||
#pragma once | ||
|
||
#include "vectorSensor.h" | ||
#include "kitBase/kitBaseDeclSpec.h" | ||
|
||
namespace kitBase { | ||
namespace robotModel { | ||
namespace robotParts { | ||
|
||
/// Base class for lidar sensors. | ||
class ROBOTS_KIT_BASE_EXPORT LidarSensor : public VectorSensor | ||
{ | ||
Q_OBJECT | ||
Q_CLASSINFO("name", "lidar") | ||
Q_CLASSINFO("friendlyName", tr("Lidar")) | ||
Q_CLASSINFO("simulated", "true") | ||
|
||
public: | ||
/// Constructor, takes device type info and port on which this sensor is configured. | ||
LidarSensor(const DeviceInfo &info, const PortInfo &port); | ||
}; | ||
|
||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
plugins/robots/common/kitBase/src/robotModel/robotParts/lidarSensor.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* Copyright 2021 CyberTech Labs Ltd. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. */ | ||
|
||
#include "kitBase/robotModel/robotParts/lidarSensor.h" | ||
|
||
using namespace kitBase::robotModel; | ||
using namespace robotParts; | ||
|
||
LidarSensor::LidarSensor(const DeviceInfo &info, const PortInfo &port) | ||
: VectorSensor(info, port) | ||
{ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
plugins/robots/common/trikKit/src/blocks/details/readLidarBlock.cpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* Copyright 2021 CyberTech Labs Ltd. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. */ | ||
|
||
#include "readLidarBlock.h" | ||
|
||
using namespace trik::blocks::details; | ||
using namespace kitBase::robotModel; | ||
|
||
ReadLidarBlock::ReadLidarBlock(RobotModelInterface &robotModel) | ||
: kitBase::blocksBase::common::DeviceBlock<robotParts::LidarSensor>(robotModel) | ||
{ | ||
} | ||
|
||
void ReadLidarBlock::doJob(robotParts::LidarSensor &lidar) | ||
{ | ||
Q_UNUSED(lidar) | ||
evalCode(stringProperty("variable") + " = lidar"); | ||
if (!errorsOccured()) { | ||
emit done(mNextBlockId); | ||
} | ||
} |
37 changes: 37 additions & 0 deletions
37
plugins/robots/common/trikKit/src/blocks/details/readLidarBlock.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* Copyright 2021 CyberTech Labs Ltd. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. */ | ||
|
||
#pragma once | ||
|
||
#include <kitBase/blocksBase/common/deviceBlock.h> | ||
#include <kitBase/robotModel/robotParts/lidarSensor.h> | ||
namespace trik { | ||
namespace blocks { | ||
namespace details { | ||
|
||
/// An interpreter`s implementation for Read Lidar block. | ||
class ReadLidarBlock : public kitBase::blocksBase::common::DeviceBlock<kitBase::robotModel::robotParts::LidarSensor> | ||
{ | ||
Q_OBJECT | ||
|
||
public: | ||
explicit ReadLidarBlock(kitBase::robotModel::RobotModelInterface &robotModel); | ||
|
||
private: | ||
void doJob(kitBase::robotModel::robotParts::LidarSensor &lidar) override; | ||
}; | ||
|
||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
52 changes: 52 additions & 0 deletions
52
plugins/robots/common/twoDModel/include/twoDModel/robotModel/parts/lidar.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
/* Copyright 2021 CyberTech Labs Ltd. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. */ | ||
|
||
#pragma once | ||
|
||
#include <kitBase/robotModel/robotParts/lidarSensor.h> | ||
|
||
#include "twoDModel/twoDModelDeclSpec.h" | ||
|
||
namespace twoDModel { | ||
|
||
namespace engine { | ||
class TwoDModelEngineInterface; | ||
} | ||
|
||
namespace robotModel { | ||
namespace parts { | ||
|
||
/// 2D-model simulation of lidar. | ||
/// Configuration is perfomed immediately, the answer is ready immediately too. | ||
class TWO_D_MODEL_EXPORT Lidar : public kitBase::robotModel::robotParts::LidarSensor | ||
{ | ||
Q_OBJECT | ||
|
||
public: | ||
Lidar(const kitBase::robotModel::DeviceInfo &info | ||
, const kitBase::robotModel::PortInfo &port | ||
, engine::TwoDModelEngineInterface &engine | ||
, QPair<qreal, int> angleAndRange); | ||
|
||
void read() override; | ||
|
||
protected: | ||
engine::TwoDModelEngineInterface &mEngine; | ||
qreal mAngle; | ||
int mRange; | ||
}; | ||
|
||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.