Clearpath Jackal - launch error: unable to open port
Hi,
I am running Ubuntu 16.04 with ROS kinetic on a ClearPath jackal. I am running into a problem where I run a launch file called base.launch and end up getting an error shown below. I found a few lines in one of the nodes that are run by the launch file (shown below), but I am not sure how to deal with this problem. If anyone can offer any help thank you in advance.
Launch File
<launch>
<include file="$(find jackal_description)/launch/description.launch" />
<node pkg="jackal_base" type="jackal_node" name="jackal_node">
<rosparam>
# TODO: Specify these in code rather than here.
require:
publishers:
- status
- feedback
- imu/data_raw
- navsat/nmea_sentence
subscribers:
- cmd_drive
- wifi_connected
</rosparam>
<param name="wireless_interface" value="$(optenv JACKAL_WIRELESS_INTERFACE wlp2s0)" />
</node>
<!-- TODO: Eliminate this by compiling the necessary message definitions into jackal_base. -->
<node pkg="rosserial_python" type="message_info_service.py" name="rosserial_message_info" />
<!-- Translate Sentence messages from the MCU to NavSatFix messages -->
<node pkg="nmea_navsat_driver" type="nmea_topic_driver" name="nmea_topic_driver" ns="navsat" />
<!-- Filter raw gyro data into a usable IMU message -->
<node pkg="imu_filter_madgwick" type="imu_filter_node" name="imu_filter">
<!-- This environment variable is populated by an env hook in the jackal_base
package. It looks for a user-generated mag config (eg, from running
the calibrate_compass script), and falls back on a default one. -->
<rosparam file="$(env JACKAL_MAG_CONFIG)" />
<rosparam>
gain: 0.1
zeta: 0.001
publish_tf: false
use_magnetic_field_msg: false
</rosparam>
</node>
<!-- Differential controller and basic localization -->
<include file="$(find jackal_control)/launch/control.launch" />
<!-- Teleoperation via joystick and rviz interactive markers -->
<include file="$(find jackal_control)/launch/teleop.launch" />
<!-- Diagnostic Aggregator for robot monitor usage -->
<node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator">
<rosparam command="load" file="$(find jackal_base)/config/diagnostic_analyzers.yaml" />
</node>
</launch>
Related lines from node
// Create the serial rosserial server in a background ASIO event loop.
std::string port;
ros::param::param<std::string>("~port", port, "/dev/jackal");
boost::asio::io_service io_service;
new rosserial_server::SerialSession(io_service, port, 115200);
boost::thread(boost::bind(&boost::asio::io_service::run, &io_service));
Error
[ERROR] [1561035200.806246227]: Unable to open port /dev/jackal: system:2
It looks like something happened during the copy/paste of your launch file. Can you try posting it again?
oh yes, sorry about that, updated now.
Is
/dev/jackal
visible in the filesystem? You might be missing a udev rule perhaps?No, I do not see it when I search through
Then either your cable isn't plugged in, there's an issue mounting it, or there are no udev rules set up I would guess.
I would highly recommend contacting Clearpath support directly for any issues like this. Clearpath have been very helpful with the occasional issue I've had with my Jackal. In addition, Clearpath has a lot of custom and hidden configuration files that dictate how the Jackal's network is set up. So if your problem is anything like mine was (link) then the solution might involve configuration parameters only Clearpath knows about.
yeah, I thought it might have been an unplugged cable as well. However, it is not apparent to me, so I have sent a request to clearpath. Thank you for the help everyone.
Hey, did Clearpath give you a solution for this?