Skip to content
This repository has been archived by the owner on Mar 17, 2021. It is now read-only.

Traxxas Stampede Documentation #169

Merged
merged 5 commits into from
Jun 7, 2017

Conversation

marcozorzi
Copy link
Contributor

This documentation improvement was suggested by Nuno in Firmware PRs #7139 and #7175.

This should help developers to replicate results in those PRs.

To test the algorithms, a simulation was used. This can be ran by running

```sh
make posix gazebo-rover
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this really all you need to do? Perhaps link to gazebo setup docs here ... and also add a section on this frame there?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comes from #6615. I'll add it in that section in the next commit, thanks!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great. Please add a link to the gazebo docs here too.

@@ -0,0 +1,122 @@
# Traxxas Stampede VXL

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great to have a short paragraph here about why this vehicle selected and what the conversion to autopilot required - e.g. I assume because this is a nice big frame at a good price point. From your diagram all you needed to do was create a mount for the autopilot electronics.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea! It was chosen mostly because Traxxas RC cars are very popular (see JetsonHacks, MIT racecar just to name two) but I'll add the reasoning here.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent. I might tidy this a little once you're merged.


## Assembly

The assembly consists of a wooden frame on which all the parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Tests showed that a better vibration insulation should be used"

Better than what? Better than standard vibration foam that comes with PX4 - (though you might just mean better than direct on wood with cable ties)? How did you sort this out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I meant better than just using cable ties on wood. This comes from an email I got where I was asked what I would improve if I were to improve something and I believe this can be seen here:

http://logs.uaventure.com/view/ZuwDbp3UWHcf2KEVnxEBNb#IMU_Acc_PLOT

This is a log I did on the grass and I noticed that quadrotors generally have raw accelerations one order of magnitude smaller, here I just pulled a log from someone in the community flying a F550 frame for comparison:
http://logs.uaventure.com/view/ZuwDbp3UWHcf2KEVnxEBNb#IMU_Acc_PLOT


## Assembly

The assembly consists of a wooden frame on which all the parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Be a bit more specific than "all the parts" - perhaps "all the autopilot parts" - you don't have your battery here for example.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, the battery comes with the rover so I just assumed that, I'll fix it.


The assembly consists of a wooden frame on which all the parts were attached. Tests showed that a better vibration insulation should be used, especially for the Pixhawk and the Flow module.

![Assembly0](../../assets/airframes/experimental/stampede/stampede_chassis.jpg)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More descriptive title than Assembly0 can be useful for accessibility - not critical.


![Assembly5](../../assets/airframes/experimental/stampede/mounting_detail.jpg)

For this particular mounting it was chosen to use the clip supplied with the rover to attach the upper plane. For this, two supports were 3D printed. The CAD files are provided [here](../../assets/airframes/experimental/stampede/plane_holders.zip).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For this particular mounting it was chosen to use the clip supplied with the rover to attach the upper plane.

Perhaps

For this particular mounting we chose to use the clip supplied with the rover to attach the upper plate.

I.e. is plane the correct term?

from the Firmware folder.

## Usage
At the current state, the only supported modes are `MISSION` and `MANUAL` when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean "At the current time, PX4 only supports MISSION and MANUAL modes when a RC remote is connected."?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds better thanks.

## Usage
At the current state, the only supported modes are `MISSION` and `MANUAL` when a RC remote is connected. To use the mission mode, first upload a new mission to the vehicle with QGC. Then, BEFORE ARMING, select `MISSION` and then arm.

> **Warning** It is **_VERY IMPORTANT_** to do a mission composed **_ONLY_** by normal waypoints (i.e. **_NO TAKEOFF WAYPOINTS_**) and it is crucial to **_SET THE WAYPOINT HEIGHT OF EVERY WAYPOINT TO 0_** for a correct execution. Failing to do so will cause the rover to continuously spin around a waypoint.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DonLakeFlyer Don, should QGC should auto-zero waypoints on ground vehicles or is this something for PX4 to do?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this should be discussed together with @dagar as he wants to discuss the new direction for wheeled robots on PX4 after #7175 is merged

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, @marcozorzi I tend to think that this is something your code needs to fix.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That might be a very good point, I'll look into that, thanks!


## Parameters

The current software provides an attitude controller and a position controller. These build on top of the fixed wing framework to move an Ackerman steered vehicle following GPS coordinates (real or fake). In order to this, 2 PIDs were implemented, one for the steering and the other for the speed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps be a bit more declarative - tell users that they need to set these parameters manually, and link to instructions in QGC for setting parameters

@hamishwillee
Copy link
Collaborator

Love the vehicle and this is a great start :-)

In addition to the comments I put inline:

  1. How do I get the firmware? I think you need to link to docs for building that if it isn't in QGC yet.
  2. At some point in the near future ALL airframe docs will be moving to the user guide - can you instead put this here: https://docs.px4.io/en/airframes/
  3. Images should be dropped size below 250kb if at all this can be done without compromising the usability.

@marcozorzi
Copy link
Contributor Author

  1. I added a small section in the latest commit to improve on that but I plan on improve it again once it's finally merged
  2. I'm following Nuno's advice (see #7175), I guess we can do it after it is merged. Anyway for me it's ok anyway, let me know.
  3. I did my best and they are much smaller now, if you know a way to shrink them further without losing resolution let me know

@hamishwillee
Copy link
Collaborator

hamishwillee commented Jun 5, 2017

I did my best and they are much smaller now, if you know a way to shrink them further without losing resolution let me know

What I do is use Gimp on windows. I export as JPG, reducing the quality as needed. It has a great algorithm and I can usually specify 90% quality and get a 1mb file down to about 150kb. All depends of course.
If you want me to do this, put the high res version somewhere I can access and I'll have a go and send back to you.

I'm following Nuno's advice (see #7175), I guess we can do it after it is merged. Anyway for me it's ok anyway, let me know.

OK by me. Just trying to save myself some work. Also to remove the need for this repo to have images in it that won't be needed, but which will be pulled down by editors when they sync with git.

@hamishwillee
Copy link
Collaborator

@bkueng Anything you want to add to this review before merging? I will probably do some tidy as a post merge process.

@marcozorzi
Copy link
Contributor Author

What I do is use Gimp on windows. I export as JPG, reducing the quality as needed. It has a great algorithm and I can usually specify 90% quality and get a 1mb file down to about 150kb. All depends of course.

Thanks, this worked!

OK by me. Just trying to save myself some work. Also to remove the need for this repo to have images in it that won't be needed, but which will be pulled down by editors when they sync with git.

I can do it, no problem, any particular guidelines before I start? Unfortunately I do not have the Stampede anymore so I can't take new pictures.

Copy link
Member

@bkueng bkueng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added one comment, generally looks really good.
I like both the gazebo & the real rovers :)

We should be able to remove the Software location section shortly, once the PR gets merged.

The current software provides an attitude controller and a position controller. These build on top of the fixed wing framework to move an Ackerman steered vehicle following GPS coordinates (real or fake). In order to this, 2 PIDs were implemented, one for the steering and the other for the speed.
These can be started by setting the following general parameters, which can be set with QGC (instructions [here](https://docs.qgroundcontrol.com/en/SetupView/Parameters.html)):
* SYS_AUTOSTART 50002
* MAV_TYPE 10
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that the 'airframe' config already sets the MAV_TYPE and the tuning params. So it's not necessary to add them here. But I think it's useful to describe which params can be tuned & how.

@hamishwillee
Copy link
Collaborator

Excellent job with images. I'm merging!

@hamishwillee hamishwillee merged commit 60f20cb into PX4:master Jun 7, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants