New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rover: Walking robot support #14884
Rover: Walking robot support #14884
Conversation
Really great to see this PR and video! well done! |
On Wed, 22 Jul 2020, Randy Mackay wrote:
I think this is a good way to do this actually. Let's just change the "selector" to be an enum.
Where I *think* Randy means "enum class" :-)
|
a4f33ab
to
159a8da
Compare
159a8da
to
6f85d0d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, that is quite nice ! I have manage to use it.
Some comment, the model should have an arrow or something to show the forward direction.
it is surprisingly auto arming ...
We definitely need to remove the pyrobotlearn dependency.
I will put some comments on lua this afternoon
6f85d0d
to
771eff0
Compare
I struggled a bit to get this working. Some key points and instructions:
In the instructions at the top of this PR, whenever it says type "python" you should actually type "python3" |
5b6fc69
to
31e38ba
Compare
05661a9
to
63569a1
Compare
63569a1
to
9d8d718
Compare
The alternatively PR has gone in so I'll close this one. We will need a new PR with the follow-up fixes. |
This PR adds support for walking robots
Demo video
Steps to run simulation :
Ensure the PC is runing Ubuntu 18.04 (other versions may work but this has not been confirmed yet)
pip3 install pybullet
cd to the ardupilot/Rover directory
create a "scripts" directory and copy "/libraries/AP_Scripting/examples/quadruped.lua" into it
start SITL using, "../Tools/autotest/simvehicle.py --map --console -D -f JSON"
Enable scripting with "param set SCR_ENABLE 1" and then restart SITL
From
ardupilot/libraries/SITL/examples/JSON/pybullet/
run
python3 walking_robot.py
Control inputs :
Channel 1: Yaw input
Channel 3: Throttle input
Channel 6: Gait select (switch)
rc 6 > 1500 : two legs alternating gait
rc 6 < 1500 : one leg wave gait
Channel 7: Control mode selector (3 way switch)
rc 7 = 1500 : Height control
rc 7 >1500 : Rotation control
rc 7 < 1500 : Position control
In Height control
In Rotation control
In Position control
To do: