Go1四足机器人运动控制(基于Python+udp协议)

1 下载go1 sdk包

unitreerobotics/unitree_legged_sdk: SDK tools for control robots. (github.com)

下载解压后放于FairMOT-master/src

2 环境与依赖

依赖项:

具体安装需要单独查询

Build环境:

unitree_legged_sdk-go1文件夹下,终端运行:

mkdir build
cd build
cmake -DPYTHON_BUILD=TRUE ..
make

若不使用python则,上述第三条指令更改为:

cmake ..

其它问题:

若提示找不到pybind11 headers,则在python_wrapper/CMakeLists.txt第14行添加:

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/third-party/pybind11/include)

若提示找不到msgpack.hpp,则:

sudo apt install libmsgpack*

3 编写接口代码

A1控制包:

A1 调用逻辑:

程序计算得到前进速度forwardspeed和旋转速度rotatespeed

调用unitree_legged_sdk/scripts/Unitree_Python_sdk.py的robot_walking函数,传入forwardspeed和rotatespeed

Unitree_Python_sdk.py获取速度指令和状态等参数,然后调用unitree_legged_sdk/src/python_interface_high_cmd.cpp中的RobotInterface类

mode=2时,velocity[0] = forwardSpeed ; cmd.velocity[1] = sidewaySpeed ; cmd.yawSpeed = rotateSpeed;,即将速度指令传递给机器人控制器了

编写接口代码

仿照A1的Unitree_Python_sdk.py,python_interface_high_cmd.cpp,即go1的例程example_walking.py,改写接口代码Unitree_Robot.py,与example_walking.py位于相同目录下

注意import:

import sys
sys.path.append('/home/robot112/FairMOT-master/src/unitree_legged_sdk-go1/lib/python/amd64') # Edit the path to "build" folder on your computer
import robot_interface as robot_interface

 注意更改utils:

import sys
sys.path.append("/home/robot112/FairMOT-master/src/unitree_legged_sdk-go1/example_py")
import Unitree_Robot as Unitree_Python_sdk

改动代码后需要重新make:

在刚刚的build文件夹下:

cmake -DPYTHON_BUILD=TRUE ..
make

4 运行跟踪代码

四足机器人A1目标跟踪-CSDN博客

 4.1 连线

主机、电池、适配器
摄像头
外接屏幕、键盘鼠标

4.2 启动Go1

短按+长按开启本体电源(等待一段时间进行开机自检,自检成功机器人会站起来)
短按+长按开启手柄电源

# 调试代码时可以令机器人趴下并进入低功率状态
L2+A  L2+A  L2+B 

# 趴着→站立
L2+A  L2+A START

4.3 连接wifi与teamviewer

手机与主机都处于go1的wifi下,手机使用teamviewer远程连接主机:

访问的ip为192.168.12.30
访问密码为112Lab.+

连接成功后断开屏幕、鼠标键盘的有线连接,插上显卡欺骗器

4.4 运行跟踪程序

确保主机和摄像头固定住,且没有与其它设备进行有线连接

手柄控制机器人至空旷地带

目标位于机器人前方2m(程序设定跟踪目标id为1)

手机上运行程序即可

附录:解决realsense摄像头数据画面发绿

FairMOT-master/src/lib/datasets/dataset/jde.py

初始化相机数据管道的这四行代码应该放在def __init__中

对齐部分的代码放在迭代器def __next__(self)中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值