turtlebot3-burger_150.png
turtlebot3-waffle-pi_150.png
turtlebot3-arm_150.png
walking-y2_150.png
turbot3-multi_150.png
turbot3-dl-ros1_150.png
turbot3-ai.png
turbot3-dl-ros2_150.png
turbot3-slam_150.png
turbot3-arm_150.png
turtlebot4-lite_150.png
turtlebot4-pro_150.png
turbot4-dl_150.png
turbot4-ai_150.png
aidriving-racebot_150.png
aidriving-autodrive_150.png
turtlebot-arm_150.png
openmanipulator-x_150.png
Home » Jetbot-AI机器人教程 » Jetbot-AI机器人教程-WEB网页控制

Jetbot-AI机器人教程-WEB网页控制

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号

Jetbot-AI机器人教程-WEB网页控制

说明:

  • 介绍如何通过web界面控制小车

步骤:

  • 基本界面:

请输入图片描述

  • 访问http://<jetbot_ip_address>:8888连接到您的机器人

  • 使用默认密码jetbot登录

  • 导航到~/Notebooks/basic_motion/

  • 打开basic_motion.ipynb文件

  • 需要确保JetBot小车有足够的空间移动

  • 点击菜单栏Run -> Run the selected cells and advance,或者点击运行快捷图标▶来运行单段程序

  • 运行下面语句时,小车会向左转圈。如果小车没有正常左转,可能是接线接错了,需要重新检查接线是否正确

robot.left(speed=0.3)

  • 运行下面这段程序后,会输出左右两条滑条,拖动滑条可以改变左右点击的转速
import ipywidgets.widgets as widgets
from IPython.display import display

#create two sliders with range [-1.0, 1.0]
left_slider = widgets.FloatSlider(description='left', min=-1.0, max=1.0, step=0.01, orientation='vertical')
right_slider = widgets.FloatSlider(description='right', min=-1.0, max=1.0, step=0.01, orientation='vertical')

# create a horizontal box container to place the sliders next to eachother
slider_container = widgets.HBox([left_slider, right_slider])

# display the container in this cell's output
display(slider_container)


  • 运行下面代码之后,可以通过网页按键来控制小车的前后左右移动。通过右键该段代码->Create New View for Output 将输出窗口作为新页面打开
def stop(change):
    robot.stop()

def step_forward(change):
    robot.forward(0.4)
    time.sleep(0.5)
    robot.stop()

def step_backward(change):
    robot.forward(0.4)
    time.sleep(0.5)
    robot.stop()

def step_left(change):
    robot.forward(0.4)
    time.sleep(0.5)
    robot.stop()

def step_right(change):
    robot.forward(0.4)
    time.sleep(0.5)
    robot.stop()

# link buttons to actions
stop_button.on_click(stop)
forward_button.on_click(step_forward)
backward_button.on_click(step_backward)
left_button.on_click(step_left)
right_button.on_click(step_right)

  • 下面代码通过“心跳”来保持小车的正常工作,拖动滑条降低心跳频率后小车会停止转动
from jetbot import Heartbeat

heartbeat = Heartbeat()

# this function will be called when heartbeat 'alive' status changes
def handle_heartbeat_status(change):
    if change['new'] == Heartbeat.Status.dead:
        robot.stop()

heartbeat.observe(handle_heartbeat_status, names='status')

period_slider = widgets.FloatSlider(description='period', min=0.001, max=0.5, step=0.01, value=0.5)
traitlets.dlink((period_slider, 'value'), (heartbeat, 'period'))

display(period_slider, heartbeat.pulseout)

演示视频

<iframe height=498 width=100% src="//player.bilibili.com/player.html?aid=66492728&cid=115318012&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

纠错,疑问,交流: 请进入讨论区请点击进入页面,扫码加入微信群或Q群进行交流

获取最新文章: 扫一扫加入“创客智造”公众号


标签: jetbot-ai机器人教程