Hello all,
I've been developing a locking gimbal system for a few months now and I'm in desperate need of some software to make my gimbal work fully.
The basic idea for the gimbal is for a second person to be able to control the camera pan and tilt whilst it is stabilized by the APM but remaining very lightweight and also not having any obstructions in view whilst 360 Degree panning.
My all up weight with the tricopter is 1250g. thats 800g for the tri, 200g for the gimbal and accessories and 250g for the camera.
Ive done some flight tests but i have had to hand launch due to the lack of software to make the locking mechanism work. The gimbal works ok but still needs a bit of fine tuning which I'm concentrating on at the moment.(all work in progress)
What I'm after is the two roll servos (that are plugged into separate roll channels) to go to a neutral position and then go to a retract position (opposite to each other) to lock and unlock the gimbal. The tilt servos need to just go to a neutral position. This function could be triggered by a simple rc input or possible auto trigger somehow. If any one is willing to help out with the software I would be happy to share any drawings etc of my design or possibly make a gimbal or two. (the design and function is still in progress though so no guarantee of functionality just yet)
Sorry for bad video quality!
https://www.youtube.com/watch?v=FvnCta23gu8&feature=youtu.be
Alex
Replies
Oh and this in GCS_Mavlink.
#if CAMERA == ENABLED
case MAVLINK_MSG_ID_DIGICAM_CONFIGURE:
{
camera.configure_msg(msg);
break;
}
case MAVLINK_MSG_ID_DIGICAM_CONTROL:
{
camera.control_msg(msg);
break;
}
#endif // CAMERA == ENABLED
#if MOUNT == ENABLED
case MAVLINK_MSG_ID_MOUNT_CONFIGURE:
{
camera_mount.configure_msg(msg);
break;
}
case MAVLINK_MSG_ID_MOUNT_CONTROL:
{
camera_mount.control_msg(msg);
break;
}
case MAVLINK_MSG_ID_MOUNT_STATUS:
{
camera_mount.status_msg(msg);
break;
}
#endif // MOUNT == ENABLED
All I can seem to find about the Mount message is here in commands_Logic.pde
#if MOUNT == ENABLED
case MAV_CMD_DO_MOUNT_CONFIGURE: // Mission command to configure a camera mount |Mount operation mode (see MAV_CONFIGURE_MOUNT_MODE enum)| stabilize roll? (1 = yes, 0 = no)| stabilize pitch? (1 = yes, 0 = no)| stabilize yaw? (1 = yes, 0 = no)| Empty| Empty| Empty|
camera_mount.configure_cmd();
break;
case MAV_CMD_DO_MOUNT_CONTROL: // Mission command to control a camera mount |pitch(deg*100) or lat, depending on mount mode.| roll(deg*100) or lon depending on mount mode| yaw(deg*100) or alt (in cm) depending on mount mode| Empty| Empty| Empty| Empty|
camera_mount.control_cmd();
break;
#endif
default:
// do nothing with unrecognized MAVLink messages
break;
}
}
There is something to do with channel 7 for shutter control. Don't know if this can maybe be adapted to work somehow?
// do_take_picture - take a picture with the camera library
static void do_take_picture()
{
#if CAMERA == ENABLED
camera.trigger_pic();
if (g.log_bitmask & MASK_LOG_CAMERA) {
Log_Write_Camera();
}
#endif
}
Regards
Alex
Hi, what do you mean with locking? Mechanically preventing it from moving (why would you want to do that)? Or tracking something, "locking" on to it?
It's servos and not brushless, right?
Regards
Soren