-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
Embedded Fixes for Speeding up Control Loop #908
Open
lkunelk
wants to merge
13
commits into
master
Choose a base branch
from
js_new
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…bots and reallife but needs more tuning. added a soccerball to pybullet world. added camera link to assembly placo urdf. minor edit to dae script. made the calculate_ball_from_bounding_boxes arg better arranged. disable cover horizon for now. added a new set of test that run object detection on pybullet camera images. Added both methods for object localization. starting to fill out strategy.
…d up pybullet. properly enable head movement. tuned pid for nav on the new robot. created a new test that has nav without it owning the loops so we can add other operations.
…ter handeling of the motors based on str or int inputs, dont know if i fully like it. fixed camera image from pybullet, had to use the motors for rpy of the camera because the angles get weird. added a global and local ball ground truth. modified everywhere that interacted with motorcontrol. Got a ros version to work. swapped out pybullet setup with world and bez that control uses. no more duplicates. finished unit test for going to ball location based on yolov5.
… on the real robot will be renamed to be in line with everything else. added some quality of life improvements from js_strat for enabling the tracking ball functionality. tuned ball tracking with head movements. Some merging with js_strat and akp_object. Fixed the camera fov settings to align with the actual spec of the camera, this helps the projection. To firmware interface,I Added a lock and got rid of the thread for the main loop so I can have more fine control over the loop frequency. a new test in ros walk where its a ros version of some placo test, but before we have camera as a node. Tuned the height and orientation of the camera, due to the xacro being wrong. Added a sync read function in the firmware, but im not sure about it, certain ports are stalling and I think it might be too a buffer overflow due to the frequency of messages, probably will go back, but it works okish for now. The robot can now trakc the ball with the camera.
…p by double, going from 120hz to 250hz for the imu and joint states. Experimented with 2mbs baud rate but was getting a lot more timedout errors. Added back non sync read, only 1 chain times out, still dont know how. Added a ball pixel so we can use a PID for the head to track the ball, added some checking so we dont work on init or stale data. added some logic in nav ros so we have 3 modes, walk with a velocity, walk to the ball, walk in place. Tuned and pitch and role stabilization, needs some work for starting a walk, maybe more on placo side. It works in real life, it will detect the ball and walk towards it, we still need a sweep for the head and better kicking algorithim but the fundamentals work. Also added more lock nuts to the leg so it needs less maintence over time
…lking pid, tuned the trajectory and ready for video
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sync Write/Read loop speeds up loop 120 to 250Hz
1Mbaud to 2Mbaud change
position read doesn't need to be that fast, 100Hz, 200Hz good?
IMU at least 100Hz, 200Hz good
Only the minimal change is included in this PR the commits are kept minimal
Code is readable and documented in the code
Minimal tests have been added