本文来源电子发烧友社区,作者:lingxin-yuhe, 帖子地址:https://bbs.elecfans.com/jishu_2296774_1_1.html
前言: 前面两篇基本测试了板端跑Ubuntu Server镜像及基本外设功能,接下来测试地平线机器人平台HHP,根据地平线机器人平台用户手册,地址如上链接。根据文档一步一步进行做,这些都是直接在板端进行操作,非常方便。
根据地平线机器人平台用户手册2.安装这一章节进行操作,记录一下自己实际操作过程中的关键步骤。
目前最新版本为x3pi_ubuntu_server_disk_20220718195941.tar.gz,解压提取system_sdcard.img,使用balenaEtcher工具将镜像烧录到快速卡中,我使用的闪迪的64G,速度等级UHS-I。
使用命令sudo nmcli device wifi rescan
扫描无线网络,如果出现“Error: Scanning not allowed immediately following previous scan.”需要重新执行一次扫描指令,查看扫描到的无线网络指令sudo nmcli device wifi list
,扫描结果如图所示。
sudo wifi_connect “604” “passwd”,会打印连接成功的信息,ifconfig查看wlan0分配的IP地址。
安装之前重要的一步,升级整个系统,我用另一张卡重新做了系统这一步就忘记做了,直接安装HHP.deb出现如图所示。
使用命令sudo apt full-upgrade
后,再安装HHP,sudo apt install hhp
。如图所示安装完成。
可以看到HorizonHobotPlatform已经安装到/opt目录下。
使用MobaXterm工具开启两个ssh终端都连接到旭日X3派的板端,地址为上面wlan0的地址。
修改/opt/tros/local_setup.sh的"COLCON_CURRENT_PREFIX",如图所示。
终端一输入如下命令:
source /opt/tros/local_setup.sh
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
终端二输入如下命令:
source /opt/tros/local_setup.bash
ros2 run examples_rclcpp_minimal_publisher publisher_member_function
运行效果如下图所示。
如图左侧sub端不断接收,右侧pub端不断发送。至此TogetherROS已经成功安装并验证。
添加ROS apt源
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需要从github上下载,为了保证连接有效,先将github服务器IP地址保存到hosts文件中,vi /etc/hosts修改如下,再执行第二步等待一会就不报错了。
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
更新apt仓库
sudo apt update
sudo apt install ros-foxy-image-transport
sudo apt install ros-foxy-image-transport-plugins
cd /opt/tros
##使用/opt/tros目录下的create_soft_link.py创建ROS package至TogetherROS的软连接
sudo python3 create_soft_link.py --foxy /opt/ros/foxy/ --tros /opt/tros/
与ROS使用一样,首先是使能环境变量source /opt/tros/local_setup.bash
,ros2 run image_transport list_transports
运行如下所示。
手里有usb摄像头,就选择USB图像采集,WEB端查看图像功能体验一下。
//配置TogetherROS环境
source /opt/tros/local_setup.bash
//参数设置
ros2 launch hobot_usb_cam hobot_usb_cam.launch.py
如下图所示,说明节点已经成功启动。
source /opt/tros/local_setup.bash
#启动nginx,nginx只需启动一次,如前面已启动过nginx,则无需再次启动
cd /opt/tros/lib/websocket/webservice && chmod +x ./sbin/nginx &&./sbin/nginx -p .
#启动websocket
ros2 run websocket websocket --ros-args -p image_topic:=/image -p image_type:=mjpeg -p only_show_image:=true
到这里基本的操作就完成了,后面需要学会手势控制及人体跟随。
全部0条评论
快来发表一下你的评论吧 !