-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Restructure of Car Vehicle for external firmware control #2172
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
Conversation
|
Review requested @madratman @sytelus |
|
@madratman @sytelus It would be great to have a review of this since any changes needed will need to be tested on both Linux and Windows along with the APIs so as to ensure nothing breaks |
ab7ae20 to
a3e1638
Compare
|
@madratman - this looks good to me. Please feel free to merge if you are happy as well! |
a3e1638 to
bcd3674
Compare
|
Rebased on master, tested on Windows and Ubuntu |
bcd3674 to
7667f38
Compare
|
Will need to make changes to the Unity code also, so would be great to have a review! |
|
Preliminary Unity changes added, tested till compilation only on Windows and Ubuntu 16.04 |
ba2c7c9 to
aa11319
Compare
|
Pretty cool! Any plans on getting this merged? |
|
Sorry, been busy with other things. Reviewing and testing rn. |
Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnApi.h
Outdated
Show resolved
Hide resolved
Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.cpp
Outdated
Show resolved
Hide resolved
Unity/AirLibWrapper/AirsimWrapper/Source/Vehicles/Car/CarPawnSimApi.h
Outdated
Show resolved
Hide resolved
|
@rajat2004 -- Good work !! Couple of clarifying questions for my understanding --
|
aa11319 to
74518e3
Compare
|
Sorry for the delayed response. was travelling. And thanks for the review! @ironclownfish I have added a separate commit - 74518e3 for the changes since I'm not very sure if I've done it in the correct way, once any additional changes needed are done, will squash it and make the same changes on the Unity side
@bmalhigh Not exactly, the behaviour is the same as in the previous code, the main thing which I've done is the removal of
This PR does reduce the work done by CarPawnApi class quite a lot, but I feel it's cleaner to keep it separate from CarPawn class, gives an easy-to-read interface Hope this explains it a bit clearly |
|
I've added some Unity changes also, will be squashed after everything is okay |
b04f108 to
f42e716
Compare
|
Been quite some time since I updated this, life got in between, with exams, sickness, system replacement, etc.. |
f42e716 to
0e0d154
Compare
|
I think this is ready to be merged now, both Unreal and Unity are working, commits have been squashed |
|
Ping! |
|
Opened #2383 which has the additional commits for ArduRover support |
Split CarApiBase implementation from CarPawnApi and add CarApiFactory to create appropriate vehicle API based on settings
0e0d154 to
f5d4e41
Compare
|
@madratman I had opened #2383 also which includes these commits so as to make it easier for other people to use the feature and get review on it |
|
Sure let's move to 2383. I'm fine with just a rename to pawn api wrt review. The other inconsistencies are wrt airsim codebase in general. |
|
Ok great, then closing this PR and will update the other one |
This PR restructures the Car vehicle code to make it similar to Multirotor in terms of adding support for external firmware control of the car vehicle
An example of how to add external firmware control can be seen here - a5dce95 (ArduPilot's Rover vehicle, the entire branch is master...rajat2004:pr-ardurover2)
(Didn't open PR for the entire thing since would be more difficult to review)
This PR has been tested to be working with manual control from the keyboard on Ubuntu 16.04 and Windows 10, with the below Python APIs on Ubuntu (Unreal Engine)
Things tested to be working -
hello_car.pycar_monitor.pypause_continue_car.pymulti_agent_car.pyUnity - Compilation only till now, real testing soon to follow
There are a few more things which can be cleaned up more, such as removing the
CarStateandCarControlsfromCarApiBaseFeedback on the approach by the other devs is very much needed!