addition of some additional buzz hooks
This commit is contained in:
parent
66574a6653
commit
27bdabeda4
|
@ -28,8 +28,13 @@ void set_goto(double pos[]);
|
||||||
void rc_call(int rc_cmd);
|
void rc_call(int rc_cmd);
|
||||||
/* sets the battery state */
|
/* sets the battery state */
|
||||||
void set_battery(float voltage,float current,float remaining);
|
void set_battery(float voltage,float current,float remaining);
|
||||||
|
/* sets current position */
|
||||||
|
void set_currentpos(double latitude, double longitude, double altitude);
|
||||||
/*retuns the current go to position */
|
/*retuns the current go to position */
|
||||||
double* getgoto();
|
double* getgoto();
|
||||||
|
/* updates flight status*/
|
||||||
|
void flight_status_update(uint8_t state);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Commands the UAV to takeoff
|
* Commands the UAV to takeoff
|
||||||
*/
|
*/
|
||||||
|
@ -47,6 +52,14 @@ int buzzuav_gohome(buzzvm_t vm);
|
||||||
* Updates battery information in Buzz
|
* Updates battery information in Buzz
|
||||||
*/
|
*/
|
||||||
int buzzuav_update_battery(buzzvm_t vm);
|
int buzzuav_update_battery(buzzvm_t vm);
|
||||||
|
/*
|
||||||
|
* Updates current position in Buzz
|
||||||
|
*/
|
||||||
|
int buzzuav_update_currentpos(buzzvm_t vm);
|
||||||
|
/*
|
||||||
|
* Updates flight status in Buzz
|
||||||
|
*/
|
||||||
|
int buzzuav_update_flight_status(buzzvm_t vm);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Updates IR information in Buzz
|
* Updates IR information in Buzz
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include "mavros_msgs/GlobalPositionTarget.h"
|
#include "mavros_msgs/GlobalPositionTarget.h"
|
||||||
#include "mavros_msgs/CommandCode.h"
|
#include "mavros_msgs/CommandCode.h"
|
||||||
#include "mavros_msgs/CommandInt.h"
|
#include "mavros_msgs/CommandInt.h"
|
||||||
|
#include "mavros_msgs/ExtendedState.h"
|
||||||
#include "mavros_msgs/State.h"
|
#include "mavros_msgs/State.h"
|
||||||
#include "mavros_msgs/BatteryStatus.h"
|
#include "mavros_msgs/BatteryStatus.h"
|
||||||
#include "mavros_msgs/Mavlink.h"
|
#include "mavros_msgs/Mavlink.h"
|
||||||
|
@ -50,6 +51,7 @@ private:
|
||||||
ros::Subscriber current_position_sub;
|
ros::Subscriber current_position_sub;
|
||||||
ros::Subscriber battery_sub;
|
ros::Subscriber battery_sub;
|
||||||
ros::Subscriber payload_sub;
|
ros::Subscriber payload_sub;
|
||||||
|
ros::Subscriber flight_status_sub;
|
||||||
/*Create node Handler*/
|
/*Create node Handler*/
|
||||||
ros::NodeHandle n_c;
|
ros::NodeHandle n_c;
|
||||||
/*Commands for flight controller*/
|
/*Commands for flight controller*/
|
||||||
|
@ -61,36 +63,40 @@ private:
|
||||||
/*Obtain data from ros parameter server*/
|
/*Obtain data from ros parameter server*/
|
||||||
void Rosparameters_get();
|
void Rosparameters_get();
|
||||||
|
|
||||||
|
/*compiles buzz script from the specified .bzz file*/
|
||||||
void Compile_bzz();
|
void Compile_bzz();
|
||||||
|
|
||||||
/*Prepare messages and publish*/
|
/*Prepare messages and publish*/
|
||||||
inline void prepare_msg_and_publish();
|
void prepare_msg_and_publish();
|
||||||
|
|
||||||
|
|
||||||
/*Refresh neighbours Position for every ten step*/
|
/*Refresh neighbours Position for every ten step*/
|
||||||
inline void maintain_pos(int tim_step);
|
void maintain_pos(int tim_step);
|
||||||
|
|
||||||
/*Maintain neighbours position*/
|
/*Maintain neighbours position*/
|
||||||
inline void neighbours_pos_maintain(int id, buzz_utility::Pos_struct pos_arr );
|
void neighbours_pos_maintain(int id, buzz_utility::Pos_struct pos_arr );
|
||||||
|
|
||||||
/*Set the current position of the robot callback*/
|
/*Set the current position of the robot callback*/
|
||||||
inline void set_cur_pos(double latitude,
|
void set_cur_pos(double latitude,
|
||||||
double longitude,
|
double longitude,
|
||||||
double altitude);
|
double altitude);
|
||||||
/*convert from catresian to spherical coordinate system callback */
|
/*convert from catresian to spherical coordinate system callback */
|
||||||
inline double* cvt_spherical_coordinates(double neighbours_pos_payload []);
|
double* cvt_spherical_coordinates(double neighbours_pos_payload []);
|
||||||
|
|
||||||
/*battery status callback*/
|
/*battery status callback*/
|
||||||
inline void battery(const mavros_msgs::BatteryStatus::ConstPtr& msg);
|
void battery(const mavros_msgs::BatteryStatus::ConstPtr& msg);
|
||||||
|
|
||||||
|
/*flight status callback*/
|
||||||
|
void flight_status_update(const mavros_msgs::ExtendedState::ConstPtr& msg);
|
||||||
|
|
||||||
/*current position callback*/
|
/*current position callback*/
|
||||||
inline void current_pos(const sensor_msgs::NavSatFix::ConstPtr& msg);
|
void current_pos(const sensor_msgs::NavSatFix::ConstPtr& msg);
|
||||||
|
|
||||||
/*payload callback callback*/
|
/*payload callback callback*/
|
||||||
inline void payload_obt(const mavros_msgs::Mavlink::ConstPtr& msg);
|
void payload_obt(const mavros_msgs::Mavlink::ConstPtr& msg);
|
||||||
|
|
||||||
/* RC commands service */
|
/* RC commands service */
|
||||||
inline bool rc_callback(mavros_msgs::CommandInt::Request &req,
|
bool rc_callback(mavros_msgs::CommandInt::Request &req,
|
||||||
mavros_msgs::CommandInt::Response &res);
|
mavros_msgs::CommandInt::Response &res);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
#pragma once
|
||||||
|
#include "ros/ros.h"
|
||||||
|
#include "sensor_msgs/NavSatFix.h"
|
||||||
|
#include "mavros_msgs/GlobalPositionTarget.h"
|
||||||
|
#include "mavros_msgs/CommandCode.h"
|
||||||
|
#include "mavros_msgs/CommandInt.h"
|
||||||
|
#include "mavros_msgs/State.h"
|
||||||
|
#include "mavros_msgs/BatteryStatus.h"
|
||||||
|
#include "mavros_msgs/Mavlink.h"
|
||||||
|
#include "sensor_msgs/NavSatStatus.h"
|
||||||
|
#include <sstream>
|
||||||
|
#include <buzz/buzzasm.h>
|
||||||
|
#include "buzzuav_closures.h"
|
||||||
|
#include "buzz_utility.h"
|
||||||
|
#include "uav_utility.h"
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <ostream>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
namespace rosbzz_node{
|
||||||
|
|
||||||
|
|
||||||
|
class roscontroller{
|
||||||
|
|
||||||
|
public:
|
||||||
|
roscontroller();
|
||||||
|
~roscontroller();
|
||||||
|
//void RosControllerInit();
|
||||||
|
void RosControllerRun();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
double cur_pos[3];
|
||||||
|
uint64_t payload;
|
||||||
|
std::map< int, buzz_utility::Pos_struct> neighbours_pos_map;
|
||||||
|
int timer_step=0;
|
||||||
|
int robot_id=0;
|
||||||
|
int oldcmdID=0;
|
||||||
|
int rc_cmd;
|
||||||
|
std::string bzzfile_name, fcclient_name, rcservice_name,bcfname,dbgfname; //, rcclient;
|
||||||
|
bool rcclient;
|
||||||
|
ros::ServiceClient mav_client;
|
||||||
|
ros::Publisher payload_pub;
|
||||||
|
ros::ServiceServer service;
|
||||||
|
ros::Subscriber current_position_sub;
|
||||||
|
ros::Subscriber battery_sub;
|
||||||
|
ros::Subscriber payload_sub;
|
||||||
|
/*Create node Handler*/
|
||||||
|
ros::NodeHandle n_c;
|
||||||
|
/*Commands for flight controller*/
|
||||||
|
mavros_msgs::CommandInt cmd_srv;
|
||||||
|
|
||||||
|
|
||||||
|
void Initialize_pub_sub();
|
||||||
|
|
||||||
|
/*Obtain data from ros parameter server*/
|
||||||
|
void Rosparameters_get();
|
||||||
|
|
||||||
|
void Compile_bzz();
|
||||||
|
|
||||||
|
/*Prepare messages and publish*/
|
||||||
|
inline void prepare_msg_and_publish();
|
||||||
|
|
||||||
|
|
||||||
|
/*Refresh neighbours Position for every ten step*/
|
||||||
|
inline void maintain_pos(int tim_step);
|
||||||
|
|
||||||
|
/*Maintain neighbours position*/
|
||||||
|
inline void neighbours_pos_maintain(int id, buzz_utility::Pos_struct pos_arr );
|
||||||
|
|
||||||
|
/*Set the current position of the robot callback*/
|
||||||
|
inline void set_cur_pos(double latitude,
|
||||||
|
double longitude,
|
||||||
|
double altitude);
|
||||||
|
/*convert from catresian to spherical coordinate system callback */
|
||||||
|
inline double* cvt_spherical_coordinates(double neighbours_pos_payload []);
|
||||||
|
|
||||||
|
/*battery status callback*/
|
||||||
|
inline void battery(const mavros_msgs::BatteryStatus::ConstPtr& msg);
|
||||||
|
|
||||||
|
/*current position callback*/
|
||||||
|
inline void current_pos(const sensor_msgs::NavSatFix::ConstPtr& msg);
|
||||||
|
|
||||||
|
/*payload callback callback*/
|
||||||
|
inline void payload_obt(const mavros_msgs::Mavlink::ConstPtr& msg);
|
||||||
|
|
||||||
|
/* RC commands service */
|
||||||
|
inline bool rc_callback(mavros_msgs::CommandInt::Request &req,
|
||||||
|
mavros_msgs::CommandInt::Response &res);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -301,7 +301,9 @@ void buzz_script_step() {
|
||||||
*/
|
*/
|
||||||
buzzuav_closures::buzzuav_update_battery(VM);
|
buzzuav_closures::buzzuav_update_battery(VM);
|
||||||
buzzuav_closures::buzzuav_update_prox(VM);
|
buzzuav_closures::buzzuav_update_prox(VM);
|
||||||
/*
|
buzzuav_closures::buzzuav_update_currentpos(VM);
|
||||||
|
buzzuav_closures::buzzuav_update_flight_status(VM);
|
||||||
|
/*
|
||||||
* Call Buzz step() function
|
* Call Buzz step() function
|
||||||
*/
|
*/
|
||||||
if(buzzvm_function_call(VM, "step", 0) != BUZZVM_STATE_READY) {
|
if(buzzvm_function_call(VM, "step", 0) != BUZZVM_STATE_READY) {
|
||||||
|
|
|
@ -10,6 +10,8 @@
|
||||||
namespace buzzuav_closures{
|
namespace buzzuav_closures{
|
||||||
static double goto_pos[3];
|
static double goto_pos[3];
|
||||||
static float batt[3];
|
static float batt[3];
|
||||||
|
static double cur_pos[3];
|
||||||
|
static uint8_t status;
|
||||||
static int cur_cmd;
|
static int cur_cmd;
|
||||||
static int rc_cmd=0;
|
static int rc_cmd=0;
|
||||||
/****************************************/
|
/****************************************/
|
||||||
|
@ -148,6 +150,51 @@ int buzzuav_update_battery(buzzvm_t vm) {
|
||||||
buzzvm_gstore(vm);
|
buzzvm_gstore(vm);
|
||||||
return vm->state;
|
return vm->state;
|
||||||
}
|
}
|
||||||
|
/****************************************/
|
||||||
|
/*current pos update*/
|
||||||
|
/***************************************/
|
||||||
|
void set_currentpos(double latitude, double longitude, double altitude){
|
||||||
|
cur_pos[0]=latitude;
|
||||||
|
cur_pos[1]=longitude;
|
||||||
|
cur_pos[2]=altitude;
|
||||||
|
}
|
||||||
|
/****************************************/
|
||||||
|
int buzzuav_update_currentpos(buzzvm_t vm) {
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "position", 1));
|
||||||
|
buzzvm_pusht(vm);
|
||||||
|
buzzvm_dup(vm);
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "latitude", 1));
|
||||||
|
buzzvm_pushf(vm, cur_pos[0]);
|
||||||
|
buzzvm_tput(vm);
|
||||||
|
buzzvm_dup(vm);
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "longitude", 1));
|
||||||
|
buzzvm_pushf(vm, cur_pos[1]);
|
||||||
|
buzzvm_tput(vm);
|
||||||
|
buzzvm_dup(vm);
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "altitude", 1));
|
||||||
|
buzzvm_pushf(vm, cur_pos[2]);
|
||||||
|
buzzvm_tput(vm);
|
||||||
|
buzzvm_gstore(vm);
|
||||||
|
return vm->state;
|
||||||
|
}
|
||||||
|
/****************************************/
|
||||||
|
/*flight status update*/
|
||||||
|
/***************************************/
|
||||||
|
void flight_status_update(uint8_t state){
|
||||||
|
status=state;
|
||||||
|
}
|
||||||
|
/****************************************/
|
||||||
|
int buzzuav_update_flight_status(buzzvm_t vm) {
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "flight", 1));
|
||||||
|
buzzvm_pusht(vm);
|
||||||
|
buzzvm_dup(vm);
|
||||||
|
buzzvm_pushs(vm, buzzvm_string_register(vm, "status", 1));
|
||||||
|
buzzvm_pushf(vm, status);
|
||||||
|
buzzvm_tput(vm);
|
||||||
|
buzzvm_gstore(vm);
|
||||||
|
return vm->state;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************************************/
|
/****************************************/
|
||||||
/*To do !!!!!*/
|
/*To do !!!!!*/
|
||||||
|
|
82
src/out.basm
82
src/out.basm
|
@ -1,4 +1,4 @@
|
||||||
!11
|
!21
|
||||||
'init
|
'init
|
||||||
'i
|
'i
|
||||||
'uav_takeoff
|
'uav_takeoff
|
||||||
|
@ -7,6 +7,16 @@
|
||||||
'bzz print: remaining:
|
'bzz print: remaining:
|
||||||
'battery
|
'battery
|
||||||
'capacity
|
'capacity
|
||||||
|
'latitude :
|
||||||
|
'position
|
||||||
|
'latitude
|
||||||
|
' longitude:
|
||||||
|
'longitude
|
||||||
|
' altitude :
|
||||||
|
'altitude
|
||||||
|
'flight status:
|
||||||
|
'flight
|
||||||
|
'status
|
||||||
'uav_land
|
'uav_land
|
||||||
'reset
|
'reset
|
||||||
'destroy
|
'destroy
|
||||||
|
@ -17,10 +27,10 @@
|
||||||
pushs 3
|
pushs 3
|
||||||
pushcn @__label_2
|
pushcn @__label_2
|
||||||
gstore
|
gstore
|
||||||
pushs 9
|
pushs 19
|
||||||
pushcn @__label_5
|
pushcn @__label_5
|
||||||
gstore
|
gstore
|
||||||
pushs 10
|
pushs 20
|
||||||
pushcn @__label_6
|
pushcn @__label_6
|
||||||
gstore
|
gstore
|
||||||
nop
|
nop
|
||||||
|
@ -50,26 +60,54 @@
|
||||||
tget |10,48,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
tget |10,48,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushi 2 |10,49,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushi 2 |10,49,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
callc |10,49,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
callc |10,49,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushs 1 |11,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 4 |11,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
gload |11,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
gload |11,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushi 20 |11,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 8 |11,6,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
gt |11,7,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 9 |11,28,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
jumpz @__label_3 |11,8,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
gload |11,28,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushs 8 |11,17,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 10 |11,29,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
gload |11,17,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
tget |11,37,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushi 0 |11,19,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 11 |11,38,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
callc |11,19,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 9 |11,61,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
@__label_3 |12,0,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
gload |11,61,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushs 1 |12,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 12 |11,62,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushs 1 |12,3,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
tget |11,71,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
gload |12,3,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 13 |11,72,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
pushi 1 |12,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 9 |11,96,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
add |12,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
gload |11,96,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
gstore |12,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
pushs 14 |11,97,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
ret0 |14,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
tget |11,105,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushi 6 |11,106,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
callc |11,106,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 4 |12,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gload |12,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 15 |12,6,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 16 |12,30,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gload |12,30,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 17 |12,31,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
tget |12,37,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushi 2 |12,38,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
callc |12,38,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 1 |13,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gload |13,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushi 10 |13,6,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
eq |13,8,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
jumpz @__label_3 |13,9,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 18 |13,18,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gload |13,18,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushi 0 |13,20,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
callc |13,20,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
@__label_3 |14,0,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 1 |14,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushs 1 |14,3,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gload |14,3,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
pushi 1 |14,4,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
add |14,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
gstore |14,5,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
ret0 |16,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
|
||||||
@__label_5
|
@__label_5
|
||||||
ret0 |18,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
ret0 |20,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
|
||||||
@__label_6
|
@__label_6
|
||||||
ret0 |22,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
ret0 |24,1,/home/ubuntu/ROS_WS/src/ROSBuzz/src/test.bzz
|
||||||
|
|
BIN
src/out.bdbg
BIN
src/out.bdbg
Binary file not shown.
BIN
src/out.bo
BIN
src/out.bo
Binary file not shown.
|
@ -79,9 +79,10 @@ namespace rosbzz_node{
|
||||||
|
|
||||||
void roscontroller::Initialize_pub_sub(){
|
void roscontroller::Initialize_pub_sub(){
|
||||||
/*subscribers*/
|
/*subscribers*/
|
||||||
current_position_sub = n_c.subscribe("/dji_sdk/global_position", 1000, &roscontroller::current_pos,this);
|
current_position_sub = n_c.subscribe("/mav/global_position", 1000, &roscontroller::current_pos,this);
|
||||||
battery_sub = n_c.subscribe("/mav/power_status", 1000, &roscontroller::battery,this);
|
battery_sub = n_c.subscribe("/mav/power_status", 1000, &roscontroller::battery,this);
|
||||||
payload_sub = n_c.subscribe("inMavlink", 1000, &roscontroller::payload_obt,this);
|
payload_sub = n_c.subscribe("inMavlink", 1000, &roscontroller::payload_obt,this);
|
||||||
|
flight_status_sub =n_c.subscribe("/mav/flight_status",100, &roscontroller::flight_status_update,this);
|
||||||
/*publishers*/
|
/*publishers*/
|
||||||
payload_pub = n_c.advertise<mavros_msgs::Mavlink>("outMavlink", 1000);
|
payload_pub = n_c.advertise<mavros_msgs::Mavlink>("outMavlink", 1000);
|
||||||
/* Clients*/
|
/* Clients*/
|
||||||
|
@ -140,7 +141,7 @@ namespace rosbzz_node{
|
||||||
cout<<" [Debug:] sent message "<<*it<<endl;
|
cout<<" [Debug:] sent message "<<*it<<endl;
|
||||||
i++;
|
i++;
|
||||||
}*/
|
}*/
|
||||||
/*publish prepared messages in respective topic*/
|
/*publish prepared messages in respective topic*/
|
||||||
payload_pub.publish(payload_out);
|
payload_pub.publish(payload_out);
|
||||||
delete[] out;
|
delete[] out;
|
||||||
delete[] payload_out_ptr;
|
delete[] payload_out_ptr;
|
||||||
|
@ -191,10 +192,14 @@ namespace rosbzz_node{
|
||||||
buzzuav_closures::set_battery(msg->voltage,msg->current,msg->remaining);
|
buzzuav_closures::set_battery(msg->voltage,msg->current,msg->remaining);
|
||||||
//ROS_INFO("voltage : %d current : %d remaining : %d",msg->voltage, msg->current, msg ->remaining);
|
//ROS_INFO("voltage : %d current : %d remaining : %d",msg->voltage, msg->current, msg ->remaining);
|
||||||
}
|
}
|
||||||
|
/*flight status update*/
|
||||||
|
void roscontroller::flight_status_update(const mavros_msgs::ExtendedState::ConstPtr& msg){
|
||||||
|
buzzuav_closures::flight_status_update(msg->landed_state);
|
||||||
|
}
|
||||||
/*current position callback*/
|
/*current position callback*/
|
||||||
void roscontroller::current_pos(const sensor_msgs::NavSatFix::ConstPtr& msg){
|
void roscontroller::current_pos(const sensor_msgs::NavSatFix::ConstPtr& msg){
|
||||||
set_cur_pos(msg->latitude,msg->longitude,msg->altitude);
|
set_cur_pos(msg->latitude,msg->longitude,msg->altitude);
|
||||||
|
buzzuav_closures::set_currentpos(msg->latitude,msg->longitude,msg->altitude);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*payload callback callback*/
|
/*payload callback callback*/
|
||||||
|
|
|
@ -8,7 +8,9 @@ uav_takeoff()
|
||||||
function step() {
|
function step() {
|
||||||
|
|
||||||
print("bzz print: remaining: ", battery.capacity)
|
print("bzz print: remaining: ", battery.capacity)
|
||||||
if(i>20){uav_land()}
|
print("latitude : ",position.latitude," longitude: ",position.longitude," altitude : ", position.altitude)
|
||||||
|
print("flight status: ",flight.status)
|
||||||
|
if(i==10){uav_land()}
|
||||||
i=i+1
|
i=i+1
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue