2010年1月26日 星期二

獨立 session 的 xorg.conf 雙螢幕設定

垂直雙螢幕不同的地方是多一個 Device Section, 雙螢幕各自有一組 Device-> Monitor-> Screen, 並且兩個 Screen 的解析度是各自設定的 (modes), 沒有 Virtual Display 的設定, 依照 ServerLayout 可以讓 Input Device 在兩個螢幕間移動, 但視窗在雙螢幕間無法拖拉跨越, 是類似 KVM 的功能。

xorg.conf

Section "Monitor"
#DisplaySize 300 230 # mm
Identifier "VGA Monitor"
VendorName "SAM"
ModelName "SyncMaster"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 75.0
Option "PreferredMode" "1024x768"
Option "Position" "0 0"
Option "DPMS"
EndSection

Section "Monitor"
#DisplaySize 300 230 # mm
Identifier "DVI-0 Monitor"
VendorName "SAM"
ModelName "SyncMaster"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 75.0
Option "PreferredMode" "1280x1024"
Option "Position" "0 768"
Option "DPMS"
Option "below" "VGA-0"
EndSection

Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B60 [Radeon X300 (PCIE)]"
BusID "PCI:5:0:0"
Screen 0
Option "monitor-VGA-0" "VGA Monitor"
Option "monitor-DVI-0" "DVI Monitor"
EndSection

Section "Device"
Identifier "Card1"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B60 [Radeon X300 (PCIE)]"
BusID "PCI:5:0:0"
Screen 1
Option "monitor-VGA-0" "VGA Monitor"
Option "monitor-DVI-0" "DVI Monitor"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "VGA Monitor"
SubSection "Display"
Depth 24
Modes "1024x768"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "DVI Monitor"
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 768
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

垂直雙螢幕的 xorg.conf 設定

備份 Ubuntu 9.10 設定垂直排列雙螢幕, 兩顆螢幕都是接在同一張顯示卡,小螢幕在上, 大螢幕在下, 小螢幕解析度 1024x768 接 VGA output, 大螢幕解析度 1280x1024 接 DVIoutput, 另外有使用 gnome GUI 工具調整螢幕設定,或是 xrandr 指令, 以介面來區分:

xrandr --output VGA-0 --mode 1024x768 --output DVI-0 --mode 1280x1024 --below VGA-0

xorg.conf 中各個 section 定義

Monitor -> 螢幕

Device -> 顯示卡

Screen -> 顯示卡跟螢幕透過 VGA/DVI 介面的組合, 所以至少要有跟螢幕同等數目的 Screen 設定, virtual display設定到 2048x2048 可塞下多螢幕的解析度

xorg.conf 檔案

Section "Monitor"
#DisplaySize 300 230 # mm
Identifier "VGA Monitor"
VendorName "SAM"
ModelName "SyncMaster"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 75.0
Option "Position" "0 0"
Option "DPMS"
EndSection

Section "Monitor"
#DisplaySize 300 230 # mm
Identifier "DVI-0 Monitor"
VendorName "SAM"
ModelName "SyncMaster"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 75.0
Option "Position" "0 768"
Option "DPMS"
Option "Below" "VGA Monitor"
EndSection

Section "Device"
Identifier "Card0"
Driver "ati"
VendorName "ATI Technologies Inc"
BoardName "RV370 5B60 [Radeon X300 (PCIE)]"
BusID "PCI:5:0:0"
Option "monitor-VGA-0" "VGA Monitor"
Option "monitor-DVI-0" "DVI Monitor"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "VGA Monitor"
SubSection "Display"
Depth 24
# Modes "1024x768"
Virtual 2048 2048
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card0"
Monitor "DVI Monitor"
SubSection "Display"
Depth 24
Modes "1280x1024" "1024x768"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 0 768
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

2010年1月19日 星期二

使用 SLAM 的掃地機器人

採用 SLAM (Simultaneous Localization And Mapping) 同時定位
與環境側寫技術的新清潔機器人,一般常見的 iRobot 清潔機器人
將出現新競爭對手,來自史丹佛大學人工智慧實驗室的新創公司
Neato Robotics,新的探測採用雷射掃描,將可以探測未知的環境
地型並仍能定位出家具,移動物,門的位置,判斷該往哪邊前去
吸塵。

相關連結:

Simultaneous localization and mapping 維基百科

基於全向式影像之機器人 同時定位與環境地圖建立 黃富聖 pdf

Neato Robotics