ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I found an answer here.
2 | No.2 Revision |
I found an answer here.
EDIT:
So, basically, the answer I found it is not exactly what I want, because that guy use a docker container, but for now it works. So the steps I followed are exactly this:
I downloaded the docker image using:
sudo docker pull ros:kinetic-robot-xenial
And then followed this steps to run the image: [http://wiki.ros.org/docker/Tutorials/Docker][1]
The I cloned the ardrone_autonomy package in a worksapce, from the above link:
mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/dsapandora/ardrone_autonomy.git
apt-get update
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make
bswap
appears, edit this file: devel/src/ardronelib/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h
and replace:static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
__asm("bswap %0":
"=r" (value):
"0" (value));
return value;
}
with this:
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
int32_t tmp;
__asm __volatile(
"eor %1, %2, %2, ror #16\n"
"bic %1, %1, #0x00ff0000\n"
"mov %0, %2, ror #8\n"
"eor %0, %0, %1, lsr #8"
: "=r" (value), "=r" (tmp)
: "r" (value)
);
return value;
}
and comment this line: _BitScanReverse(&index, code);
catkin_make
it should appear the last error which can be resolved "simply" (after you understand what is happening there :) ) just by replacing this line (from the same file as above):"mov %0, %2, ror #8\n"
with:
"mov %0, %2\n"
and now should work just fine.
3 | No.3 Revision |
I found an answer here.
EDIT:
So, basically, the answer I found it is not exactly what I want, because that guy use a docker container, but for now it works. So the steps I followed are exactly this:
I downloaded the docker image using:
sudo docker pull ros:kinetic-robot-xenial
And then followed this steps to run the image: [http://wiki.ros.org/docker/Tutorials/Docker][1]
The I cloned the ardrone_autonomy package in a worksapce, from the above link:
mkdir -p catkin_ws/src cd catkin_ws/src git clone https://github.com/dsapandora/ardrone_autonomy.git apt-get update cd ../ rosdep install --from-paths src --ignore-src -r -y
bswap
appears, edit this file: devel/src/ardronelib/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h
and replace:.
static INLINE uint32_t _byteswap_ulong(uint32_t
value)value) { __asm("bswap
%0":%0": "=r"
(value):(value): "0"
(value));}
(value)); return value;
}
with this:
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
int32_t tmp;
tmp;
__asm __volatile(
"eor %1, %2, %2, ror #16\n"
"bic %1, %1, #0x00ff0000\n"
"mov %0, %2, ror #8\n"
"eor %0, %0, %1, lsr #8"
: "=r" (value), "=r" (tmp)
: "r" (value)
);
);
return value;
}
and comment this line: _BitScanReverse(&index, code);
catkin_make
it should appear the last error which can be resolved "mov %0, %2, ror #8\n"
with:
"mov %0, %2\n"
and now should work just fine.
4 | No.4 Revision |
I found an answer here.
EDIT:
So, basically, the answer I found it is not exactly what I want, because that guy use a docker container, but for now it works. So the steps I followed are exactly this:this (in case the page disappears):
I downloaded the docker image using:
sudo docker pull ros:kinetic-robot-xenial
And then followed this steps to run the image: [http://wiki.ros.org/docker/Tutorials/Docker][1]
The I cloned the ardrone_autonomy package in a worksapce, from the above link:
mkdir -p catkin_ws/src cd catkin_ws/src git clone https://github.com/dsapandora/ardrone_autonomy.git apt-get update cd ../ rosdep install --from-paths src --ignore-src -r -y catkin_make
bswap
appears, edit this file: devel/src/ardronelib/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h
and replace:.
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
__asm("bswap %0":
"=r" (value):
"0" (value));
return value;
}
with this:
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
int32_t tmp;
__asm __volatile(
"eor %1, %2, %2, ror #16\n"
"bic %1, %1, #0x00ff0000\n"
"mov %0, %2, ror #8\n"
"eor %0, %0, %1, lsr #8"
: "=r" (value), "=r" (tmp)
: "r" (value)
);
return value;
}
and comment this line: _BitScanReverse(&index, code);
catkin_make
it should appear the last error which can be resolved by replacing this line (from the same file as above):"mov %0, %2, ror #8\n"
with:
"mov %0, %2\n"
and now should work just fine.
5 | No.5 Revision |
I found an answer here.
26.04.2021 EDIT: Only the first two steps are sufficient for making it work in ROS Melodic, the rest of the steps are important only if you try this on a Jetson. Also you can take an already working docker container with everything inside: docker pull funderburger/ardrone_autonomy_ros_ubuntu_16:latest
(some more info here. )
EDIT:
So, basically, the answer I found it is not exactly what I want, because that guy use a docker container, but for now it works. So the steps I followed are exactly this (in case the page disappears):
I downloaded the docker image using:
sudo docker pull ros:kinetic-robot-xenial
And then followed this steps to run the image: [http://wiki.ros.org/docker/Tutorials/Docker][1]
The Then I cloned the ardrone_autonomy package in a worksapce, from the above link:
mkdir -p catkin_ws/src cd catkin_ws/src git clone https://github.com/dsapandora/ardrone_autonomy.git apt-get update cd ../ rosdep install --from-paths src --ignore-src -r -y catkin_make
bswap
appears, edit this file: devel/src/ardronelib/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h
and replace:.
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
__asm("bswap %0":
"=r" (value):
"0" (value));
return value;
}
with this:
static INLINE uint32_t _byteswap_ulong(uint32_t value)
{
int32_t tmp;
__asm __volatile(
"eor %1, %2, %2, ror #16\n"
"bic %1, %1, #0x00ff0000\n"
"mov %0, %2, ror #8\n"
"eor %0, %0, %1, lsr #8"
: "=r" (value), "=r" (tmp)
: "r" (value)
);
return value;
}
and comment this line: _BitScanReverse(&index, code);
catkin_make
it should appear the last error which can be resolved by replacing this line (from the same file as above):"mov %0, %2, ror #8\n"
with:
"mov %0, %2\n"
and now should work just fine.