Former

Introduction

former

포머(Former) 는 ROS 기반의 모바일 플랫폼으로, 컴퓨터와 라이더 센서, 카메라, IMU 센서, 초음파 센서 등이 포함되어 있습니다. 사용자는 이를 바탕으로 SLAM 및 Navigation 등 다양한 데모 어플리케이션을 바로 사용할 수 있고, 추가 개발이 가능합니다.


What items are included

포머와 함께 포함되어 있는 기본 구성 요소들은 아래와 같습니다.

Item Name Quantity
Former mobile platform
  • Intel i5 computer
  • SICK TiM571
  • Intel RealSense D435
  • IMU
  • Ultrasonic sensor x 2
x 1
Lithium battery x 1
Battery charger x 1
Bluetooth controller x 1
User manual x 1

추가로 선택할 수 있는 옵션은 아래와 같습니다.

  • 리튬이온(Li-ion) 배터리 업그레이드
  • 자동 충전을 위한 도킹 스테이션

Technical Specifications

Mechanics
Dimensions (L x W x H) 404 x 404 x 308 mm
Weight 35 kg
Ground Clearance 60 mm
Performance
Max. Speed 1.5 m/s
Max. Payload 70 kg
Type of Drive Two wheels differential drive
Drive Power 300 W
Working Environment Indoor
Battery and Power
Battery Type LiFePo4 (default) | Li-ion
Capacity 25.6 V 15 Ah 25.9 V 31.2 Ah
Run Time 2 hours 4 hours
Charge Time 1.5 hours 2.5 hours
Charging Interface Battery charger, Docking station (optional)
User Power 5 V at 3 A, 12 V at 5 A, 24 V at 5 A (total 195 W)
System
Communication Ethernet, USB
Feedback Odometry, motor velocity and current, battery voltage, controller temperature
System environment Ubuntu, ROS, ROS2
Computer Intel i5, 8GB RAM, 120GB SSD, Wi-Fi Adapter
Controller Bluetooth controller
Sensors
2D Lidar Sensor SICK TiM571
RGBD Camera Intel RealSense D435
IMU Triaxial accelerometer, rate gyro and magnetometer
Range Sensor Ultrasonic sensor x 2

Dimensions

dimensions

Dimensions


Overview

Robot Overview

front view

Former front view

rear view

Former rear view

포머는 2개의 BLDC 모터를 이용하여 차동 구동(Differential drive) 방식으로 제어됩니다. 로봇의 전면에는 라이더 센서, RGBD 카메라, 초음파 센서와 도킹을 위한 충전 단자가 있습니다. 로봇의 후면에는 비상 정지 스위치와 인터페이스 패널이 있습니다.

interface panel

Former interface panel

인터페이스 패널에는 배터리 충전기와 연결할 수 있는 충전 커넥터(Anderson connector)와 전원 스위치, 내부 컴퓨터와 연결되는 USB, HDMI, LAN 포트가 포함되어 있습니다.


Electrical Overview

power diagram

Former power diagram

로봇 내부에 있는 전원 보드(Power Distribution Board)는 24V 배터리와 연결됩니다. 보드는 배터리의 전압을 24V, 12V, 5V로 강압하여 로봇의 구성 요소에 공급합니다.

Tip

사용자는 Molex 커넥터(5557-02)를 이용하여 User Power와 추가 디바이스를 연결할 수 있습니다.

communication diagram

Former communication diagram

로봇의 전체 시스템은 ROS(Robot Operating System) 를 기반으로 통합되어 있으며, 로봇 내부의 컴퓨터에서 제어할 수 있습니다. 컴퓨터는 Serial 통신을 이용하여 모터 컨트롤러와 통신합니다. LAN 포트를 이용하여 TiM571 라이더 센서와 연결되고, USB 포트를 이용하여 D435 카메라, IMU 센서와 연결됩니다.


Component Overview

2D Lidar Sensor

포머의 전면에는 SICK TiM571 2D 라이더 센서가 설치되어 있습니다. 라이더 센서의 특징은 220°의 측정각, 25m의 측정거리, 15hz의 스캔 주파수, 0.33°의 분해능입니다. 라이더 센서는 TCP/IP 통신 인터페이스를 사용합니다.

RGBD Camera

포머의 전면에는 Intel RealSense D435 RGBD 카메라가 설치되어 있습니다. 카메라의 RGB 특징은 1920×1080의 해상도, 69.4°×42.5°×77°(H×V×D)의 FOV, 30 fps의 프레임입니다. 카메라의 depth 특징은 1280×720의 해상도, 86°×57°의 FOV, 90 fps의 프레임입니다. 카메라에는 통신을 위한 USB-C 타입 커넥터가 있습니다.

IMU Sensor

포머의 내부에는 9축 IMU 센서가 설치되어 있습니다. 센서는 확장 칼만 필터를 사용하여 결합된 가속도계, 자이로 속도, 자력계 데이터를 제공합니다. 센서의 특징은 ±2000°/s의 자이로 측정 범위, ±8 g의 가속도 측정 범위, ±12 gauss의 자력계 측정 범위입니다. 센서는 통신 TTL serial과 SPI 통신 인터페이스를 지원합니다.

Range Sensor

포머의 전면에는 2개의 초음파 센서가 설치되어 있습니다. 센서의 특징은 0.3m-5m의 측정 거리, 1mm의 분해능입니다.


Computer Overview

포머 내부에 설치된 컴퓨터의 기본 사용자 이름은 former 이고, 비밀번호는 roas 입니다. 설치되어 있는 운영체제는 Ubuntu 18.04 입니다.

Network

포머 내부에는 이더넷 포트의 확장을 위해 이더넷 허브가 설치되어 있습니다. 기본적으로 이더넷 허브에는 컴퓨터와 라이더 센서, 인터페이스 패널의 LAN 포트가 연결되어 있습니다. 사용자는 192.168.10.x 대역의 IP를 이용하여 인터페이스 패널의 LAN 포트를 사용할 수 있습니다.

Device Name IP Address
Computer 192.168.10.10
2D Lidar sensor 192.168.10.11

Upstart

포머는 systemd를 사용하여, 컴퓨터가 부팅됐을 때 자동으로 ROS 시스템을 실행합니다.

Service Name Description
former 포머의 기본 시스템을 실행 (모터 컨트롤러와 통신, 차동 구동 컨트롤러, 오도메트리 계산 등)
sensors 포머에 설치되어 있는 센서들을 실행 (라이더 센서, RGBD 카메라, IMU, 초음파 센서 등)

Upstart 기능은 아래의 명령어를 이용하여 수동으로 정지 및 시작할 수 있습니다.

$ sudo service former stop
$ sudo service former start
$ sudo service sensors start

ROS System Overview

ros

로봇 응용 프로그램 개발을 위한 오픈 소스, 메타 운영체제인 ROS는, 로봇 응용 프로그램을 개발할 때 필요한 하드웨어 추상화, 하위 디바이스 제어, 일반적으로 사용되는 기능의 구현, 프로세스 간의 메시지 전달, 패키지 관리, 개발 환경에 필요한 라이브러리와 다양한 개발 및 디버깅 도구를 제공합니다.

ROS는 공식 지원 운영체제로 Ubuntu LTS를 지원합니다. 지원하는 Ubuntu 버전은 2년에 한 번씩 공개되는 Ubuntu LTS(Long Term Support) 주기에 맞추기로 하였고, 현재 Ubuntu 20.04 버전에 맞춰서 ROS Noetic 버전까지 공개되어 있습니다.

포머의 소프트웨어는 Ubuntu 18.04와 ROS Melodic 기반으로 합니다. 필수 라이브러리와 소프트웨어 패키지들은 포머 내부의 컴퓨터에 설치되어 있습니다. 소스 파일은 기본 워크스페이스로 설정된 폴더(~/catkin_ws/src) 안에 설치되어 있습니다.

포머가 제공하는 ROS API는 아래의 표와 같습니다.

Topic Name Name Message Type Description
/cmd_vel geometry_msgs/Twist 포머를 구동시킬 수 있는 속도 명령
/odometry/filtered nav_msgs/Odometry 바퀴의 엔코더와 IMU 데이터를 결합하여 계산된 odometry
/former/feedback forme_msgs/Feedback 모터 컨트롤러부터 받은 피드백
/scan sensor_msgs/LaserScan 2D 라이더 센서의 데이터
/camera/color/image_raw sensor_msgs/Image RGBD 카메라의 RGB 데이터
/camera/depth/image_rect_raw sensor_msgs/Image RGBD 카메라의 depth 데이터 (2D)
/camera/depth_registered/points sensor_msgs/PointCloud2 RGBD 카메라의 depth 데이터 (3D)
/imu/data sensor_msgs/IMU 가속도계, 자이로 속도 및 자력계 데이터를 기반으로 추정된 위치 데이터
/former/left_ultrasonic sensor_msgs/Range 초음파 센서의 데이터
/former/right_ultrasonic

Getting Started

첫 번째 단계는 포머의 전원을 켜는 것입니다. 포머의 후면에 있는 인터페이스 패널의 전원 버튼을 누르십시오. ROS는 분산 컴퓨팅 환경으로, 사용자의 컴퓨터에서 원격으로 포머의 ROS 인터페이스와 연결할 수 있습니다. 이를 위해서 먼저 포머의 컴퓨터와 사용자의 컴퓨터를 같은 네트워크에 연결하고, 작업 환경 설정과 ROS 네트워크 설정이 필요합니다.

ROS Environment

ROS Workspace Setup

  1. 포머의 컴퓨터에 설치된 패키지들(~/catkin_ws/src/former_ros)을 사용자 컴퓨터의 워크스페이스로 복사하십시오.
$ cd former_ros/ ~/catkin_ws/src/
  1. former_base 패키지의 lib 폴더 안에 있는 deb 파일들을 설치한 뒤에 패키지들을 빌드하십시오.
$ cd ~/catkin_ws/src/former_ros/former_base/lib
$ sudo dpkg -i ros-melodic-roas-base-*

ROS Network Setup

  1. bashrc 스크립트 파일에서 ROS_MASTER_URI, ROS_HOSTNAME 환경 변수를 설정하십시오.
$ vim ~/.bashrc

# Add the following lines
export ROS_MASTER_URI=http://<FORMER_IP>:11311
export ROS_HOSTNAME=<USER_COMPUTER_IP>

<FORMER_IP> 는 포머 컴퓨터의 IP 주소이고, <USER_COMPUTER_IP> 는 사용자 컴퓨터의 IP 주소입니다.

  1. Hostname과 IP 주소를 매핑하기 위하여 /etc/hosts 파일에 아래의 내용을 추가하십시오.
$ sudo vim ~/.bashrc

# Add the following line
<FORMER_IP>    <FORMER_HOSTNAME>

<FORMER_IP> 는 포머 컴퓨터의 IP 주소이고, <FORMER_HOSTNAME> 는 포머 컴퓨터의 Hostname 입니다. 일반적으로 Hostname은 로봇의 시리얼 넘버로 설정되어 있습니다.

Tip

Hostname은 hostname 명령을 터미널 창에 입력해서 확인할 수 있습니다.

위 설정 과정을 마치면 사용자의 컴퓨터와 포머의 ROS 인터페이스를 연결할 수 있습니다. 그리고 ssh를 이용하여 사용자의 컴퓨터에서 포머의 컴퓨터로 원격 접속이 가능합니다.

$ sudo apt install ssh
$ ssh former@<FORMER_IP>

Teleoperation

함께 제공되는 블루투스 컨트롤러를 이용하여 포머를 수동으로 조작할 수 있습니다. 컨트롤러의 가운데에 있는 PS4 로고 버튼을 누르면, 컨트롤러의 라이트가 점멸되면서 전원이 켜집니다. 포머의 컴퓨터와 페어링이 완료되면 컨트롤러의 라이트가 파란색으로 점등됩니다. 페어링을 다시 하기 위해서는 SHARE 버튼과 PS4 로고 버튼을 함께 눌러줘야 합니다.

L1 (Deadman Switch)와 좌우 스틱을 이용하여 로봇을 조작할 수 있습니다. L1 , X 버튼을 이용해서 속도를 조절할 수 있습니다. L1 버튼을 누르면 속도 20%(최대 속도 기준) 증가하며, L1X 버튼을 누르면 속도가 20% 감소합니다.

teleoperation

Teleoperation


Contact

로아스는 사용자가 포머를 원활하게 사용할 수 있도록 적극적으로 지원하고 있습니다. 포머와 관련된 기술 문의는 메일을 보내주시면 신속하게 대응해드리겠습니다. support@roas.co.kr

포머나 기타 로아스의 제품과 관련된 문의는 sales@roas.co.kr 로 메일을 보내주십시오.