Unitree A1 unitree_legged_sdk is not working

Hello Dear Community,

I have the Unitree A1 robot. I successfully build the unitree_legged_sdk (verison 3.2) but when I run the examples, ./example_walk or ./example_position there is no movement in the robot. I’ve connected to both pc’s on the robot with ssh and tried it from both of them. also connect HDMI and keyboard to run it but the result is the same.

Main pc is running with ubuntu 16.04.6 LTS and kernel is 4.4.86-rt99
Jetson Nano is running with ubuntu 18.04 and kernel is 4.9.140-tegra

My aim is to access the footForce data. Since unitree_legged_sdk is not working properly when I try to print it out, it is printing zeros.

I’ve also tried the ROS packages. I used unitree_legged_real3.2.1 with unitree_legged_sdk3.2 from the github repo but robot didn’t move and sensor data was all zeros.

If someone can help me with how to work unitree_legged_sdk, for example, make the robot walk with ./example_walk, or how to debug what the problem is I would deeply appreciate it.

Thank you

Hi @tby,

If you have got the A1 from MYBOTSHOP/QUADRUPED, we can provide access to our ROS wrapper for controlling the A1.

Also, as mentioned in the unitree’s github, you should first go into super user and then run the command i.e:

sudo su
./example_walk

This should work all dependencies and networking has been configured correctly.

Note: that the firmware of the A1 has to be compatible with the unitrees SDK otherwise it wont work. To check the firmware you can check via the mobile app.

The compatibility of the SDK is written in the README.md of the Unitrees repository. More information is available in our documentation.

Hi @Sohail,

Thank you for your prompt response and explanations. The robot was purchased before my arrival at this faculty, possibly through a sales representative.

I have already tried accessing the robot as a superuser, but there was no response. I also couldn’t manage to connect to the robot via the app. I went thorough all the posts related to A1 in this forum, read the provided documentations and followed the guides in GitHub.

I have checked the firmware for the sport mode by connecting to the robot, and the output is displayed below.

I’m using this version of the SDK unitree_legged_sdk version.
I believe the issue might be related to networking but I can successfully connect with cable and wireless. It might also be due to problems in firmware but I’m not sure about it. If you could provide further guidance on this matter, I would greatly appreciate it.

Thank you in advance for your assistance.

Are you running the driver on the A1 or via the network? I would suggest running it remotely via LAN on your PC.

The current version of your A1 won’t be supported with v3.3.1 and possibly not with v3.2.0. You may require the v2.8.0 SDK.

Thanks a lot for your fast reply again. I followed the steps you provided to ensure but still have problems.
I’ve tried both running on A1 and remotely. When I tried on the A1, for example, position it gave a “Foot protection” warning and stopped; when I run it remotely via LAN, it doesn’t give any warning under the same circumstances. Also, ./example_walk is non-responsive.

In the unitree github oldest version I could find for unitree_legged_sdk is v3.2.0, I couldn’t find v2.8.0. I also searched the web for it but couldn’t find the v2.8.0.

I am also suspecting that it may be due to the sport mode. I followed the instructions to switch to the sport mode when I first open the robot
L2+B, L1+Start,Start
But when I pressed L2+B robot sits on the ground and nothing changes with L1+Start. However, I can use Start for walking mode and L2+Start for running mode at the startup. Everything works out smoothly with the remote controller like walking, running, standing over, or rolling over. I still consider myself relatively new to the robot but spend enough time going over all the documentation and tutorials available. If I’m asking something pretty straightforward or simple really sorry for that.

Thanks for all the help.

Hi,

The running mode is for v3.3.1+ it’s not applicable to your A1 as your sports_mode version is below that. Also does any errors occur, please post the output when you run the command.

Hi,

I go into the running mode with L2+Start from remote controller. When I normally press “Start” it will step stationary but when I press L2+Start it steps more agile so I assumed it is the running mode.

For the connection via LAN cable, the outputs are below. I’ve built the unitree_legged_sdk-3.2

The outputs for the A1 driver are also below

Thank you so much for the help.

Hi @tby,

Could you provide your Github ID (private msg) and perhaps the sales ID so that you can check via our provided package? and also be able to send you the older version 2.8.0.

Ahh the issue might also be due to virtual machine, please try running it without a virtual machine as in our experience it is known to have issues. Also when running please ensure that you build according to the correct CPU architecture.

Hi @Sohail,

I’ve tested the udp connection between the virtual machine and the robot’s computer which has no issues, I can send and receive messages without a problem. But just in case I also tried building the library from another PC without the virtualmachine. For the correct CPU architecture do you mean the architecture of my PC or the robot’s? Because robot uses arm64 and my PC uses amd64 With the wrong CPU architecture I think it gives an error so, is it possible to build with a wrong architecture?

Again, your help is greatly appreciated.

For their previous versions, it doesnt give errors prior to v3.2.0. Please do check without virtual machine.