University/Jetbot
Jetbot Teleporation
PrestoLive
2020. 11. 4. 19:20
참고 : https://github.com/NVIDIA-AI-IOT/jetbot/blob/master/notebooks/teleoperation/teleoperation.ipynb
NVIDIA-AI-IOT/jetbot
An educational AI robot based on NVIDIA Jetson Nano. - NVIDIA-AI-IOT/jetbot
github.com
WaveShare社의 키트를 사용하면, Gamepad가 딸려 온다. 이를 통하여 Jetbot을 조종하는 코드이다.
import ipywidgets.widgets as widgets
controller = widgets.Controller(index=0) # replace with index of your controller
display(controller)
- 컨트롤러를 불러온다.
--> 단, 컨트롤러의 index값은 0이어야한다.(왜 인지는 모르겠음.)
from jetbot import Robot
import traitlets
robot = Robot()
left_link = traitlets.dlink((controller.axes[1], 'value'), (robot.left_motor, 'value'), transform=lambda x: -x)
right_link = traitlets.dlink((controller.axes[3], 'value'), (robot.right_motor, 'value'), transform=lambda x: -x)
- Robot을 import하고, robot 클래스를 선언한다.
- left_link, right_link를 통하여 컨트롤러의 1, 3번 막대를 각각 좌, 우 모터에 할당한다.
--> 이때, 람다식을 이용하여 역으로 변환하여 directional link를 한다.
--> transform=lambda x: -x 에서 -x에 속력을 곱하거나 나누어 바퀴가 움직이는 속도를 조절 할 수 있다.