Quantcast
Channel: ArduPilot Discourse - Latest posts
Viewing all articles
Browse latest Browse all 253511

CANbus for Ardupilot with UAVCAN and UC4H

$
0
0

TERMS OF USAGE
The material provided in the UC4H Github repository is subject to the following conditions. Firmware files: All firmwares are free (but not open source). Besides unlimited private use you are also granted the permission to use them for commercial purposes under the condition that (1) you don’t modify the firmware, e.g. remove or change copyright statements, (2) provide it for free, i.e. don’t charge any explicit or implicit fees to your customers, and (3) correctly and clearly cite the origin of the firmware and the project web page in any product documentation or web page. Hardware files: All hardware, for which material is provided, is open source hardware, under the terms of the TAPR Open Hardware License as published by the Free Hardware Foundation, see http://www.tapr.org/ohl.html. The TAPR license explicitly permits essentially unlimited commercial use, with only few conditions such as that copyright logos are not removed.

Usage Information

For me, the UC4H nodes are working great; I didn’t had a single incident because of using them. There are of course always little things which could be improved, but overall I’m very satisfied. It’s working, I like my UC4H-ized copter, and in this sense the project has accomplished its goals. I’d like to leave some comments on its applicability.

In principle, the UC4H nodes can be used in any UAVCAN network. That’s the idea of UAVCAN. I only can speak for ArduPilot, however, since that’s what I’m using. With ArduPilot, these restrictions apply:

ArduPilot
ArduPilot master has recently seen substantial changes in the UAVCAN section and is not totally compatible with earlier ArduPilot versions. So, I currently would recommend ArduCopter 3.6.x, to which I refer here.

ArduPilot 3.6 supports the GPS, magnetometer, barometer, ESC, actuator, and IndicatorLED UAVCAN messages. With ArduPilot you can thus use the UC4H GPS-Magnetometer-Barometer and UC4H ESC-Actuator nodes out of the box.

[SIZE=“3”]BetaCopter 3.6[/SIZE]
This is a fork of ArduCopter 3.6, and has compiled binaries for v2 (Pixhawk), v3 (3DR Solo, Pixhawk2), and v4 (Pixracer) flight controllers. It has full support for the whole family of UC4H nodes, as well as the STorM32 gimbal controller. Thus, if you want to make best use of the potential of the UC4H project, then you want to flash BetaCopter 3.6 (you need the ‘u’ version, e.g. BetaCopter 3.6.1 v0.14u, see the github repo for details).

The code additions in BetaCopter are basically vehicle independent, i.e., it should be possible to compile the source also for other vehicles such as planes and rovers with only minor changes, and it therefore probably should be called BetaPilot. However, I’m using only copter, and only can test for copter, and for (only) that reason I speak of only copter. ��

The BetaCopter sources and binaries are available from my github repo: here.
[CENTER]
The „feature matrix“ thus looks like this:

[/CENTER]

(1) Not available in ArduCopter 3.6, only in ArduPilot master.
(2) The UC4H Airspeed sensor is not supported by current BetaCopter; there exists a special branch for it however, which is recommended for testing.

The UC4H SLCAN adapter is of course independent on any flight controller support, and is in fact also independent on UAVCAN. It thus can be used in any CAN bus network.

Supported UAVCAN Messages

The UC4H nodes support a variety of UAVCAN DSDL data types, which are listed in the following. Each node configures its hardware CAN filters to those DSDL messages, which it is listening to, i.e., all other received messages are rejected at the hardware level.

Messages supported by all UC4H Nodes

uavcan.protocol.GetNodeInfo
uavcan.protocol.NodeStatus
uavcan.protocol.RestartNode
uavcan.protocol.debug.LogMessage
uavcan.protocol.dynamic_node_id.Allocation
uavcan.protocol.file.BeginFirmwareUpdate
uavcan.protocol.file.Read
uavcan.protocol.param.ExecuteOpcode
uavcan.protocol.param.GetSet

UC4H GPS-Magnetometer-Barometer

uavcan.equipment.gnss.Fix
uavcan.equipment.gnss.Auxiliary
uavcan.tunnel.Broadcast
uavcan.equipment.ahrs.MagneticFieldStrength2
uavcan.equipment.air_data.StaticPressure
uavcan.equipment.air_data.StaticTemperature
uavcan.equipment.indication.LightsCommand

UC4H PowerBrick

uavcan.olliw.uc4h.GenericBatteryInfo
uavcan.equipment.power.BatteryInfo

UC4H ESC-Actuator

uavcan.equipment.esc.RawCommand
uavcan.equipment.esc.Status
uavcan.equipment.actuator.ArrayCommand

UC4H UartBridge

uavcan.tunnel.Broadcast

UC4H Notifiers: Notify, Display, OreoLEDs

uavcan.olliw.uc4h.Notify
uavcan.equipment.indication.LightsCommand

UC4H IndicatorLED

uavcan.equipment.indication.LightsCommand

UC4H Airspeed-AoA

uavcan.equipment.air_data.RawAirData
uavcan.equipment.air_data.StaticTemperature
uavcan.equipment.air_data.AngleOfAttack

UC4H FunThing

uavcan.equipment.esc.RawCommand
uavcan.equipment.actuator.ArrayCommand
uavcan.equipment.ahrs.MagneticFieldStrength2
uavcan.equipment.power.BatteryInfo
uavcan.equipment.power.CircuitStatus
uavcan.equipment.air_data.RawAirData
uavcan.equipment.air_data.StaticPressure
uavcan.equipment.air_data.StaticTemperature
uavcan.equipment.indication.LightsCommand
uavcan.tunnel.Broadcast
uavcan.olliw.uc4h.GenericBatteryInfo
uavcan.olliw.storm32.Command
uavcan.olliw.storm32.Control

Viewing all articles
Browse latest Browse all 253511

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>