RoboticaUtnFrba / create_autonomy

ROS autonomy stack for iRobot Create 2.
BSD 3-Clause "New" or "Revised" License
28 stars 38 forks source link

Process has died. exit code -6 Roomba iRobot Create2 with create_autonomy #236

Closed GaganBhat closed 3 years ago

GaganBhat commented 3 years ago

When I try running roslaunch ca_driver create_2.launch, I get the below error. I've made sure to source my devel/setup.bash and have done sudo usermod -a -G dialout $USER and restarted. This is running on a raspberry pi 4 connected to a iRobot Roomba Create2 via the normal serial USB cable. I have also ensured that the roomba is connected to the default dev/tty/USB0 by cat /dev/tty* before and after connecting the cable.

SUMMARY
========

PARAMETERS
 * /ca_driver/base_frame: base_footprint
 * /ca_driver/baud: 115200
 * /ca_driver/dev: /dev/roomba
 * /ca_driver/latch_cmd_duration: 0.2
 * /ca_driver/loop_hz: 40.0
 * /ca_driver/namespace: create1
 * /ca_driver/odom_frame: odom
 * /ca_driver/publish_tf: False
 * /ca_driver/robot_model: CREATE_2
 * /rosdistro: melodic
 * /rosversion: 1.14.6

NODES
  /
    ca_driver (ca_driver/ca_driver)

auto-starting new master
process[master]: started with pid [7554]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to fcd666f0-c5f5-11ea-bf57-dca63263c8e0
process[rosout-1]: started with pid [7613]
started core service [/rosout]
process[ca_driver-2]: started with pid [7617]
[ INFO] [1594747093.564272165]: [CREATE] "CREATE_2" selected
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
  what():  open: No such file or directory
[ca_driver-2] process has died [pid 7617, exit code -6, cmd /home/ubuntu/Programming/create_ws/devel/lib/ca_driver/ca_driver __name:=ca_driver __log:=/home/ubuntu/.ros/log/fcd666f0-c5f5-11ea-bf57-dca63263c8e0/ca_driver-2.log].
log file: /home/ubuntu/.ros/log/fcd666f0-c5f5-11ea-bf57-dca63263c8e0/ca_driver-2*.log
eborghi10 commented 3 years ago

The code looks in the port /dev/roomba, see this line:

 * /ca_driver/dev: /dev/roomba

In order to create a symlink, you have to execute this.

You have the information here.

GaganBhat commented 3 years ago

I ran the script, there was an issue with finding roomba.rules, but it was a simple path error, created a PR for it in #237 .

I ran roslaunch ca_driver create_2.launch again after replugging the robot back in (critical)

setting /run_id to 7ba45170-c62a-11ea-975e-dca63263c8e0
process[rosout-1]: started with pid [17923]
started core service [/rosout]
process[ca_driver-2]: started with pid [17926]
[ INFO] [1594769638.729480661]: [CREATE] "CREATE_2" selected
[ INFO] [1594769640.382722207]: [CREATE] Connection established.
[ INFO] [1594769640.383057771]: [CREATE] Battery level 91.98 %
[ INFO] [1594769640.466073734]: [CREATE] Ready.

Seems to work now.