20
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NAOqi / コレグラフセンサー 一覧(ver. 2.0.5)

Last updated at Posted at 2014-12-29

コレグラフセンサー 一覧

Creation Date : 2014/11/12
Last Modified Date : 2015/5/19
robot start inc.


#◼︎ActiveDiagnosisErrorChanged
ハードウェア障害(主に電気的な接続)があるかどうかを検出するセンサーです。

・Passive diagnosis (パッシブ診断)
 ロボットの動作を乱すことなく、いつでも実行可能です。
 主な目的は、ロボットのすべてのデバイス(アクチュエーター・センサー)を
 チェックし、デバイスがエラーを 持っているかいないかを調べます。
 デバイスがエラーを持っていないかを20秒毎に検出します。

・Active diagnosis (アクティブ診断)
 NAOqiが起動するとき、ロボットの動作を乱すことなく診断が実行されます。
 ロボットのすべてのデバイスが機能しているかどうかを確認するために、
 エラーがあるかどうかを検出します。
 デバイスが故障モードにあり重度の障害のの場合、通知が送信されます。

・障害が検出された場合
 重度の障害の場合、ALMotionモジュールはロボットとユーザーを保護します。


#◼︎ALAnimatedSpeech/ 
表現力豊かにロボットに話をさせることができます。
ロボットに何かを言わせる時に単語を読み取ってそれにあうボディランゲージで
会話を盛り上げてくれます。

## ▼EndOfAnimatedSpeech
  アニメーションスピーチが終了したときに発生します。


#◼︎ALBattery/
ロボットのハードウェアバッテリーに関連するイベントを検出します。
バッテリー残量が少ないときにユーザーに知らせるなどに使います。

## ▼ConnectedToChangingStation
  充電器に接続されたときに発生します。


#◼︎ALBehaviorManager/
行動を管理するセンサーです。

## ▼BehaviorAdded
  動作を追跡したら発生します。

## ▼BehaviorFailed 
  動作が失敗したら発生します。

## ▼BehaviorRemoved 
  動作を取り除いたら発生します。

## ▼BehaviorsAdded
  一連の動作を追跡したら発生します。

## ▼BehaviorsRemoved 
  一連の動作を取り除いたら発生します。

## ▼BehaviorUpdated 
  一連の動作をアップデートをしたら発生します。


#◼︎ALFastPersonTracking/ 
すばやく人間を追跡します。

## ▼TrackedpersonNotFound 
  追跡の結果、人間が見つからなかった場合、発生します。


#◼︎ALFindPersonHead/
人間の頭を見つけます。

## ▼HeadNotFound
  頭が見つからなかった時に発生します。

## ▼HeadReached
  頭が見つかった時に発生します。


#◼︎ALLocalization/ 
視覚によってロボットの姿勢・位置を特定するセンサーです。

## ▼FullScanBegin
  ロボットは完全なスキャンを開始したときに発生します。

## ▼FullScanInsufficient
  フルスキャンの情報が十分ではない場合に発生します。
  これは、ロボットが失敗したことを意味します。

## ▼FullScanSuccess
  フルスキャンの情報が十分位置特定した場合に発生します。

## ▼GoToBegin
  ALLocalizationProxyによる移動の開始時に発生します。

## ▼GoToContinue
  続けるときに発生します。

## ▼GoToFailed
  ロボットが目的地にたどり着けない時に発生します。

## ▼GoToLost
  その目的地に行くためにしようとしたときに、ロボットが迷った場合
  に発生します。

## ▼GoToNextMove
  ロボットが目的地に到達するための相対移動[X、Y、θ]の値が含まれています。

## ▼GoToSuccess
  ロボットが正常に目的地に到達した場合に発生します。

## ▼HalfScanBegin
  ロボットが頭部でハーフスキャンをはじめた時に発生します。

## ▼HalfScanInsufficient
  ハーフスキャン情報が現在の位置特定設定には十分ではない場合に発生します。

## ▼LocalizeBegin
  ロボットが位置特定プロセスを開始する時に発生します。

## ▼LocalizeDirectionLost
  ロボットの向きが正常に取得されていない場合に発生します。

## ▼LocalizeDirectionSuccess
  ロボットの向きが正常に取得された場合に発生します。

## ▼LocalizeLost
  位置特定が失敗したときに発生します。

## ▼LocalizeSuccess
  位置特定が成功した場合に発生します。

## ▼OdometryBegin
  ロボットが距離走行計を使用してローカライズ開始したときに発生します。

## ▼OdometryInsufficient
  もっと位置特定手順を実行する必要がある場合に発生します。

## ▼StartingComputation
  センサーから収集したデータに基づいて位置特定が計算され始める場合に
  発生します。

## ▼StoppingComputation
  ロボットの位置特定が計算完了した場合に発生します。


#◼︎ALMemory/
ハードウェア構成に関連するキー情報を取得するセンサーです。
作動装置とセンサーの現在の状態に関する情報を提供します。
またALValueを格納し取得することができます。

## ▼KeyAdded
  最新でつくられたキーの名前を運び、ALMemoryでキーが作成された後
  に発生します。

## ▼KeyRemoved
  関連するキーの名前を運び、キーがALMemoryから削除された後に発生します。

## ▼KeyTypeChanged
  例えば、イベントしてデータキーを宣言するとき、キーのタイプが変更された
  後に発生します。


#◼︎ALMotion/
ロボットの動きを作る容易な方法を提供します。
関節の数、自分の名前、限界、利用可能なセンサーなどのロボットのハードウェアに
関する有用な情報にアクセスすることができます。

## ▼Hatch/
  ハッチ。

###  ▼▼︎MoveFailed
    移動コマンドが失敗した場合に発生します。

## ▼Protection/
  保護機能。

###  ▼▼RobotIsFalling
    fall manager processがスタートした時に発生します。

###  ▼▼RobotIsStand
    ロボットは起立している時に発生します。

## ▼Safety/
  安全確保。

###  ▼▼︎ChainVelocityClipped
    障害物が近すぎるため、チェーン速度がクリップされる場合に発生します。

###  ▼▼︎︎MoveFailed
    移動の方向に障害物があるので移動コマンドが失敗した場合に発生します。

###  ▼▼︎︎PushRecovery
    ジャイロメータと車輪速から提供された情報を用いて、ロボットの転倒を
    防止するための専用の反射の動きです。
    NAOqiが実行されているときはデフォルトで有効になっています。

###  ▼▼︎︎RobotPushed
    ロボットが押されたときに発生します。

## ▼Stiffness/
  関節の硬さを制御します。

###  ▼▼︎︎restFinished
    楽な姿勢が終わった時に発生します。

###  ▼▼︎︎restStarted
    楽な姿勢になり始めた時に発生します。

###  ▼▼︎︎wakeupFinished
    起き上がるのが完了した時に発生します。

###  ▼▼︎︎︎wakeUpStarted
    起き上がり始めた時に発生します。


#◼︎ALMotionRecorder/
ロボットのモータポーズを記録するモジュールです。
このモジュールは廃止されたので、かわりにアニメーションモードを使ってください。

## ▼CurrnetFrame
  (廃止)

## ▼Recording
  (廃止)

## ▼StorePositionRequested
  (廃止)


#◼︎ALNavigation/
ナビゲーション機能を提供します。ロボットを安全に移動させるための機能です。
ロボットは、自動的に障害物を避けることはできませんが、障害物がロボットの
セキュリティゾーン入るとすぐに、慎重に移動し、停止させることができます。
移動の間、ロボットはすべてのセンサを用いて、その移動方向に障害物を検出
しようとします。

## ▼SafetyBlindZoneDeteched
  ブラインドゾーンがある時に発生します。


#◼︎ALPanoramaCompass/
パノラマコンパスの機能を提供します。

## ▼FullScanBegin
  完全なスキャン(そのベースの半回転を含む)を開始したときに発生します。

## ▼HalfScanBegin
  半回転スキャンを開始したときに発生します。

## ▼HalfScanInsufficient
  ロボットがより位置特定の必要がある場合に発生します。

## ▼StartShootoneFrame
  1フレームの撮影を開始。

## ▼StopShootOneFrame
  1フレームの撮影を終了。


#◼︎ALSential/
必須センサー。

## ▼BatteryLevel
  バッテリーレベルを検出します。


#◼︎ALSpeechRecognition/
複数の言語で、定義済みの単語やフレーズを抽出して認識するするセンサーです。

## ▼IsConnected
  接続されているときに発生します。


#◼︎ALTextToSpeech
ロボットを話させる機能です。
テキストを音声変換エンジンに送信しスピーカーから出力されます。

## ▼CurrentBookMark
  合成される必要がある文字列内の (整数[0〜65535]は"MRK=番号 "を使用して)
  に配置され、ブックマークの発生を示します。

## ▼CurrentSentence
  現在合成された文章を示します。

## ▼CurrentWord
  現在合成された単語を表示します。
  (日本のエンジンには使用できません。)

## ▼PositionOfCurrentWord
  現在の文でそのインデックスによって合成される単語を示します。
  インデックス0は、文の最初の単語を指します。
  (日本のエンジンには使用できません。)

## ▼Status
  タスクのステータスが変化した場合に発生します。

## ▼TextDone
  現在の文の合成が行われた場合に発生します。

## ▼TextInterrupted
  現在の文の合成が中断された場合に発生します。
  例えば、ALTextToSpeechProxy:: STOPALL

## ▼TextStarted
  現在の文の合成が開始したときに発生します。


#◼︎ALTracker/
ロボットが追跡する機能です。
異なるターゲット(赤いボール、顔、ランドマークなど)を別の手段
(ヘッドのみ、全身、移動など)を使用して追跡することができます。

## ▼ActiveTargetChanged
  動くターゲットに変更があったとき発生します。

## ▼ArmTracking/
  腕を追跡します。

###  ▼▼Restarted
    再び動き出した時に発生します。

###  ▼▼Stopped
    停止したときに発生します。

## ▼BlobDetected
  追跡されたオブジェクトが検出されるたびに発生します。
  関数ALTrackerProxyと共に使用することができる構造を持ちます。

## ▼CloseObjectDetected
  オブジェクトがカメラの深度「近距離」に検出される度に発生します。

## ▼ColorBlobDetected
  色のついたオブジェクトが検出された時に発生します。

## ▼FastPersonTracking
  はやく人を追跡します。

## ▼FindPersonHead
  人の頭を見つけた時に発生します。

## ▼HeadTracking/
  頭を追跡します。

###  ▼▼︎Restarted
    再び動き出した時に発生します。

###  ▼︎▼Stopped
    停止したときに発生します。

## ▼ObjectLookat
  オブジェクトを見ます。

## ▼ObjectMoveTo
  オブジェクトの動きを追跡します。

## ▼SearchLoopOver
  ループ上を探します。

## ▼SecondTargetDetected
  第二の目標が検出された時発生します。

## ▼StopSearch
  探すのをやめます。

## ▼TargetDetected
  目標が検出されたときに発生します。

## ▼TargetLost
  目標を見失った時に発生します。

## ▼TargetReached
  目標に到達した時に発生します。


#◼︎ALWorldRepresentation/
データの長期記憶モジュールです。
永続的にいくつかのデータを格納するだけでなく、インテリジェントな規準で
保存されたデータにいくつかの一般的なクエリを作成することができます。
データベースはSQLデータベースへのC/ C ++ APIをSQLiteを通じて
アクセスされます。

## ▼DisplayRequired
  表示が必要なときに発生します。


#◼︎AsrEmotion
ASRエモーション。(調査中)


#◼︎BackBumperPressed
後ろのパンバーを押された時に発生します。


#◼︎BatteryChargeCellVoltageMinChanged
バッテリーの最小電圧が変化する時に発生します。


#◼︎BatteryChargeChanged
電池残量のパーセンテージが変化する時に発生します。


#◼︎BatteryChargingFlagChanged
バッテリが充電されている時に発生します。


#◼︎BatteryEmpty
バッテリーが空になった時に発生します。


#◼︎BatteryFullChargedFlagChanged
バッテリがフルチャージされた時に発生します。


#◼︎BatteryLowDetected
バッテリーレベルが少ない時に発生します。


#◼︎BatteryNearlyEmpty
バッテリーがほぼ空で充電が必要な時に発生します。


#◼︎BatteryNotDetected
バッテリーが検出されない時に発生します。


#◼︎BatteryPowerPluggedChanged
充電器が差し込まれているときに発生します。


#◼︎BatteryTrapIsOpen
バッテリーのふたが開いているときに発生します。


#◼︎BehaviorsRun
実行中の行動が変更した時に発生する。


#◼︎BodyStiffnessChanged
ボディの硬さが大幅に変更された時に発生します。


#◼︎CloseObjectDetection/
近くのオブジェクトを検出。

## ▼ObjectDetection
  オブジェクトを検出すると発生します。

## ▼ObjectNotDeteched
  オブジェクトを検出しないと発生します。


#◼︎DeviceNoLongerHotDetected
少なくとも1つのデバイスがもうホットでなくなった時に発生します。


#◼︎Dialog/
会話の機能を提供するモジュールです。
このモジュールはALModule APIからメソッドを継承します。

## ▼Answerd
  ロボットが話すとき毎回発生します。
  このイベントをサブスクライブすることでALDialogが開始します。

## ▼Compilation/
  編集。

###  ▼▼Finished
    編集完了すると発生します。

## ▼IsStarted
  もしTrueなら、ALDialogがスタートします。

## ▼LastInput
  ロボットが人間のインプットをキャッチするたびに発生します。
  最後の人のインプットが含まれています。

## ▼NotSpeaking10
  人間が10秒間話していないときに発生します。

## ▼NotSpeaking1access5
  人が*秒話していないときに発生します。

## ▼NotSpeaking20
  人間が20秒間話していないときに発生します。

## ▼NotSpeaking5
  人間が5秒間話していないときに発生します。

## ▼NotUnderstood
  いくつかの人間の話しを聞いたが、どのルールもマッチしない時に発生します。

## ▼SpeakLouder
  大声の話を聞いたときに発生します。

## ▼StartApp
  ダイアログ(対話)エンジンが停止し、アプリケーションの起動を要求します。

## ▼StartUpdate
  ダイアログモデルとランタイム(実験)での音声認識モデルを更新する
  ことができます。
  パラメータは未使用ですが、ALMemory APIへフィットします。


#◼︎EnablePowerMonitoring
電力監視を有効または無効にします。


#◼︎EngagementZones/
ロボットに関する空間と領域を使って検出された、人間の動きを分類します。

## ▼FirstLimitDistanceUpdated
  最初に限界角度値が変更された時に発生します。

## ▼LimitAngleUpdated
  限界角度値が変更された時に発生します。

## ▼MovementsZonesUpdated
  運動ゾーンが更新された時に発生します。

## ▼PeopleInZonesUpdated
  それぞれのゾーン内の人間のIDのリストを含むメモリキーが更新された時に
  発生します。

## ▼PersonEnteredZone1
  人がゾーン1に入った時に発生します。

## ▼PersonEnteredZone2
  人がゾーン2に入った時に発生します。

## ▼PersonEnteredZone3
  人がゾーン3に入った時に発生します。

## ▼PersonMovedAway
  人がちょうどロボットから移動した時に発生します。

## ▼SecondLimitDistanceUpdated
  第2限界距離値が変更された時に発生します。


#◼︎FrontTactilTouched
フロントヘッドの触覚センサがタッチされたときに発生します。


#◼︎GazeAnalysis/
人の目を検出します。
人がロボットを見ているかどうかを知るために、検出された人物の視線の方向を
分析することができます。
また、人の目が開いているか閉じているかどうかも検出します。

## ▼PeopleLookingAtRobot
  人がロボットを見ている時に発生します。

## ▼PersonStartsLookingAtRobot
  誰かがロボットに向けて頭を向けた時に発生します。

## ▼PersonStopsLookingAtRobot
  誰かがロボットから離れて頭を向けた時に発生します。


#◼︎HandLeftBackTouched
左手背中触覚センサーがタッチされた時に発生します。


#◼︎HandRightBackTouched
右手背中触覚センサーがタッチされた時に発生します。


#◼︎HeadProcessorIsCriticallyHot
頭部プロセッサが危険なほど熱くなった時に発生します。


#◼︎HeadProcessorIsHot
頭部プロセッサが熱くなった時に発生します。


#◼︎HotDeviceDetected
少なくとも一つの装置(関節、アクチュエーター、センサ)の温度が高い時に
発生します。


#◼︎HotJointDetected
少なくとも一つの関節の温度が高い時に発生します。


#◼︎LeftBumperPressed
左バンパーが押された時に発生します。


#◼︎MiddleTactilTouched
中央のヘッド触覚センサーがタッチされた時に発生します。


#◼︎MovementDetection/
ロボットの視野内の動きを検出することができます。

## ▼MovementDetected
  動きが現在のカメラのフレーム(RGBまたは深度)で検出されている
  たびに発生します。

## ▼NoMovement
  動きが現在のカメラのフレーム(RGBまたは深度)で検出されなかった場合に
  発生します。


#◼︎NAOqiReady
NAOqiのすべての自動読み込みモジュールが読み込み完了し、準備OKの場合に
発生します。


#◼︎Navigation/
ナビゲーションの機能を提供します。

## ▼AvoidanceNavigator/
  回避ナビゲーター。

###  ▼▼AbsTargetModified
    障害物があり、必要なターゲットに到達できない時に発生します。

###  ▼▼︎MovingToFreeZone
    ロボットが近くの障害物から去るときに発生します。

###  ▼▼︎ObstacleDetected
    近いエリアで障害物が検出されたときに発生します。

###  ▼▼︎Status
   local navigator の状態が変化するときに発生します。

###  ▼▼︎TargetOutOfMap
    ターゲットが地図からはずれたときに発生します。

###  ▼▼TooManyPathRecomputation
    あまりにも多くのパスの再計算が行われるときに発生します。

###  ▼▼TrajectoryProgress
    軌道進行状況が更新されるときに発生します。

## ▼FreeZoneFinder/
  フリーゾーンを見つける。

###  ▼▼ConstraintZone
    制約ゾーンの時に発生します。

## ▼SafeNavigator
  安全ナビゲーター。

###  ▼▼BlockingObstacle
    障害物にふさがれている時に発生します。

###  ▼▼︎DangerousObstacleDetected
    危険な障害物があるときに発生します。

###  ▼▼︎Status
    安全ナビゲーターの状況が変化するとき発生します。


#◼︎notificationAdded
新しい通知が追加されたときに発生します。


#◼︎notificationRead
通知が読まれたときに発生します。


#◼︎notificationRemoved
通知が削除されたときに発生します。


#◼︎packageRemoved
PackageManagerはまだ特殊なプロキシを持っていません。


#◼︎PassiveDiagnosisErrorCharged
パッシブ診断が充電エラーの場合に発生します。


#◼︎PeoplePerception/
ロボットの周りの人々を追跡し、その結果の情報提供を行います。

## ▼JustArrived
  新たな人物が検出され、集団に追加されたとき発生します。

## ▼Justleft
  人が集団から離れた時に発生します。

## ▼MaximumDetectionRangeUpdated
  最大検出距離の値が変更された時に発生します。

## ▼NonVisiblePeopleList
  ロボット(IsVisible属性が0に等しい)による変更で人間のリストが
  現在表示されていないたびに発生します。

## ▼PeopleDetected
  少なくとも1人がロボットに見えている時に発生します。
  検出された人物に関する情報が含まれ、人々を追跡するためにALTrackerに
  よって使用されます。

## ▼PeopleList
  現在の集団の変化での人物の一覧が発生するたびに発生します。
  関連データは現在の人口の人々ID(整数)のリストです。
  これらのIDは、それぞれの人の属性に対してALMemoryを検索するために
  使用されています。

## ▼PopulationReset
  集団のデータをリセットします。

## ▼PopulationUpdated
  集団のデータが更新されるたびに発生します。

## ▼RemovePersonFromMemory
  メモリーから人物の記録を消去しまsす。

## ▼VisiblePeopleList
  見えている人のリストが更新されるたびに発生します。


#◼︎PostureChanged
姿勢が変更したとき発生します。


#◼︎PostureFamilyChanged
複数の姿勢が変更したとき発生します。


#◼︎PosturePerturbated
姿勢が中断された時に発生します。


#◼︎preferenceAdded
新しい設定がシステムに追加されたとき発生します。


#◼︎preferenceChanged
設定の値が更新されたとき発生します。


#◼︎preferenceRemoved
設定が削除されたとき発生します。


#◼︎RearTactilTouched
後ろを触られた時に発生します。


#◼︎redBallDetected
赤いボールが検出された場合に発生します。


#◼︎RightBumperPressed
右バンパーが押された場合に発生します。


#◼︎robothasFallen
落下マネージャプロセスを終了したとき発生します。


#◼︎robotIsWakeUp
ロボットが起きているかどうかを検出します。


#◼︎Segmentation3D/
  奥行きのある画像のセグメンテーションを行うことによって、ロボットの
  視野内に存在するオブジェクトを抽出します。
  このモジュールは、3Dセンサー付きロボットを必要とします。

## ▼BlobTrackerUpdated
  追跡オブジェクトが検出されるたびに発生します。
  追跡ブロブの更新された位置についての情報は、メモリキー
  Segmentation3D/TopOfTrackedBlobを使用してアクセスできます。

## ▼SegmentationUpdated
  セグメンテーションが計算されるたびに発生します。
  更新されたセグメンテーションのオブジェクトの記述は、メモリキー
  Segmentation3D/ BlobsListを使用してアクセスできます。

## ▼TopOfTrackedBlob
  追跡オブジェクトに関しての情報が含まれています。


#◼︎SittingPeopleDetected/
  周りの人間が座っているか、立っているかを検出します。
  ロボットは地面に置かれている必要があります。
  また、子供など身長が低い人の場合は判別ができないことがあります。

## ▼PersonSittingDown
  人が立ってから座る姿勢をとるときに発生します。

## ▼PersonStandingUp
  人が座ってから立つ姿勢をとるときに発生します。


#◼︎SonarLateralLeftDetected
ロボットの左側にものがあるときに発生します。


#◼︎SonarLateraRightDetected
ロボットの右側にものがあるときに発生します。


#◼︎SonarLeftDeteched
ロボットの左前側にものがあるときに発生します。


#◼︎SonarLeftNothingDeteched
ロボットの左前側にものがないときに発生します。


#◼︎SonarMiddleDeteched
ロボットの中央にものがあるときに発生します。


#◼︎SonarNothingDeteched
ロボットの中央にものがないときに発生します。


#◼︎SonarRightDeteched
ロボットの右前側にものがあるときに発生します。


#◼︎SonarRightNothingDeteched
ロボットの右前側にものがないときに発生します。


#◼︎TemperatureDiagnosisErrorCharged
温度診断ステータスが変更されたとき発生します。


#◼︎TemperatureStatusChanged
温度ステータスが変更された場合に発生します。


#◼︎TouchChanged
ロボットのタッチの状態が変更されたときに発生します。


#◼︎UserSession/
アクティブユーザの状態、およびそのデータへのバインディングを管理します。
(APIを取得したユーザだけが、現在利用可能。)

## ▼FocusedUser
  ユーザーを特定したときに発生します。


#◼︎VisualCompass/
YおよびZ軸に沿って参照画像と比較することでロボットの現在の回転角度を
検出します。
ALVisualCompassは、カメラから画像を取得しているので、実際のロボットで
動作させる必要があります。

## ▼Deviation
  コンパスからの現在の画像の偏差が算出されるたびに発生します。

## ▼FinalDeviation
  最終的な偏差があった時に発生します。

## ▼InvalidReference
  新しい基準画像の設定が失敗した時に発生します。

## ▼Match
  コンパスからの現在の画像の偏差が計算されるたびに発生します。

## ▼MoveAbort
  移動の終了後に発生します。
  移動が中止された場合はture、ターゲットが到達した場合はfalse。

## ▼NewReferenceImageSet
  新たな参照画像を設定したときに発生します。
  成功した場合はture、参照画像をクリアした場合false。


#◼︎WavingDetection/
人間がロボットの注意を引くために動いているかを検出します。

## ▼PersonWaving
  誰かがロボットに手を振った時に発生します。

## ▼PersonWavingCenter
  誰かがロボットに手を振って、人間の前に動きが検出された時に発生します。

## ▼PersonWavingLeft
  誰かがロボットに手を振って、人間の左側で動きが検出された時に発生します。
  例えば、左手を振った時。

## ▼PersonWavingRight
  誰かがロボットに手を振って、人間の右側で動きが検出された時に発生します。
  例えば、右手を振った時。


#◼︎WordRecognized
ALSpeechRecognitionProxy:: setVocabulary()で指定された1つの
ワードが認識されているときに発生します。


20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?