BBBlue and ArduCopter (Still Trying Here)

Hello,

Please forgive me for beating a whatever here but it is for me, my activities, and for other reasoning not disclosed for now. So anyways, here goes it.

  1. I am using Bullseye with the 5.10.x kernel and w/ a pretty updated image, 03/2022.
  2. I am on the BBBlue and messing w/ ArduCopter again.
  3. I have two files:
    a. the arducopter binary from the master branch from git that I cross-compiled.
    b. the instructions in a bash script for handling porting the ArduCopter binary to the command line in file format.

Anyway, I have am335x-boneblue.dtb in /boot/uEnv.txt at this location: dtb= .

And…

I have the RT kernel also. For anyone messing w/ ArduPilot, does the ArduCopter and Copter hold the same values and arguments?

I mean to say these ideas:

  1. Is Copter a HeliCopter?
  2. Is ArduCopter a QuadCopter?
  3. etc…

If I have been trying to make and cross-compile the Copter branches or ArduCopter branches while I needed the other, I am going to flip. But…in a good way. Send rations!

Seth

P.S. So, I guess I will try both repos. in the git checkout <whatever branches>. Sorry. I just figured out what happened. I put in boneblue.dtb instead of am335x-boneblue.dtb. Blah.

Hello Again,

This is what I do to build the arducopter binary before loading it to the BBBlue.


git clone https://github.com/silver2row/ardupilot
cd ardupilot

git checkout Copter-4.2
git submodule update --init --recursive


Or…after git submodule update --init --recursuve, I perform these steps to directly load the building of the files to the BBBlue.

# This command is done in the /ardupilot/ directory.

python3 waf configure --board=blue --rsync-dest debian@192.168.7.2:/home/debian

# This command is done in the /ardupilot/build/blue/ directory.

python3 ../../waf --target bin/arducopter --upload

I think this is how it is supposed to be done, i.e. after installing all the required building tools.

If you see what steps I am taking that may be incorrect, please let me know. I have been working on this project off and on for about three to four years and I have come up empty so far.

Seth

P.S. Oh! My .service file is like this idea:


[Unit]
Description=ArduCopter Service
After=networking.service
StartLimitIntervalSec=0
Conflicts=arduplane.service ardurover.service antennatracker.service

[Service]
EnvironmentFile=/home/debian/more/bin/ardupilot
# ExecStartPre=/usr/bin/ardupilot/aphw
ExecStart=/home/debian/more/bin/arducopter $TELEM1 $TELEM2 $GPS

Restart=on-failure
RestartSec=1

[Install]
WantedBy=multi-user.target

and…the file I am using for making the build known to the service file for working on boot is this idea:

TELEM1="-C /dev/ttyS1"
TELEM2="-A udp:192.400.2.556:14550"
GPS="-B /dev/ttyS2"

This .dtbo is not to be used, AM335X-PRU-UIO-00A0.dtbo, I think. I think the .dtb in /boot/uEnv.txt is already done and completed. So, one might not even need to call the .dtb for am335x-boneblue.dtb in /boot/uEnv.txt.

uname_r=5.10.106-ti-rt-r41
#uuid=
dtb=am335x-boneblue.dtb # Here is where I was using the .dtb at first.

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
uboot_overlay_addr0=AM335X-PRU-UIO-00A0.dtbo # This probably does not need to be in the file either.
#uboot_overlay_addr1=<file1>.dtbo

and…Cape_Universal commented out like so:

#enable_uboot_cape_universal=1 # I am not sure if this file needs a comment or not.

If you are an avid ArduPilot, esp. around ArduCopter, user and have notes, please describe to me what exactly I am doing incorrectly…

Hello,

Okay. So…

  1. I removed the am335x-boneblue.dtb in /boot/uEnv.txt.
  2. I removed the AM335X-PRU-UIO-00A0.dtbo from /boot/uEnv.txt.
  3. I reinstated the enable_uboot_cape_universal=1 in /boot/uEnv.txt.
  4. I installed MP (Mission Planner).
  5. I connected to MP but my lack of knowledge in MP and the ArduPilot source is making me suffer for now.
  6. So, calibrations, I am assuming here, are needing to take place.

On to trials and tribulations again and again!

Seth

P.S. At least, I can connect again and try my calibrations of the onboard sensors and other hardware.

Doing the same with BBB and Roboticscape. Not Straight forward.
You checked ? (Blue with Ardu):

1 Like

Hello @apper002 ,

Seth here. I got as far as loading the binary on the board, BBBlue, and then making it work in theory. I cannot set up the motors to understand my commands just yet or have I ever been able to do it.

So, I took another break.

Seth

P.S. Thank you for the link. I may look it over.

Hello @apper002 ,

Seth here again. I can already cross-compile the binary to the BBBlue and have the service run while MP is connected to the BBBlue (flight controller). The issues are that I, for one, cannot get the motors to listen to my commands, I cannot understand the PWM, GPIO, RELAYS of AP, and I cannot get past the calibrations of the transmitter even after manually calibrating the ESCs.

Seth

P.S. I may keep trying. It will take an act of congress but I might just try once more.

Hello,

I think my issue is hardware and not source. Since the source is configured and the arducopter binary is running on the BBBlue, I think I am missing one or two key portions/ideas to what goes where.

Seth

P.S. I will attempt to test more but w/out knowing the exact wiring of the bot, I am a bit slow to perform.