Open AlexWUrobot opened 1 year ago
same #21911 @lucasdemarchi @NaterGator @JamesHarrison @lfelipe
I realised the error for PX4 SITL originates from line 324 to 334 of the file "platforms/posix/src/px4/common/main.cpp", from commit 2110eae25d32ef102c5e44f2590fd7f9d65fc44d:
if (test_data_path != "") {
const std::string required_test_data_path = "./test_data";
if (!dir_exists(required_test_data_path)) {
ret = symlink(test_data_path.c_str(), required_test_data_path.c_str());
if (ret != PX4_OK) {
return ret;
}
}
}
For some reason, the test_data_path is not empty when spawning a PX4 SITL instance. As a result, the return code will not be PX4_OK and it will return -1, ending the program.
For me this happened when I moved the PX4-Autopilot directory somewhere else and recompiled it in the new place. The folder ~/.ros/test_data
is a symbolic link to PX4-Autopilot/test_data
which doesn't get updated after recompiling. I just updated the link and things worked again.
@nikhil-sethi I have the same problem when I moved the directory,so how to updated the link?
@newawesom
You can use the ln
command (in linux) to update the symbolic link from the source directory (~/.ros/test_data
) to the target directory (wherever your new test data folder is).
ln -s <target_directory> <source_directory>
you may also have to use -f
flag to force the update if the link already exists.
@newawesom You can use the
ln
command (in linux) to update the symbolic link from the source directory (~/.ros/test_data
) to the target directory (wherever your new test data folder is).ln -s <target_directory> <source_directory>
you may also have to use
-f
flag to force the update if the link already exists.
@nikhil-sethi Thanks for reply!Acutually,I deleted test_data directory in PX4-Autopilot and it worked after recompiling.
Describe the bug
Install the lastest MAVROS and PX4-autopilot in Ubuntu 18.04 (python 2.7) I placed the PX4-autopliot under root, instead of any worksapce. When running
roslaunch px4 mavros_posix_sitl.launch
get error like this "=REQUIRED process [sitl-1] has died!"How to reproduce
ridley2@ridley2-Alienware-Aurora-R12:~/PX4-Autopilot$ roslaunch px4 mavros_posix_sitl.launch
... logging to /home/ridley2/.ros/log/83d21e16-2010-11ee-b02d-cc6b1e18f8d5/roslaunch-ridley2-Alienware-Aurora-R12-20823.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
SUMMARY
CLEAR PARAMETERS
PARAMETERS
NODES / gazebo (gazebo_ros/gzserver) gazebo_gui (gazebo_ros/gzclient) mavros (mavros/mavros_node) sitl (px4/px4) vehicle_spawn_ridley2_Alienware_Aurora_R12_20823_4706267373789824166 (gazebo_ros/spawn_model)
ROS_MASTER_URI=http://localhost:11311
process[sitl-1]: started with pid [20854] process[gazebo-2]: started with pid [20855] process[gazebo_gui-3]: started with pid [20860] process[vehicle_spawn_ridley2_Alienware_Aurora_R12_20823_4706267373789824166-4]: started with pid [20865] process[mavros-5]: started with pid [20866] -----------------------------------------------------------------------------REQUIRED process [sitl-1] has died! process has died [pid 20854, exit code 255, cmd /home/ridley2/PX4-Autopilot/build/px4_sitl_default/bin/px4 /home/ridley2/PX4-Autopilot/build/px4_sitl_default/etc -s etc/init.d-posix/rcS name:=sitl log:=/home/ridley2/.ros/log/83d21e16-2010-11ee-b02d-cc6b1e18f8d5/sitl-1.log]. log file: /home/ridley2/.ros/log/83d21e16-2010-11ee-b02d-cc6b1e18f8d5/sitl-1*.log Initiating shutdown!
[mavros-5] killing on exit [vehicle_spawn_ridley2_Alienware_Aurora_R12_20823_4706267373789824166-4] killing on exit Traceback (most recent call last): File "/opt/ros/melodic/lib/gazebo_ros/spawn_model", line 20, in
import rospy
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/init.py", line 49, in
from .client import spin, myargv, init_node, \
File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 52, in
import roslib
File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/init.py", line 53, in
[gazebo_gui-3] killing on exit
[gazebo-2] killing on exit
[sitl-1] killing on exit
Traceback (most recent call last):
File "/opt/ros/melodic/bin/catkin_find", line 57, in
main()
File "/opt/ros/melodic/bin/catkin_find", line 42, in main
results = find_in_workspaces(args.install_folders, args.project, args.path, first_matching_workspace_only=args.without_underlays, first_match_only=args.first_only, considered_paths=checked)
File "/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py", line 149, in find_in_workspaces
source_path_to_packages[source_path] = find_packages(source_path)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 94, in find_packages
ignore_markers=ignore_markers)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 156, in find_packages_allowing_duplicates
xml, filename=filename, warnings=warnings)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 730, in parse_package_string
Traceback (most recent call last):
File "/opt/ros/melodic/bin/catkin_find", line 12, in
from catkin.find_in_workspaces import find_in_workspaces # noqa: E402
File "/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py", line 39, in
from catkin_pkg.packages import find_packages
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 38, in
from .package import _get_package_xml
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 431, in
class Person(object):
KeyboardInterrupt errors += _check_known_attributes(root, ['format'])
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 589, in _check_known_attributes
File "/usr/lib/python2.7/xml/dom/minidom.py", line 498, in keys import roslib.stacks # noqa: F401, I100 File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py", line 45, in
return self._attrs.keys()
KeyboardInterrupt
import roslib.packages
File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py", line 48, in
from catkin.find_in_workspaces import find_in_workspaces as catkin_find
File "/opt/ros/melodic/lib/python2.7/dist-packages/catkin/find_in_workspaces.py", line 39, in
from catkin_pkg.packages import find_packages
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 38, in
from .package import _get_package_xml
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 44, in
from catkin_pkg.condition import evaluate_condition
File "/usr/lib/python2.7/dist-packages/catkin_pkg/condition.py", line 17, in
import pyparsing as pp
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 6398, in
class pyparsing_common:
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 6598, in pyparsing_common
ipv6_address = Combine((_full_ipv6_address | _mixed_ipv6_address | _short_ipv6_address).setName("IPv6 address")).setName("IPv6 address")
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 5124, in init
self.leaveWhitespace()
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 4468, in leaveWhitespace
self.expr = self.expr.copy()
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 3969, in copy
ret = super(ParseExpression, self).copy()
File "/home/ridley2/.local/lib/python2.7/site-packages/pyparsing.py", line 1445, in copy
cpy = copy.copy(self)
File "/usr/lib/python2.7/copy.py", line 96, in copy
return _reconstruct(x, rv, 0)
File "/usr/lib/python2.7/copy.py", line 316, in _reconstruct
state = info[2]
KeyboardInterrupt
shutting down processing monitor...
... shutting down processing monitor complete
done
To Reproduce
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
refref
Expected behavior
It should roslaunch successfully without error. It should publish mavros and iris (a drone model) in the gazebo world.
Screenshot / Media
No response
Flight Log
no log
Software Version
Ubuntu 18.04
Flight controller
None
Vehicle type
None
How are the different components wired up (including port information)
No response
Additional context
Thank you very much for your help ^^ No response