-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade to Galactic/Humble #1
Comments
Hi Peter, as galactic is EOL, my current plan is to update it to humble, and if that happens to be backward compatible with galactic then great, if not I probably won't worry. I don't have a plan for when I will be doing that just yet, probably some time early next year. In the meantime if someone wants to submit a PR I'd be happy to accept it. I doubt it would take more than a couple of hours, I just haven't had the time to sit down and do it. I'll leave this issue up and change the title to reflect that. Thanks for flagging it! |
Hey @peterheim1 , I had a bit of a stab at this for Galactic: #2. It seems to be working for me, but I do not know c++ (or engineering) so definitely worth double checking it. |
hi Josh, is this hardware interface (diffdrive_arduino) now updated and compatible with humble? I get errors when I attempted to build it. Please let me know. Thanks |
Hi Josh, this is the error I got in case there is something I'm doing wrong: ROS Version = ROS2 Humble --- stderr: diffdrive_arduino
|
@winicon001 are you using the |
Hi Josh. Thanks a lot. I've been using the main branch. I changed to the humble branch and built. Although I had the error on the serial driver at first: Finished <<< my-test-package [9.13s]
|
besides, which part of the .xacro am I to change |
hi josh please I still have challenge running the it. it fails to start the controller manager and couple of things. I'll appreciate if you may clarify what you meant by I still need to change my xacro a little. thank you. |
Here is the example xacro from the humble branch https://github.com/joshnewans/diffdrive_arduino/blob/humble/description/ros2_control/diffbot.ros2_control.xacro |
Thanks Josh....I'll give it a go shortly and let you know.....much appreciated. |
Hi Josh, winicon@iconrobot2: When I ran the launch file in the diffdrive_arduino package following the video on adding any HardWare https://www.youtube.com/watch?v=J02jEKawE5U&feature=youtu.be, This is what I get: ros2 launch diffdrive_arduino diffbot.launch.py Please see what you could do... here is the link to my code: https://github.com/winicon001/my_bot.git Thanks a lot. |
Hi Josh, Please were you able to assist to have a look? I'll really appreciate if you could assist to point me where I might be missing a detail. The controller manager seems not running. At this point I seem clueless about how to navigate the files further. Any help would be highly appreciated.. Thank you. |
Hi I think it might be a problem I have seen before myself and not worked out a solution for. I've got a bit going on at the moment and probably won't get a chance to look into it for a couple of months, but if you do manage to figure it out please share here so we can all learn :) |
Thanks Josh. Thats very kind of you.
I'll see what I could do.
Thanks once again.
Semiu, ADEBAYO
From: Josh Newans ***@***.***>
Sent: 08 August 2024 23:52
To: joshnewans/diffdrive_arduino ***@***.***>
Cc: winicon001 ***@***.***>; Mention ***@***.***>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Hi I think it might be a problem I have seen before myself and not worked out a solution for.
I've got a bit going on at the moment and probably won't get a chance to look into it for a couple of months, but if you do manage to figure it out please share here so we can all learn :)
-
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOZYUYKC5LAPZGZO62GLSZLZQPZBDAVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHAYTCMRQG4>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
Actually it looks like a slightly different issue to what I thought. One thing to check - your serial port https://github.com/winicon001/my_bot/blob/9284445cd9cb8ede0d8bf035cf527784451058ce/description/ros2_control.xacro#L11 looks awfully similar to my one - make sure you change it to point to whatever is correct for your arduino. |
Hi Josh,
That the exact port my Arduino connects to. I was able to run it from that port using the serial_demo example and the robot responded very well to all command s. I was also able to run my lidar at the same time which all seem to work fine as at then. But now, I dont even know how to revert back to the one that works. I’m stuck with getting the diffdrive_arduino work. Now my project is stuck 😊.
Semiu, ADEBAYO
From: Josh Newans ***@***.***>
Sent: 09 August 2024 00:07
To: joshnewans/diffdrive_arduino ***@***.***>
Cc: winicon001 ***@***.***>; Mention ***@***.***>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Actually it looks like a slightly different issue to what I thought.
One thing to check - your serial port https://github.com/winicon001/my_bot/blob/9284445cd9cb8ede0d8bf035cf527784451058ce/description/ros2_control.xacro#L11 looks awfully similar to my one - make sure you change it to point to whatever is correct for your arduino.
—
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOZYUYO4COK67SOBNC7LNUDZQP2Z3AVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHA2TIMBXGY>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
My only suggestion would be to try and get the diffdrive_arduino example working again (without the rest of my_bot) because that error looks easier to chase down. It seems to be the serial failing to open the port (rather than the other one which is the controller_manager not starting). The error I have been seeing lately is the controller manager not starting when it's in simulation but working fine for the real robot (and in that case you can get around it by swapping to the old Gazebo controller). |
In fact Josh, something strange happened.... when I tried something differet....Please see below for the steps I ran this On Dev machineros2 launch my_bot launch_sim.launch.py world:=/robot_ws/src/my_bot/worlds/cafe.world I ran this on the Robot Raspiros2 launch diffdrive_arduino diffbot.launch.py # Ran the I stopped it Then ran this on the Robotros2 launch my_bot launch_smilebot.launch.py #####Response from Robot Terminal############# [INFO] [launch]: All log files can be found below /home/winicon/.ros/log/2024-08-04-14-54-23-513554-iconrobot2-342004 This proves to me that I havent mapped the files correctly for the controller manager to run, but I dont just have a clue where I'm missing it out.... How I wish I could have an online call with you so I could show you. All I need is 30minutes and my life will never be the same again.... :) |
Yes so I am interested in that second one ( And yes you and a hundred other people! Unfortunately I don't have the time for one-on-one support (as I only do this YouTube stuff in my spare time outside my engineering day job) so I try to spend that limited time doing things that can reach the most people - like videos. |
Thanks Josh. I can understand.
Concerning the second script output:
***@***.***:~/smilebot_ws$ ros2 launch diffdrive_arduino diffbot.launch.py
[INFO] [launch]: All log files can be found below /home/winicon/.ros/log/2024-08-09-00-32-33-136277-iconrobot2-13857
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [13878]
[INFO] [robot_state_publisher-2]: process started with pid [13880]
[INFO] [spawner-3]: process started with pid [13882]
[robot_state_publisher-2] [WARN] [1723159955.017686242] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF.
[robot_state_publisher-2] [INFO] [1723159955.019803664] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1723159955.022031678] [robot_state_publisher]: got segment caster_frontal_wheel
[robot_state_publisher-2] [INFO] [1723159955.023058990] [robot_state_publisher]: got segment caster_rear_wheel
[robot_state_publisher-2] [INFO] [1723159955.023116250] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-2] [INFO] [1723159955.023147731] [robot_state_publisher]: got segment right_wheel
[ros2_control_node-1] [WARN] [1723159955.086214284] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-1] [INFO] [1723159955.087942540] [resource_manager]: Loading hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.094261601] [resource_manager]: Initialize hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095182321] [resource_manager]: Successful initialization of hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095730912] [resource_manager]: 'configure' hardware 'DiffBot'
[ros2_control_node-1] [INFO] [1723159955.095919875] [DiffDriveArduinoHardware]: Configuring ...please wait...
[ros2_control_node-1] terminate called after throwing an instance of 'LibSerial::OpenFailed'
[ros2_control_node-1] what(): Bad file descriptor
[ros2_control_node-1] Stack trace (most recent call last):
[ros2_control_node-1] #21 Object "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1", at 0xffffffffffffffff, in
[ros2_control_node-1] #20 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaaca512c6f, in
[ros2_control_node-1] #19 Source "../csu/libc-start.c", line 392, in __libc_start_main_impl [0xffffaf3d74cb]
[ros2_control_node-1] #18 Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __aarch64_ldadd4_acq [0xffffaf3d73fb]
[ros2_control_node-1] #17 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaaca512767, in
[ros2_control_node-1] #16 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffffafa824cb, in controller_manager::ControllerManager::ControllerManager(std::shared_ptr<rclcpp::Executor>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::NodeOptions const&)
[ros2_control_node-1] #15 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffffafa7eab7, in controller_manager::ControllerManager::init_resource_manager(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
[ros2_control_node-1] #14 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf24bc0b, in hardware_interface::ResourceManager::set_component_state(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp_lifecycle::State&)
[ros2_control_node-1] #13 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf2492cb, in bool hardware_interface::ResourceStorage::set_component_state<hardware_interface::System>(hardware_interface::System&, rclcpp_lifecycle::State const&)
[ros2_control_node-1] #12 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf2584fb, in
[ros2_control_node-1] #11 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf26a5cf, in
[ros2_control_node-1] #10 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffffaf269adf, in hardware_interface::System::configure()
[ros2_control_node-1] #9 Object "/home/winicon/smilebot_ws/install/diffdrive_arduino/lib/libdiffdrive_arduino.so", at 0xffffa85770bf, in diffdrive_arduino::DiffDriveArduinoHardware::on_configure(rclcpp_lifecycle::State const&)
[ros2_control_node-1] #8 Object "/home/winicon/smilebot_ws/install/diffdrive_arduino/lib/libdiffdrive_arduino.so", at 0xffffa857952f, in ArduinoComms::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)
[ros2_control_node-1] #7 Object "/usr/lib/aarch64-linux-gnu/libserial.so.1.0.0", at 0xffffa84f842b, in
[ros2_control_node-1] #6 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632e03, in __cxa_throw
[ros2_control_node-1] #5 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632b1f, in std::terminate()
[ros2_control_node-1] #4 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf632abb, in
[ros2_control_node-1] #3 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffffaf6362db, in __gnu_cxx::__verbose_terminate_handler()
[ros2_control_node-1] #2 Source "./stdlib/abort.c", line 79, in abort [0xffffaf3d712f]
[ros2_control_node-1] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0xffffaf3ea67b]
[ros2_control_node-1] #0 Source "./nptl/pthread_kill.c", line 44, in __pthread_kill_implementation [0xffffaf42f200]
[ros2_control_node-1] Aborted (Signal sent by tkill() 13878 1000)
[ERROR] [ros2_control_node-1]: process has died [pid 13878, exit code -6, cmd '/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_r572i36b --params-file /home/winicon/smilebot_ws/install/diffdrive_arduino/share/diffdrive_arduino/config/diffbot_controllers.yaml'].
[spawner-3] [INFO] [1723159958.311614138] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159960.362184985] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159962.404674826] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [INFO] [1723159964.446730053] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-3] [ERROR] [1723159966.273239443] [spawner_joint_state_broadcaster]: Controller manager not available
[ERROR] [spawner-3]: process has died [pid 13882, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager /controller_manager --ros-args'].
[INFO] [spawner-4]: process started with pid [13964]
[INFO] [rviz2-5]: process started with pid [13966]
[rviz2-5] qt.qpa.xcb: could not connect to display
[rviz2-5] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
[rviz2-5] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
[rviz2-5]
[rviz2-5] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
[rviz2-5]
[ERROR] [rviz2-5]: process has died [pid 13966, exit code -6, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /home/winicon/smilebot_ws/install/diffdrive_arduino/share/diffdrive_arduino/rviz/diffbot.rviz --ros-args -r __node:=rviz2'].
[spawner-4] [INFO] [1723159970.319333053] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159972.354465261] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159974.392465589] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [INFO] [1723159976.424274982] [spawner_diffbot_base_controller]: Waiting for '/controller_manager' node to exist
[spawner-4] [ERROR] [1723159978.255996093] [spawner_diffbot_base_controller]: Controller manager not available
[ERROR] [spawner-4]: process has died [pid 13964, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner diffbot_base_controller --controller-manager /controller_manager --ros-args'].
*********************************************
It was the same output
Semiu, ADEBAYO
From: Josh Newans ***@***.***>
Sent: 09 August 2024 00:29
To: joshnewans/diffdrive_arduino ***@***.***>
Cc: winicon001 ***@***.***>; Mention ***@***.***>
Subject: Re: [joshnewans/diffdrive_arduino] Upgrade to Galactic/Humble (Issue #1)
Yes so I am interested in that second one (diffdrive_arduino diffbot.launch.py) and what its output is.
And yes you and a hundred other people! Unfortunately I don't have the time for one-on-one support (as I only do this YouTube stuff in my spare time outside my engineering day job) so I try to spend that limited time doing things that can reach the most people - like videos.
-
Reply to this email directly, view it on GitHub<#1 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AOZYUYNW6H7P4L7RYE3AIN3ZQP5NJAVCNFSM6AAAAABL5JW7E6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZWHA3TONBTGY>.
You are receiving this because you were mentioned.Message ID: ***@***.******@***.***>>
|
Hi Josh!!! I changed the serial to tty/USB0 and it gave a different output!!. Please see below: winicon@iconrobot2: Script I used: ros2 launch diffdrive_arduino diffbot.launch.py Hardware Interface: <xacro:macro name="diffbot_ros2_control" params="name prefix">
</xacro:macro> Hopefully this sorts it..... I'll keep you posted on my trials and errors :) Thanks Prof* |
Hi
this works fine in foxy but not in galactic would it be possible to upgrade it to galactic
The text was updated successfully, but these errors were encountered: