X3Pi_guide

一、X3Pi刷机+点亮测试

1.1 刷机+点亮

  • 准备SD卡和读卡器,到资源中心下载X3派系统镜像;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1XtQOIxa-1673525848808)(00.png)]
  • 安装balenaEtcher烧录工具,按教程烧录镜像到SD卡;
  • X3Pi断电情况下将SD卡插入X3Pi卡槽,连接网线、显示器(可选),开发板上电,指示灯绿灯熄灭后即启动完成;
    =====>
  • 服务器版镜像可以在显示器看到地平线logo,系统启动完成后可以通过串口、SSH方式登录。第一次上电后使用串口登录以进行基本配置;
  • PC机为Windows系统可以安装MobaXterm,下载免费版即可;
  • 然后将串口USB转接板接入PC机,在设备管理器中查看是否连接上,若提示未知设备,资源中心下载串口驱动并安装,完成后在设备管理器查看端口号;
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4cSsZirX-1673525848809)(03.png)]
  • 打开MobaXterm,点击Session,然后选择Serial。配置端口号为设备管理器端口号,波特率设置为921600,点击OK,输入用户名(root)和密码(root)登录到X3Pi;
  • 登录后,使用ifconfig查看开发板网络配置,确保与PC机处于同一网段,若不在同一网段,确保两设备在同一局域网内,然后可设置X3Pi静态IP,具体参考X3Pi网络配置,网络配置完成后即可使用SSH登录;
sudo vim /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0
iface eth0 inet static
   address 192.168.1.10 # 配置为与PC机为同一网段
   netmask 255.255.255.0
   gateway 192.168.1.1  
   metric 700
sudo restart_network

1.2 ai测试

  • 基础配置完成后,可以通过demo简单测试功能。开机后,PC机命令行或MobaXterm通过SSH使用root(root)用户或sunrise(sunrise)用户登录到开发板,登录后测试图像分类算法
sunrise@ubuntu:~$ cd /app/ai_inference/01_basic_sample/
sunrise@ubuntu:/app/ai_inference/01_basic_sample$ sudo ./test_mobilenetv1.py

得到分类结果
========== Classification result ==========
cls id: 340 Confidence: 0.991851

首先确保USB摄像头正常连接:

ls /dev/ | grep video
v4l2-ctl -D -d /dev/video8 # 若不是video8可查看其它节点,比如我的是video0

  • 在有USB摄像头连接情况下,可测试视频目标检测算法,注意修改usb_camera_fcos.py中的摄像头节点
sunrise@ubuntu:~$ cd /app/ai_inference/02_usb_camera_sample/  
sunrise@ubuntu:/app/ai_inference/02_usb_camera_sample$ sudo python3 usb_camera_fcos.py

二、ai应用开发-基于tros实现Web展示USB摄像头目标检测算法

2.1 环境准备

  • 开发板安装TogetherROS
  • sudo apt update && sudo apt install tros
  • 升级tros:
    sudo apt upgrade
  • 查看当前tros版本和系统版本
    sudo apt list | grep tros;cat /etc/version
  • 运行Hello World测试tros
    终端1运行:
    source /opt/tros/local_setup.bash
    ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
    终端2运行:
    source /opt/tros/local_setup.bash
    ros2 run examples_rclcpp_minimal_publisher publisher_member_function
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0kneD5d-1673525848809)(tros_helloworld.png)]
  • 安装ROS2 package

首先手动指定IP

  • vim /etc/hosts
    添加185.199.108.133 raw.githubusercontent.com

更新软件源并安装下载工具

  • sudo apt update && sudo apt install curl gnupg2 lsb-release

设置密钥

  • sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

设置ROS软件源,然后更新

  • echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
  • sudo apt update

安装ros2 packpages

  • sudo apt install ros-foxy-image-transport
  • sudo apt install ros-foxy-image-transport-plugins

TogetherROS与ROS foxy版本接口完全兼容,能够复用ROS丰富工具包,创建ROS2与tros软连接

  • cd /opt/tros/ && python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/
  • source /opt/tros/local_setup.bash
  • 测试USB摄像头数据采集与通过tros进行Web展示
  • 首先编辑/opt/tros/share/hobot_usb_cam/launch/hobot_usb_cam.launch.py,设置USB摄像头节点,默认为/dev/video8
  • 配置tros环境
    source /opt/tros/local_setup.bash
  • 启动节点
    ros2 launch hobot_usb_cam hobot_usb_cam.launch.py
  • 然后在另一个终端启动websocket
    source /opt/tros/local_setup.bash
    cd /opt/tros/lib/websocket/webservice && chmod +x ./sbin/nginx &&./sbin/nginx -p . # 启动nginx,nginx只需启动一次,如前面已启动过nginx,则无需再次启动
    ros2 run websocket websocket --ros-args -p image_topic:=/image -p image_type:=mjpeg -p only_show_image:=true
    PC机浏览器中输入X3Pi的IP地址,点击左上方web展示即可查看USB摄像头实时画面

2.2 基于USB摄像头的目标检测算法(Web展示)(FCOS/YOLO)

2.2.1 基于tros
  • 编辑/opt/tros/share/dnn_node_example/launch/hobot_dnn_node_example.launch.py文件,修改摄像头节点(默认为dev/video8
  • source /opt/tros/setup.bash
  • export CAM_TYPE=usb
  • ros2 launch dnn_node_example hobot_dnn_node_example.launch.py config_file:=config/fcosworkconfig.json image_width:=480 image_height:=272
2.2.2 基于rtsp

2.4 其它tros案例

三、 自定义模型部署+应用开发

3.1 paddle模型训练与部署

3.2 pytorch/mmdeploy模型部署

3.3 tros应用开发

3.4 案例

附录

1.开发手册

2.相关案例

  • 手势识别
  • 目标检测
  • 行人跟踪

待续。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值