Giter Club home page Giter Club logo

h4r_ev3_ctrl's Introduction

h4r_ev3_ctrl

⚠️ ATTENTION! THE EV3_MANAGER NODE IS SUPPOSED TO RUN ON THE EV3 BRICK DIRECTLY! ⚠️

❓ Having problems with my software? Please use the Github Issues features instead of direct emailing, maybe your problem and solving it can be useful for other users too, thank you... ❤️

Use the image in the instructions - it gives you all except for the launchfiles you should launch on your Linux PC to make the Brick load the controller!

Instructions to get a working image for your SD Card can be found here:

http://hacks4ros.github.io/h4r_ev3_ctrl/

If you want, here is a HowTo using Docker Containers created by Mikael Valot.

This repository contains the node for the Lego EV3 for ROS.

Early Demonstration (Recored some time ago): Driving with ROS Controller Diff Drive

DiffDrive Controller Demonstration Video

h4r_ev3_ctrl's People

Contributors

cyborg-x1 avatar dmasterd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

h4r_ev3_ctrl's Issues

Wifi

I am new in ROS and I try to connect my ev3 with my computer by wired but i didn't succed.
I want to buy a wi-fi dongle so i don't know what kind of dongle to buy. Anyone have any suggest? that work with ev3 and pc on Yocto with ROS.
Thank!

Commanding absolute positions in joint position mode leads to velocity outputs

Whenever I use the joint position mode and a position_controllers/JointPositionController
the controller / hardware interface still commands the input as velocity/speed instead of the position value.

However, I bypass this problem by using my self-adjusted PID position controller and the velocity joint interface: velocity_controllers/JointPositionController.
Hence, I have not yet looked into the code in order to find the cause.
Just for the record.

Motors can't move

Hello,
I installed the packages to control ev3 then I launched the motors but it doesn't work. I did everything that is mentioned in Geting Started
In brick:
I set ROS_IP= "IP of my pc"
ev3_manager

In PC:
roslaunch motors.launch ev3_hostname:=ev3dev

ieka@ieka:~/catkin_ws/src/h4r_ev3_launch/launch$ roslaunch motors.launch ev3_hostname:=ev3dev
... logging to /home/ieka/.ros/log/1a758ccc-1ca3-11e7-8760-a0d37a596cdf/roslaunch-ieka-31830.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ieka:34720/

SUMMARY
========

PARAMETERS
 * /ev3dev/Ev3devJoints/Joint_A/mode: velocity
 * /ev3dev/Ev3devJoints/Joint_A/speed_pid: [1001, 61, 1]
 * /ev3dev/Ev3devJoints/Joint_B/mode: velocity
 * /ev3dev/Ev3devJoints/Joint_B/speed_pid: [1002, 62, 2]
 * /ev3dev/Ev3devJoints/Joint_C/mode: velocity
 * /ev3dev/Ev3devJoints/Joint_C/speed_pid: [1003, 63, 3]
 * /ev3dev/Ev3devJoints/Joint_D/mode: velocity
 * /ev3dev/Ev3devJoints/Joint_D/speed_pid: [1004, 64, 4]
 * /ev3dev/OutPortA/joint: Joint_A
 * /ev3dev/OutPortA/type: velocity_controll...
 * /ev3dev/OutPortB/joint: Joint_B
 * /ev3dev/OutPortB/type: velocity_controll...
 * /ev3dev/OutPortState/publish_rate: 10
 * /ev3dev/OutPortState/type: joint_state_contr...
 * /ev3dev/diffDrv/angular/z/has_acceleration_limits: True
 * /ev3dev/diffDrv/angular/z/has_velocity_limits: True
 * /ev3dev/diffDrv/angular/z/max_acceleration: 1.5
 * /ev3dev/diffDrv/angular/z/max_velocity: 1.7
 * /ev3dev/diffDrv/base_frame_id: base_footprint
 * /ev3dev/diffDrv/cmd_vel_timeout: 0.5
 * /ev3dev/diffDrv/left_wheel: Joint_C
 * /ev3dev/diffDrv/linear/x/has_acceleration_limits: True
 * /ev3dev/diffDrv/linear/x/has_velocity_limits: True
 * /ev3dev/diffDrv/linear/x/max_acceleration: 0.8
 * /ev3dev/diffDrv/linear/x/max_velocity: 1.0
 * /ev3dev/diffDrv/linear/x/min_acceleration: 0.2# m/s^2
 * /ev3dev/diffDrv/linear/x/min_velocity: -1.0
 * /ev3dev/diffDrv/pose_covariance_diagonal: [0.0, 0.0, 0.0, 0...
 * /ev3dev/diffDrv/publish_rate: 10.0
 * /ev3dev/diffDrv/right_wheel: Joint_D
 * /ev3dev/diffDrv/twist_covariance_diagonal: [0.0, 0.0, 0.0, 0...
 * /ev3dev/diffDrv/type: diff_drive_contro...
 * /ev3dev/diffDrv/wheel_radius: 0.15
 * /ev3dev/diffDrv/wheel_radius_multiplier: 1.0
 * /ev3dev/diffDrv/wheel_separation: 1.0
 * /ev3dev/diffDrv/wheel_separation_multiplier: 1.0
 * /ev3dev/ev3_manager_node/InPorts: ['in1', 'in2', 'i...
 * /ev3dev/ev3_manager_node/OutPorts: ['outA', 'outB', ...
 * /rosdistro: indigo
 * /rosversion: 1.11.20

NODES
  /ev3dev/
    controller_spawner (controller_manager/spawner)
    ev3_manager_node (h4r_ev3_manager/ev3_manager_node)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[ev3dev/ev3_manager_node-1]: started with pid [31848]
process[ev3dev/controller_spawner-2]: started with pid [31849]
[INFO] [WallTime: 1491687916.313862] Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [WallTime: 1491687916.316145] Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [WallTime: 1491687916.318167] Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [WallTime: 1491687916.320247] Loading controller: OutPortState
[INFO] [WallTime: 1491687916.370920] Loading controller: OutPortA
[INFO] [WallTime: 1491687916.470887] Loading controller: OutPortB
[INFO] [WallTime: 1491687916.571194] Controller Spawner: Loaded controllers: OutPortState, OutPortA, OutPortB
[ INFO] [1491687916.670842904]: Controller Change
[ INFO] [1491687916.671082092]: velocity_controllers/JointVelocityController requests Joint OutPortA Joint_A
[ INFO] [1491687916.673022080]: <--------------EV3 Joint Joint_A---------------->
[ INFO] [1491687916.674932682]: Joint control mode: velocity
[ INFO] [1491687916.678418267]: P: 1001  I: 61   D: 1
[ INFO] [1491687916.678524544]: </-------------EV3 Joint Joint_A---------------->
[ INFO] [1491687916.678608714]: ----------------------------------------------<
[ INFO] [1491687916.678713111]: PID 1001 61 1
[ INFO] [1491687916.678869799]: velocity_controllers/JointVelocityController requests Joint OutPortB Joint_B
[ INFO] [1491687916.680746845]: <--------------EV3 Joint Joint_B---------------->
[ INFO] [1491687916.682513984]: Joint control mode: velocity
[ INFO] [1491687916.685414876]: P: 1002  I: 62   D: 2
[ INFO] [1491687916.685479442]: </-------------EV3 Joint Joint_B---------------->
[ INFO] [1491687916.685524625]: ----------------------------------------------<
[ INFO] [1491687916.685575927]: PID 1002 62 2
[INFO] [WallTime: 1491687916.686034] Started controllers: OutPortState, OutPortA, OutPortB

Then I start "rqt" to try move motors with any value in "Message Publisher" i get this http://imgur.com/a/MQLcd and the motors don't move.

When i do rostopic echo /ev3dev/joint_states the data don't change and i get this:

header: 
  seq: 1920
  stamp: 
    secs: 1491688109
    nsecs:  70649827
  frame_id: ''
name: ['Joint_A', 'Joint_B', 'Joint_C', 'Joint_D']
position: [0.0, 0.0, 0.0, 0.0]
velocity: [0.0, 0.0, 0.0, 0.0]
effort: [0.0, 0.0, 0.0, 0.0]

The only data that change are sec and nsecs. I delete the tag mentioned in # 11 but it does not work because topics "OutPort#" don't appear.
Try several times, with variations on the other ports and topics but nothing moves the motors.

do i need to modify any file? i don't understand why they don't work. I read other issues but don't find other similary error.

I hope that you can help me.

Thank you

Ev3 manager crashes

Hii, i have managed to control the ev3 with the H4R_EV3, however while working und runing line follower programs the Ev3 manager crashes and give me this error. anyone has idea what causes this!!???

getFilePTR opening: /sys/class/tacho-motor/motor1/speed_regulation 0x121d48
ev3_manager_node: /data/Daten/Projekte/ROS_EV3/build/tmp/sysroots/ev3dev/usr/include/boost/smart_ptr/shared_ptr.hpp:648: typename boost::detail::sp_member_access::type boost::shared_ptr::operator->() const [with T = ros::Connection; typename boost::detail::sp_member_access::type = ros::Connection*]: Assertion `px != 0' failed.
Aborted

Controller Spawner couldn't find the expected controller_manager ROS interface.

Hello

I am trying to use your code as a base for a project vith Ev3. I am running ros kinetic on ubuntu 16.04 and ros jade on debian Jessie (raspbery pi). The upper error appears on both machines when I try to run roslaunch h4r_ev3_launch ultrasonic.launch ev3_hostname:=ev3brick1 (hostname was changed and correct one)
The connection between machines is fine. I can ping all machines and can see messages with rostopic echo / when I run rostopic pub -r 1 /krneki std_msgs/String test_msg. roscore is runing on computer/rpi, ev3_manager is running on ev3 and then roslaunch command is being executed.

My first idea was that ev3 is too slow, so I set respawn to true in launch file, but that did not solve the problem. Could this error arise due to different ros versions on ev3 and compiter/rpi?

Whole output:
... logging to /home/ales/.ros/log/7504273a-a398-11e7-bdd8-aced5c9f81a2/roslaunch-wendigo-4584.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.8.105:34833/

SUMMARY

PARAMETERS

  • /ev3brick1/Ev3UltraSonic/frame_id: ultrasonic_link
  • /ev3brick1/Ev3UltraSonic/max_range: 1.5
  • /ev3brick1/Ev3UltraSonic/min_range: 0.01
  • /ev3brick1/Ev3UltraSonic/mode: distance
  • /ev3brick1/Ev3UltraSonic/port: in2
  • /ev3brick1/Ev3UltraSonic/publish_rate: 10
  • /ev3brick1/Ev3UltraSonic/topic_name: /ultrasonic
  • /ev3brick1/Ev3UltraSonic/type: h4r_ev3_control/E...
  • /rosdistro: kinetic
  • /rosversion: 1.12.7

NODES
/ev3brick1/
ev3_sensor_spawner (controller_manager/spawner)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[ev3brick1/ev3_sensor_spawner-1]: started with pid [4602]
[INFO] [1506526195.200964]: Controller Spawner: Waiting for service controller_manager/load_controller
[WARN] [1506526225.224220]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[ev3brick1/ev3_sensor_spawner-1] process has finished cleanly
log file: /home/ales/.ros/log/7504273a-a398-11e7-bdd8-aced5c9f81a2/ev3brick1-ev3_sensor_spawner-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
``

Compiling error ev3dev.h is missing - remove dependency of ev3dev cpp library

Hi, I am just trying your EV3 package. I set may EV3 up like mentioned in your instructions, YOCTO runs fine.

But compiling the package on my computer fails due to an error. ev3dev.h is missing.

In file included from /home/ros/ev3_ws/src/h4r_ev3_ctrl/h4r_ev3_manager/src/h4r_ev3_manager/Ev3HardwareInterface.cpp:23:0:
/home/ros/ev3_ws/src/h4r_ev3_ctrl/h4r_ev3_manager/src/h4r_ev3_manager/../h4r_ev3_manager/Ev3HardwareInterface.h:28:20: fatal error: ev3dev.h: No such file or directory
 #include <ev3dev.h>
                    ^
compilation terminated.
In file included from /home/ros/ev3_ws/src/h4r_ev3_ctrl/h4r_ev3_manager/src/h4r_ev3_manager/ev3_ctrl_node.cpp:29:0:
/home/ros/ev3_ws/src/h4r_ev3_ctrl/h4r_ev3_manager/src/h4r_ev3_manager/Ev3HardwareInterface.h:28:20: fatal error: ev3dev.h: No such file or directory
 #include <ev3dev.h>
                ^

compilation terminated.

Can read the position from motor, but cannot control it

Hello,
I use a usb-cable to connect the ev3 with pi4. In pi4 i have install the ros-melodic. The communication seems good.

I can list all Service in Brick by using rosservice list. From outportstate topic i can read the position and velocity, wenn i rotate the wheel by my hand. But wenn i publish a message just like

rostopic pub /ev3dev/OutPortA/command std_msgs/Float64 "data: 5.0"

,the Motor does not move.

When i use roswtf, the output shows Ev3ControllNode, OutportA, OutportB do not have a subscriber.

Thanks for your help

controlling motors and using multiple sensors

Hello again!

I've tried to operate your pkgs and I have a couple of questions.

I roslaunched ultrasonic.launch, motor.launch successfully but I have a problem with using topics.

I could manage to subscribe the topic "/ultrasonic" but I don't know how to publish topic "/ev3dev/OutportA/command"

I googled for days but I still no have idea to make the motors work.

I found the type of topic "command" is "std_msg/Float64".

Q1) Does that mean I should publish just velocity of motors??? or something more than that?

Because topic "joint_states" publishes multiple values, I don't think I should publish just velocity of motors.

Please give me a hint or show me your source code of publisher node (the one used on your Youtube demo) if you are ok..

Q2) Can I launch multiple sensors??

Because I launched ultrasonic sensor and again launched color sensor and the formal one died..

I'm gonna try to modify launch files but before that, I want to ask you about it first.

Thanks a lot.


My topic lists are below

Published topics:

  • /ev3dev/joint_states [sensor_msgs/JointState] 1 publisher
  • /rosout [rosgraph_msgs/Log] 4 publishers
  • /ultrasonic [sensor_msgs/Range] 1 publisher
  • /rosout_agg [rosgraph_msgs/Log] 1 publisher

Subscribed topics:

  • /ev3dev/OutPortB/command [std_msgs/Float64] 1 subscriber
  • /ev3dev/OutPortA/command [std_msgs/Float64] 1 subscriber
  • /rosout [rosgraph_msgs/Log] 1 subscriber

I cant connect motors and sensors

Hi There,
I am working with my Ev3 and ROS, I have reached to connect my Ev3 with my computer through USB cable with the SSH protocol , but I am not clear about what is the next step?
I don't know where exactly should be launched the files described in the tutorial if is in the Ev3 brick or in the computer connected to the Ev3.
And if is neccesary to connect to the internet the ev3 brick in order to connect sensors and motor, because now I don't have the Edimax device (is still in transit, i bought it from amazon).

md5 sum missmatch after runing .launch files

Maybe its useless ti ask for help here but i give it a try
So anyway my problem is that after i ssh to my ev3 and strat the ev3_manager and then i launch a launch file from my PC i get md5sum mismatch on my ev3 and its disconnected for this
This is what i get on my ev3 :
root@Targonca:~# ev3_manager
Port: in4
Mode: angle
Publish rate: 10
getFilePTR opening: /sys/class/lego-sensor/sensor0/driver_name 0x597a0
str:lego-ev3-gyro
Str No: 0:lego-ev3-color
Str No: 1:lego-ev3-gyro<---
Driver Name: 3
[ERROR] [1455389241.402820121]: client wants service /Targonca/controller_manager/switch_controller to have md5sum b29a7abc673b2c54c14b54e50f8d06a5, but it has 5e857dedf71d6f337975e15a1e7cfdd8. Dropping connection.
[ERROR] [1455389241.504548829]: client wants service /Targonca/controller_manager/switch_controller to have md5sum b29a7abc673b2c54c14b54e50f8d06a5, but it has 5e857dedf71d6f337975e15a1e7cfdd8. Dropping connection.

and this is what i get on my PC:
kristof@kristof-MS-7D22:~/catkin_ws$ roslaunch h4r_ev3_launch gyro.launch ev3_hostname:=Targonca
... logging to /home/kristof/.ros/log/1926c4a8-79a3-11ee-8e54-39cccc692a25/roslaunch-kristof-MS-7D22-35470.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.

started roslaunch server http://kristof-MS-7D22:35493/

SUMMARY

PARAMETERS

  • /Targonca/Ev3Gyro/frame_id: gyro_link
  • /Targonca/Ev3Gyro/mode: angle
  • /Targonca/Ev3Gyro/port: in4
  • /Targonca/Ev3Gyro/publish_rate: 10
  • /Targonca/Ev3Gyro/topic_name: /gyro
  • /Targonca/Ev3Gyro/type: h4r_ev3_control/E...
  • /rosdistro: noetic
  • /rosversion: 1.16.0

NODES
/Targonca/
ev3_sensor_spawner (controller_manager/spawner)

ROS_MASTER_URI=http://localhost:11311

process[Targonca/ev3_sensor_spawner-1]: started with pid [35484]
[INFO] [1698946449.975530]: Controller Spawner: Waiting for service controller_manager/load_controller
[INFO] [1698946449.982464]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1698946449.990141]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1698946449.997544]: Loading controller: Ev3Gyro
[INFO] [1698946454.222610]: Controller Spawner: Loaded controllers: Ev3Gyro
Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 509, in call
transport.connect(dest_addr, dest_port, service_uri)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 569, in connect
self.read_header()
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 664, in read_header
self._validate_header(read_ros_handshake_header(sock, self.read_buff, self.protocol.buff_size))
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 607, in _validate_header
raise TransportInitError("remote error reported: %s"%header['error'])
rospy.exceptions.TransportInitError: remote error reported: client wants service /Targonca/controller_manager/switch_controller to have md5sum b29a7abc673b2c54c14b54e50f8d06a5, but it has 5e857dedf71d6f337975e15a1e7cfdd8. Dropping connection.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/opt/ros/noetic/lib/controller_manager/spawner", line 219, in
if name == 'main': main()
File "/opt/ros/noetic/lib/controller_manager/spawner", line 211, in main
resp = switch_controller(loaded, [], 2, False, 0.0)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 442, in call
return self.call(*args, *kwds)
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 512, in call
raise ServiceException("unable to connect to service: %s"%e)
rospy.service.ServiceException: unable to connect to service: remote error reported: client wants service /Targonca/controller_manager/switch_controller to have md5sum b29a7abc673b2c54c14b54e50f8d06a5, but it has 5e857dedf71d6f337975e15a1e7cfdd8. Dropping connection.
[INFO] [1698946454.337269]: Shutting down spawner. Stopping and unloading controllers...
[INFO] [1698946454.338138]: Stopping all controllers...
[WARN] [1698946454.353906]: Controller Spawner error while taking down controllers: unable to connect to service: remote error reported: client wants service /Targonca/controller_manager/switch_controller to have md5sum b29a7abc673b2c54c14b54e50f8d06a5, but it has 5e857dedf71d6f337975e15a1e7cfdd8. Dropping connection.
[Targonca/ev3_sensor_spawner-1] process has died [pid 35484, exit code 1, cmd /opt/ros/noetic/lib/controller_manager/spawner Ev3Gyro __name:=ev3_sensor_spawner __log:=/home/kristof/.ros/log/1926c4a8-79a3-11ee-8e54-39cccc692a25/Targonca-ev3_sensor_spawner-1.log].
log file: /home/kristof/.ros/log/1926c4a8-79a3-11ee-8e54-39cccc692a25/Targonca-ev3_sensor_spawner-1
.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
i don't know what is the problem my bet is on the ros version (using noetic ubuntu 20.04.06) but i'm not sure i hope you could help me or just say what version of ros should i use

Fix example launch files

Hello.

I am trying to start motor with using motor.launch which is provided as an example. But it does not work for me. Actually, I've already checked closed thread #2 and #6, but I am still confusing.

My situation is the follwoings:

  1. My PC and ev3 can communicate vis ssh.
  2. ultrasonic.launch works. I could see the value from ultrasonic sensor.

I compiled every packages which provided in "Hacks4ROS/h4r_ev3_ctrl " in my PC. So, I am thinking that
it is possible that when I run "roslaunch motors.lauch", "h4r_ev3_manager" in my PC is started.

When I do "rosnode list", I can see "/ev3dev/ev3_manager_node", but the following command does not work.
rostopic pub /ev3dev/OutPortA/command std_msgs/Float64 "data: 5.0"

Do I need to modify "motors.launch" according to my environment? I need a hint.

Thank you.

md

EV3 Brick doesn't start up with H4R Yocto Image

Hi, I'm trying to follow the tutorial provided by README and make an SD card image for EV3, but I cannot make it work.

I was able to complete Getting Started, Download and Creating partitions steps and then extracted archive files, but I can't make the brick load anything. What I get is H4R boot logo and nothing happens after that, so I need to shut the brick down.

Create two partitions on your SD Card, one FAT16 with 48 MB, and a secondary one with the rest of your card. The second one should at least have 1 GB, because the root file system is currently about 900 MB.

Can the problem be caused by filesystems I have on the partitions? For now I have tried ext4 and Mac OS Extended (Case-sensitive, Journaled) for the root but it didn't make it. The partitions are 50 MB and 4 GB respectively, I'm not sure if I can specify some mount points and if it has anything to do with it.

If this makes any sense, my Brick info is:

Brick HW:
  V0.60
Brick FW:
  V1.09H

Would be great to get any assistance or feedback. Thanks!

Motors not moving

Hello,
I installed the packages to control ev3 then I launched the motors but it doesn't work. I did everything that is mentioned in Geting Started but I can't seem to move my motors. I have tried to use the touch sensor and I can see the incoming data on my pc when I press the sensor.

rostopics:
/ev3dev/OutPortA/command
/ev3dev/OutPortB/command
/ev3dev/joint_states
/rosout
/rosout_agg
/statistics
/touch

what command should I be sending? I saw the rostopic pub /ev3dev/OutPortA/command std_msgs/Float64 "data: 5.0" command but this doesn't seem to make my motors move

failed to run catkin_make

Hi. I am running ROS indigo on ubuntu 14.04. After downloading this package, whenever i run catkin_make i get the following error:

In file included from /home/chua/catkin_ws/src/h4r_ev3_ctrl-develop/h4r_ev3_manager/src/h4r_ev3_manager/Ev3HardwareInterface.h:34:0,
                 from /home/chua/catkin_ws/src/h4r_ev3_ctrl-develop/h4r_ev3_manager/src/h4r_ev3_manager/Ev3HardwareInterface.cpp:23:
/home/chua/catkin_ws/src/h4r_ev3_ctrl-develop/h4r_ev3_manager/include/h4r_ev3_joint_setup/ev3_joint_settings_interface.h: In member function ‘bool ev3_control::Ev3JointInterface::ControllerChange(const std::list<hardware_interface::ControllerInfo>&)’:
/home/chua/catkin_ws/src/h4r_ev3_ctrl-develop/h4r_ev3_manager/include/h4r_ev3_joint_setup/ev3_joint_settings_interface.h:109:57: error: ‘const struct hardware_interface::ControllerInfo’ has no member named ‘resources’
    for (std::set<std::string>::const_iterator res = it->resources.begin(); res != it->resources.end(); res++)
                                                         ^
/home/chua/catkin_ws/src/h4r_ev3_ctrl-develop/h4r_ev3_manager/include/h4r_ev3_joint_setup/ev3_joint_settings_interface.h:109:87: error: ‘const struct hardware_interface::ControllerInfo’ has no member named ‘resources’
    for (std::set<std::string>::const_iterator res = it->resources.begin(); res != it->resources.end(); res++)

i have little experience with cpp and ros. Are there any additional files that i need to download to make running catkin_make possible?

Cannot roslaunch motors.launch

Hello,
for a project at my university i'm trying to get ROS running on EV3. After some problems i got Yocto booted on the roboter and a wifi connection with my laptop. But now i have the problem, that i cannot roslaunch motors. launch; here is the terminal code:

johnny@johnny-ThinkPad-E560:~/catkin_ws/src/h4r_ev3_ctrl/h4r_ev3_launch/launch$ roslaunch motors.launch
... logging to /home/johnny/.ros/log/5b624bf0-7a76-11e6-9a47-dc5360e3e6c1/roslaunch-johnny-ThinkPad-E560-11331.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

[motors.launch] requires the 'ev3_hostname' arg to be set
The traceback for the exception was written to the log file

i also tried to set the hostname manually in the .launch but then he cannot find the ressource h4r_ev3_launch

I would really appreciate a little guide so i can also control the EV3 with my Remote Controller (like in your Youtube Video).

Thank you for your help!

EV3Dev Supported Ralink WIFI Dongle not detected by yocto image

Hi,
I'm trying to get my Ralink WIFI dongle to work on the h4r_ev3_ctrl image and it's not being recognised when I run connmanctl. I know the dongle works perfectly on EV3DEV when I use the original image but not the h4r_ev3_ctrl one despite being listed as a supported dongle

lsusb
Bus 001 Device 003: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 2109:2811 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
lsmod
Module                  Size  Used by
bnep                    7847  2
usb_f_eem               4645  1
g_ether                 1731  0
usb_f_rndis            12078  2 g_ether
u_ether                10543  3 usb_f_eem,usb_f_rndis,g_ether
libcomposite           34414  3 usb_f_eem,usb_f_rndis,g_ether
configfs               22996  4 usb_f_eem,usb_f_rndis,libcomposite
hci_uart               12876  1
bluetooth             245851  21 bnep,hci_uart
rt2800usb              16789  0
rt2800lib              69093  1 rt2800usb
rt2x00usb               7702  1 rt2800usb
rt2x00lib              33164  3 rt2x00usb,rt2800lib,rt2800usb
suart_emu              23353  0
mac80211              310940  3 rt2x00lib,rt2x00usb,rt2800lib
snd_legoev3             6504  0
snd_pcm                63482  1 snd_legoev3
snd_timer              16907  1 snd_pcm
cfg80211              206697  2 mac80211,rt2x00lib
snd                    35611  3 snd_timer,snd_pcm,snd_legoev3
soundcore                676  1 snd
rfkill                 11201  4 cfg80211,bluetooth
legoev3_ports          14938  0
legoev3_motor           7156  1 legoev3_ports
lego_bus                2814  2 legoev3_motor,legoev3_ports
lego_port_class         2715  1 legoev3_ports
tacho_motor_class       9880  1 legoev3_motor
legoev3_battery         2174  0
dc_motor_class          6293  1 tacho_motor_class
legoev3_analog          7440  2 legoev3_battery,legoev3_ports
legoev3_bluetooth       2116  0

connmanctl 
connmanctl> services
* R Wired                gadget_4ef565a914c0_usb

connmanctl> scan wifi
Error /net/connman/technology/wifi: No carrier

connmanctl> technologies 
/net/connman/technology/gadget
  Name = Gadget
  Type = gadget
  Powered = True
  Connected = True
  Tethering = False
/net/connman/technology/bluetooth
  Name = Bluetooth
  Type = bluetooth
  Powered = False
  Connected = False
  Tethering = False
/net/connman/technology/wifi
  Name = WiFi
  Type = wifi
  Powered = True
  Connected = False
  Tethering = False

What can the problem be?

Thanks

joint_state topic value not accurate

Hello~! I've been making my ev3 autonomous using ROS. I used motors.launch so that I could use the topics which I can make my ev3 move(outPortA(B)/command) and construct odometry information(joint_states).
motors.launch worked successfully but I have an issue. When I publish minus value to /ev3dev/outPortA(B)/command, joint_state position and velocity value increase. This makes me hard to make node for odometry.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.