0

阿木币

0

精华

8 小时

在线时间

应届白菜

Rank: 1

发表于 2020-5-12 16:36:47 8728 浏览 12 回复

ardurover如何上锁

下载的

                               
登录/注册后可看大图
这个固件,我把遥控器yaw拨到最右,油门最低可以解锁,但是如何加锁呢,不管怎么拨都是这个状态

                               
登录/注册后可看大图
chasing已获得悬赏 1 阿木币

最佳答案

首先我没有做过ArduRover,以下仅仅从代码进行推断,你可以试试,告诉我结果。首先上代码/* check for driver input on rudder/steering stick for arming/disarming */ void Rover::rudder_arm_disarm_check() { ...
TIM图片20200512163152.png
TIM截图20200512163352.png

扫一扫浏览分享
回复

使用道具 举报

114

阿木币

0

精华

142 小时

在线时间

技术大V

Rank: 4

发表于 2020-5-12 18:05:39
试试yaw拨到最左边 然后油门最低
回复 点赞

使用道具 举报

0

阿木币

0

精华

8 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2020-5-13 09:35:00
SmilE 发表于 2020-5-12 18:05
试试yaw拨到最左边 然后油门最低

试过了,不能这样加锁,有没有可能有些版本的固件不能加锁?
回复 点赞

使用道具 举报

0

阿木币

0

精华

182 小时

在线时间

技术大V

Rank: 4

发表于 2020-5-13 16:38:55
本帖最后由 chasing 于 2020-5-13 16:41 编辑

首先我没有做过ArduRover,以下仅仅从代码进行推断,你可以试试,告诉我结果。首先上代码/*
  check for driver input on rudder/steering stick for arming/disarming
*/
void Rover::rudder_arm_disarm_check()
{
    // check if arming/disarm using rudder is allowed
    const AP_Arming::RudderArming arming_rudder = arming.get_rudder_arming_type();
    if (arming_rudder == AP_Arming::RudderArming::IS_DISABLED) {
        return;
    }

    // In Rover we need to check that its set to the throttle trim and within the DZ
    // if throttle is not within trim dz, then pilot cannot rudder arm/disarm
    if (!channel_throttle->in_trim_dz()) {
        rudder_arm_timer = 0;
        return;
    }

    // check if arming/disarming allowed from this mode
    if (!control_mode->allows_arming_from_transmitter()) {
        rudder_arm_timer = 0;
        return;
    }

    if (!arming.is_armed()) {
        // when not armed, full right rudder starts arming counter
        if (channel_steer->get_control_in() > 4000) {
            const uint32_t now = millis();

            if (rudder_arm_timer == 0 ||
                now - rudder_arm_timer < ARM_DELAY_MS) {
                if (rudder_arm_timer == 0) {
                    rudder_arm_timer = now;
                }
            } else {
                // time to arm!
                arming.arm(AP_Arming::Method::RUDDER);
                rudder_arm_timer = 0;
            }
        } else {
            // not at full right rudder
            rudder_arm_timer = 0;
        }
    } else if ((arming_rudder == AP_Arming::RudderArming::ARMDISARM) && !g2.motors.active()) {
        // when armed and motor not active (not moving), full left rudder starts disarming counter
        if (channel_steer->get_control_in() < -4000) {
            const uint32_t now = millis();

            if (rudder_arm_timer == 0 ||
                now - rudder_arm_timer < ARM_DELAY_MS) {
                if (rudder_arm_timer == 0) {
                    rudder_arm_timer = now;
                }
            } else {
                // time to disarm!
                arming.disarm(AP_Arming::Method::RUDDER);
                rudder_arm_timer = 0;
            }
        } else {
            // not at full left rudder
            rudder_arm_timer = 0;
        }
    }
}

从中可以看出,yaw拨到最右,油门最低可以解锁,持续2S中可以解锁。同时在轮子停转的模式下,油门最低,Yaw最左(反方向)2S中可以加锁。至于轮子停转,切换模式到Hold,貌似可以。

以上仅供参考。

无标题.png
回复 点赞

使用道具 举报

106

阿木币

1

精华

397 小时

在线时间

技术大V

Rank: 4

发表于 2020-5-14 21:18:37
小车是px4还是apm
回复 点赞

使用道具 举报

0

阿木币

0

精华

8 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2020-5-15 17:20:57
chasing 发表于 2020-5-13 16:38
首先我没有做过ArduRover,以下仅仅从代码进行推断,你可以试试,告诉我结果。首先上代码/*
  check for dr ...

首先非常感谢你的回复,我刚开始接触pix,目前我不管怎么样都切换不了hold模式,可能是因为我没有加上gps,我加上gps再试试这种方法。
此外想向您提问几个关于地面站的问题。我利用地面站对电机解锁和未解锁时的pwm输出进行设置,但是总存在一些奇怪的现象,比如我设置未解锁时输出为1500脉宽,使用示波器测量却发现在1400和1600之间跳动,设置未解锁是为1200脉宽,测量时确是1300脉宽。
解锁后波动遥控也只有1600.1800.2000这三个脉宽,您认为这种现象一般是我的操作有误,还是本来如此?
回复 点赞

使用道具 举报

0

阿木币

0

精华

8 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2020-5-15 17:22:12
eason 发表于 2020-5-14 21:18
小车是px4还是apm

硬件pixhawk,固件是px4的
回复 点赞

使用道具 举报

0

阿木币

0

精华

182 小时

在线时间

技术大V

Rank: 4

发表于 2020-5-15 21:41:22
flipped03 发表于 2020-5-15 17:20
首先非常感谢你的回复,我刚开始接触pix,目前我不管怎么样都切换不了hold模式,可能是因为我没有加上gps ...

我没有试过无人车,这个情况建议你先测试下接收机PWM脉宽是否稳定。按照常理,输出应该不是跳变的啊
回复 点赞

使用道具 举报

0

阿木币

0

精华

182 小时

在线时间

技术大V

Rank: 4

发表于 2020-5-15 21:42:54
flipped03 发表于 2020-5-15 17:22
硬件pixhawk,固件是px4的

你确定?我代码是从ArduPilot中抠的....PX4的话,就不是这个了
回复 点赞

使用道具 举报

0

阿木币

0

精华

8 小时

在线时间

应届白菜

Rank: 1

 楼主| 发表于 2020-5-15 23:16:59
chasing 发表于 2020-5-15 21:41
我没有试过无人车,这个情况建议你先测试下接收机PWM脉宽是否稳定。按照常理,输出应该不是跳变的啊 ...

其他的都是稳定和正常的,应该是设置的问题导致他只能以200的倍数设置脉冲宽度。https://bbs.amovlab.com/forum.ph ... tid=1132&extra=
回复 点赞

使用道具 举报

下一页 »
12下一页
返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表